Tars框架IDC分组和Set分组说明文档

简介

        tars的分组可实现跨地区、跨机房、环境隔离提供服务可用性。

IDC分组介绍

为了加快服务间的访问速度,建设跨地区、跨机房调用带来的网络资源消耗,减少网络故障带来的影响,框架提供了跨地区、跨机房,就近接入的功能。

说明

  • 按照IP地址的前三段定位出属于哪个具体的机房。
  • 被调服务属于哪个组的信息可以修改,如果不指定就按照IP段的规则来匹配。自动分组
  • 主调的出身已经决定了主调的物理组和逻辑组。
  • 被调的出身可修改,将影响主调调用的活动列表。
  • 是否启用IDC分组,完全取决于被调服务IP!!!

核心流程

  • 1.首先从数据库中检索出该服务所有的“活动列表”和“非活动列表”
  • 2.根据客户端IP得出调用者所处的物理组,假设为GROUP_A
  • 3.遍历“活动列表”,将属于GROUP_A的所有IP检索出来。如果找到了,将这些IP返回给客户端,并退出;否则进行第4步。
  • 4.按照t_group_priority定义的优先级,遍历所有逻辑组。如果在某个逻辑组中,发现了活动IP,则将这些IP返回给客户端,并退出;否则查找下一个逻辑组,如果在所有的逻辑组仍然没有找到活动IP,则进行第5步。
  • 5.遍历“活动列表”,将属于组“-1”,也就是将没有启动分组的IP检索出来。如果找到了,将这些IP反馈给用户。如果没有找到,则进行第6步。
  • 6.将从数据库中检索出的“活动列表”直接返回。

Set分组介绍

为了方便对业务服务部署管理进行标准化和容量化,框架提供了Set部署能力,set之间没有调用关系,互不干扰,故障隔离,提高运维效率和服务可用性

说明

  • Set名: 定义一个大的Set名称,可以以业务名称来定义。
  • Set地区:可以按照地区来对划分如n,b(南北),也可以以城市来分如sh(上海),sz(深圳)等。
  • Set组名:实际可以重复的组单元的名称,一般是 0,1,2,3,4,5,

核心流程

  • 1.主被调双方都要启用SET分组,并且SET全名要一致。
  • 2.SET内有被调的(不管死活),只能调用本SET内的。如果没有被调(死的也算有),则只能调用本地区的公共区域的,还没有的话,只能按照IDC分组原则调用未启用SET的。
  • 3.通配组服务可调用SET内和通配组的任何服务
  • 4.如果不满足1,则按照IDC分组逻辑调用。

调用关系

A服务调用结果B服务
set名Set地区Set组名set名Set地区Set组名
trustSZ1trustSZ1
×trustSZ2
×trustSZ*
×trustSH1
×trustSH1
trustSZ2×trustSZ1
trustSZ2
×trustSZ*
×trustSH1
×trustSH1
trustSZ*trustSZ1
trustSZ2
trustSZ*
×trustSH1
×trustSH1

IDC分组与Set分组的调用

A服务B服务规则
启用Set启用Set寻找在同一set的ip地址,如果同一个Set没有可用地址,则返回空
启用Set没启用Set/启用IDC按IDC分组的寻址返回地址
启用Set没启用Set/没启用IDC返回所有可用的地址
没启用Set启用Set/启用IDC按IDC分组的寻址返回地址
没启用Set启用Set/没启用IDC返回所有可用的地址
没启用Set没启用Set/启用IDC按IDC分组的寻址返回地址
没启用Set没启用Set/没启用IDC返回所有可用的地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值