Server基础概念
在Nunu中,我们将HTTP、GRPC、WebSocket、Task、Job等服务都抽象为Server。
go
type Server interface {
Start(context.Context) error
Stop(context.Context) error
}每个Server都必须实现Server接口中的方法,也就是Start(ctx)和Stop(ctx)
HTTP
HTTP服务,我们使用gin作为HTTP框架,gin的Engine实现了Server接口,因此,我们只需要将Engine作为Server即可。
Task
Task服务,我们使用cron作为Task框架,cron的Cron实现了Server接口,因此,我们只需要将Cron作为Server即可。
Job
Job服务,我们使用cron作为Job框架,cron的Cron实现了Server接口,因此,我们只需要将Cron作为Server即可。
Migration
Migration服务,我们使用migrate作为Migration框架,migrate的Migrate实现了Server接口,因此,我们只需要将Migrate作为Server即可。