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
即可。