跳到主要内容

控制平面

本章节将介绍什么是控制平面。

简介

控制平面是 Go-Sail 提出的一种组件聚合管理方式。它旨在尽可能简化和屏蔽底层实现,并以高效聚合的方式为开发者提供清晰、便捷的调用方式。

在以往的版本中,实现某个功能时,开发者可能需要引用 Go-Sail 的不同组件库或包,使用起来较为繁琐且不直观。不过,这种情况正在逐步改善。

v3.0.6_rc5 版本起,这一理念得到了进一步强化。

以工具类为例,过去的用法通常需要编写如下代码:

main.go
import ( 
"github.com/keepchen/go-sail/v3/utils"
"github.com/keepchen/go-sail/v3/lib/jwt"
"github.com/keepchen/go-sail/v3/schedule"
)

func main() {
utils.RedisLocker().TryLock(...)
schedule.NewJob(...).Withoutoverlapping().Every(...)
jwt.SignWithMap(....)
}

v3.0.6_rc5 版本起,上述各个组件可以以更简洁的方式直接使用,如下所示:

main.go
import ( 
"github.com/keepchen/go-sail/v3/sail"
)

func main() {
sail.RedisLocker().TryLock(...)
sail.Schedule(...).Withoutoverlapping().Every(...)
sail.JWT().MakeToken(...)
}