美文网首页
分布式服务调用ServiceCaller(1)

分布式服务调用ServiceCaller(1)

作者: OneFish | 来源:发表于2016-08-22 15:00 被阅读211次

    ServiceCaller

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

    功能

    • 服务自动注册和发现
    • 基于hystrix的服务熔断和降级
    • 系统间服务调用
    • 服务监控
    • 网络拓扑(todo)
    • 服务管理,分组,降级等(todo)

    服务注册

    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上的服务(暂未实现)

    相关文章

      网友评论

          本文标题:分布式服务调用ServiceCaller(1)

          本文链接:https://www.haomeiwen.com/subject/dvqgsttx.html