分布式服务调用ServiceCaller(1)

2016-08-22  本文已影响211人  OneFish

ServiceCaller

ServiceCaller是基于Spring和依赖zookeeper托管服务的分布式服务注册和发现模块

功能

服务注册

  1. 通过spring容器获取所有的Controller
  2. 注册Controller到zookeeper的node中,同一服务的多个实例会存放在同一节点
  3. 服务名称默认为"系统name.methodName",group为系统name(系统name为使用时配置在配置文件),可通过@ZeuService.value()自定义服务名称,@ZeuService.group自定义group
  4. zk上的node路径为默认路径,当前配置为/tts/services

服务发现

  1. 通过服务名称获取zookeeper中的服务(http地址等信息)
  2. 通过负载均衡策略返回其中的一个实例

服务调用

  1. 服务调用使用了Hystrix和core包中的http client
  2. 实现Hystrix的run方法实现服务的调用和Hystrix的熔断、降级特性
  3. 服务监控目前是Hystrix的monitor,可自己实现

服务管理

  1. 通过注解@ZeuService或者配置实现服务调用时的分组隔离(灰度与正式环境,暂时未实现)
  2. 可通过接口修改注册在zookeeper上的服务(暂未实现)
上一篇下一篇

猜你喜欢

热点阅读