littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于Go语言的模块化服务框架

项目简介

本项目是一个基于Go语言的模块化服务框架,用于构建分布式微服务应用。借助该框架,开发者能轻松实现模块管理、事件驱动、定时任务以及插件管理等功能。框架支持HTTP和gRPC通信,集成了日志记录、性能分析和监控等实用功能,采用MVC架构,通过事件和消息驱动模块间的通信,提升了构建微服务应用的效率。

项目的主要特性和功能

  1. 模块管理:具备模块注册、初始化、清理和退出功能,采用单例模式确保只有一个模块管理器实例。
  2. 事件驱动:通过事件和消息驱动模块间的通信,为构建web应用提供完整框架。
  3. 定时任务:支持定时执行任务,可启动和停止定时任务。
  4. 插件管理:能够设置和管理插件,方便扩展系统或应用功能。
  5. 监控和度量:集成Prometheus监控和Metric,可有效监控和度量应用程序的性能。
  6. 安全性:支持分布式追踪和日志记录,提高应用的安全性和可追踪性。
  7. 模块化设计:支持模块化开发,各模块可独立开发和测试,增强代码的可维护性和可扩展性。

安装使用步骤

协议生成

  1. 下载协议,放置于pb目录。
  2. 创建pb_gen目录,执行命令: bash protoc --go_out=./pb_gen --go-grpc_out=./pb_gen pb/*.proto

发布(windows编linux可执行文件)

  1. 进入.\build\目录。
  2. 运行.\build-linux.bat

创建新模块

  1. 运行.\build\build.bat生成windows版本的工具。
  2. modules目录创建新的模块目录,如example
  3. 执行.\code-generator.exe自动生成模块代码。

启动服务与测试

  1. 启动 python文本分类服务
  2. 启动本服务./v2
  3. 启动./e2etest.exe,以并发100,qps5000+的速度请求服务器。
  4. 打开 statsviz 查看统计信息。

注意事项

  • 使用前请确保已安装Go语言的开发环境。
  • 根据项目需求,可能需要安装额外的依赖包,如Gin、Gin-Logger、Gin-Metrics等。
  • 框架的使用和配置需要一定的Go语言编程基础。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】