讨论数量:
之前用过, 是个微服务框架,难度不算大,你说 QPS,这个跟 gozero 没什么关系吧,跟架构有关系。 gin 就是个简单的web框架,你甚至可以说gin就是个路由管理, 什么都没有,还要再次进行封装。 我就用 gin 封装了 owl 框架 owl-admin (权限那一套), 开源在 GitHub, 但是我没怎么去弄,这就是回答,后面是我的废话。
公司目前就是用的这套。我觉得还行,开发速度超快。 还是要有觉悟,单体开发比微服务简单太多了, 之前公司搞微服务,但是我发现根本没有必要上微服务,现在只要是我负责的项目,我都直接单体。 遇到性能问题也都是想办法(一般都是数据库)。但是如果你们业务比较大,那当我没说。
画红线的地方就是 owl-admin 提供,我的设计理念就是 子系统A,子系统B,子系统C, 然后其他项目都可以复用。用子系统载入的模式。 现在搞了 四五个项目,都是这样弄的。只需要管业务层。
package main
import (
_ "time/tzdata"
firefly "firefly-cloud/app"
metricsapp "bit-labs.cn/owl-metrics/app"
"bit-labs.cn/owl"
admin "bit-labs.cn/owl-admin/app"
cms "bit-labs.cn/owl-cms/app"
portal "bit-labs.cn/owl-portal/app"
sms "bit-labs.cn/owl-sms/app"
)
func main() {
owl.NewApp(
&portal.SubAppPortal{},
&cms.SubAppCms{},
&sms.SubAppSms{},
&firefly.SubAppFirefly{},
&metricsapp.SubAppMetrics{},
&admin.SubAppAdmin{},
).WebShell()
}
上面这个代码就是我拆的很多子系统 Portal 是管网 Cms 是内容管理, SMS 是短信, Meterics 是指标收集
回复这么累,必须插个广告
Firefly:AI Native Terminal(AI 原生终端)
关于 LearnKu
推荐文章: