为实时应用打造的高性能后端生态
三层架构 · 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')
}
性能基准
测试环境:darwin/arm64 · Apple M3 · Go 1.24+
Network Echo 压测 (msg/s)
核心组件基准 (ns/op,越低越好)
zqueue vs Channel:生产者数量对延迟的影响 (Medium 4096B, Batch)
数据与 zqueue-deep-dive 一致。复现:go test -bench=BenchmarkMatrix -benchmem ./zqueue/
三层生态
AGPL 应用框架
Actor 模型、网关、分布式通信、脚本引擎、空间邻近等核心能力。
zhenyi
商业 企业套件
敬请期待