项目简介
本项目是一个基于Go语言的模块化服务框架,用于构建分布式微服务应用。借助该框架,开发者能轻松实现模块管理、事件驱动、定时任务以及插件管理等功能。框架支持HTTP和gRPC通信,集成了日志记录、性能分析和监控等实用功能,采用MVC架构,通过事件和消息驱动模块间的通信,提升了构建微服务应用的效率。
项目的主要特性和功能
- 模块管理:具备模块注册、初始化、清理和退出功能,采用单例模式确保只有一个模块管理器实例。
- 事件驱动:通过事件和消息驱动模块间的通信,为构建web应用提供完整框架。
- 定时任务:支持定时执行任务,可启动和停止定时任务。
- 插件管理:能够设置和管理插件,方便扩展系统或应用功能。
- 监控和度量:集成Prometheus监控和Metric,可有效监控和度量应用程序的性能。
- 安全性:支持分布式追踪和日志记录,提高应用的安全性和可追踪性。
- 模块化设计:支持模块化开发,各模块可独立开发和测试,增强代码的可维护性和可扩展性。
安装使用步骤
协议生成
- 下载协议,放置于
pb
目录。 - 创建
pb_gen
目录,执行命令:bash protoc --go_out=./pb_gen --go-grpc_out=./pb_gen pb/*.proto
发布(windows编linux可执行文件)
- 进入
.\build\
目录。 - 运行
.\build-linux.bat
。
创建新模块
- 运行
.\build\build.bat
生成windows版本的工具。 - 在
modules
目录创建新的模块目录,如example
。 - 执行
.\code-generator.exe
自动生成模块代码。
启动服务与测试
- 启动 python文本分类服务。
- 启动本服务
./v2
。 - 启动
./e2etest.exe
,以并发100,qps5000+的速度请求服务器。 - 打开 statsviz 查看统计信息。
注意事项
- 使用前请确保已安装Go语言的开发环境。
- 根据项目需求,可能需要安装额外的依赖包,如Gin、Gin-Logger、Gin-Metrics等。
- 框架的使用和配置需要一定的Go语言编程基础。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】