Golang 实现的微服务框架 DMicro 发布 v1.1.0 版本

ClownFish · · 1189 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

Github地址: [https://github.com/osgochina/dmicro](https://github.com/osgochina/dmicro) ## 更新记录: 1. 替换 `dserver` 组件的命令行解析工具为 `Cobra` 组件。 2. `dserver` 组件中的 `ctrl` 命令替换为 `ctl` 3. `dserver` 组件中的 `rpc server option` 参数变成 `ServerName` 4. 取消 `endpoint` 与 `eventbus` 强关联。 5. 新增 `Metrics` 指标组件,支持统计运行指标。 6. 修复 `rpc client` 与 `rpc server` 中 `close` 报错的问题. 7. 移除 `EndpiontConfig` 中的 `CountTime` 参数,默认开启请求耗时统计。 8. 完善 `Rpc Server`,`Rpc Client`,`Metrics` 组件的使用文档。 ## 框架简介: DMicro 是一个高效、可扩展且简单易用的微服务框架。包含 DRPC,DServer 等多个组件。 其中 DRPC 组件是 rpc 框架,使用 `endpoint` 作为统一对象,为 `RPC Server`,`RPC Clinet` 提供统一的 API 封装。 ### DRPC 组件特性: 易于理解,科学合理的多层抽象。 `endpoint`,`session`,`handle`,`message`,`protoco`,`codec`,`transfer filter`,`plugin`. 支持常见的消息通讯协议 `json`,`prototbuf`,`http`,`jsronrpc`, 良好的抽象层让自定义消息协议变得简单快捷。 支持多种网络协议 `tcp`,`unix`,`kcp`,`quic`,`websocket` 等。。。 全生命周期的插件埋点 (多达 27 个埋点), 让插件系统能实现的功能丰富多彩。 内置 `auth`,`heartbeat`,`ignorecase`,`proxy`,`securebody` 等插件 依托丰富的插件埋点,抽象出易于使用的 `Event` 事件系统,让你的开发如虎添翼。 高性能的网络传输层,让性能不再是瓶颈。 客户端自动重拨。 配合 `DServer` 组件,实现优雅的平滑重启,让你的服务时刻在线。 配合 `Registry` 组件,实现服务注册。 `Registry` 组件抽象出合理的接口,方便接入多个服务注册中心,目前已实现 `etcd`,`mdns`。 配合 `Selector` 组件实现 `服务发现` 功能。 `DServer` 应用管理组件帮助大家封装好了应用的全生命周期管理。 ### DServer 组件特性: 采用 `server`,`service`,`sandbox` 三层结构。 让业务专注于 `sandbox` 层,支持单进程,多进程模式。做到开发 debug 单进程,运行单 / 多进程可选。 完善合理的启动命令封装,支持 `start`,`stop`,`reload`,`ctrl` 等命令。 不但支持 `drpc` 组件,还支持 `ghttp` 等实现平滑重启接口的其他组件 (如果不需要平滑重启,所有服务组件都支持) 好用的命令行管理功能,让你能实时的管理正在运行的应用。 完善的进程管理组件 `supervisor`, 支持对进程的全生命周期管理。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1189 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传