为实时应用打造的高性能后端生态
三层架构 · MIT 基础库 · AGPL 框架 · 企业级套件,从原型到生产一站式支持
一键安装
go get github.com/aiyang-zh/zhenyi-base
快速上手
以下示例均可直接复制运行,go run main.go 即可
zserver
3 步启动,收到什么回什么。另开终端运行 go run ./examples/echodemo/client/main.go 即可验证
package main
import (
"fmt"
"github.com/aiyang-zh/zhenyi-base/zserver"
)
func main() {
s := zserver.New(zserver.WithAddr(":9001"))
s.Handle(1, func(req *zserver.Request) {
fmt.Printf("收到: %s\n", string(req.Data()))
req.Reply(1, req.Data())
})
s.Run()
}
zqueue · 零依赖
MPSC 多生产者单消费者队列,不拉入任何第三方依赖
package main
import "github.com/aiyang-zh/zhenyi-base/zqueue"
func main() {
q := zqueue.NewMPSCQueue[int](1024)
q.Enqueue(42)
q.Enqueue(100)
val, ok := q.Dequeue() // 42, true
val2, _ := q.Dequeue() // 100, true
}
zpool · 零依赖
按类型池化对象,减少 GC,支持任意 T
package main
import "github.com/aiyang-zh/zhenyi-base/zpool"
type MyObject struct{ Data []byte }
func main() {
pool := zpool.NewPool(func() *MyObject {
return &MyObject{Data: make([]byte, 0, 1024)}
})
obj := pool.Get()
defer pool.Put(obj)
obj.Data = append(obj.Data, 'H', 'i')
}
三层生态
商业 企业套件
敬请期待