服务管理 微服务框架中的,服务治理部分。

Tao Zhang e77c3a24a8 修复客户端工具类缺陷 преди 5 години
demo 2c5472afe5 添加golang封装 преди 5 години
proto 3588b5a244 添加ocr调用demo преди 5 години
proto_src 2c5472afe5 添加golang封装 преди 5 години
server f9cdc02074 清理逻辑完善 преди 5 години
tools 3588b5a244 添加ocr调用demo преди 5 години
util e77c3a24a8 修复客户端工具类缺陷 преди 5 години
.gitignore fa1cfcf0ed 目录清理 преди 5 години
README.md 13b043e788 添加ptyhon 示例 преди 5 години
go.mod c179da8a93 目录结构调整 преди 5 години
go.sum c179da8a93 目录结构调整 преди 5 години
servicerd.go 5a877b2fc6 添加包文件 преди 5 години

README.md

基于GRPC的服务管理体系
其中心跳跟踪、服务消费者与服务管理端采用GRPC的双向流式服务。

角色

  • 服务管理
  • 服务提供者
  • 服务消费者

架构

            服务管理
          /        \  
  服务提供者    -     服务消费者

功能矩阵

服务管理

  • 注册
  • 执行单元管理
  • 注销
  • 生命周期,心跳检测
  • 均衡负载
    1. 随机
    2. 轮训 (资源占用满负荷时,会导致无服务可用)
    3. 按服务器资源分配
  • 服务资源占用超时,自动回收(默认客户端自动释放)

服务提供者

  • 注册,告知有多少个服务单元
  • 注销
  • 心跳支持

服务消费者

  • 申请服务
  • 释放归还服务
  • 调用服务

使用说明

Go proto协议生成脚本

protoc -I ./proto_src --go_out=plugins=grpc:./proto proto_src/serverload.proto

服务提供者

除了要实现自身业务服务外,需要开辟新线程,定时远程调用GRPC服务,实现服务心跳响应。
采用客户端流式调用方式,可参考DEMO

服务消费者

需要通过GRPC连接服务治理服务,获取服务提供者的地址。
用于获取最优地址。

示例代码

golang

见demo 目录

python

https://app.yhyue.com/zhp/servicerd_demo_python