流程图说明:
①.首先将所有网关和服务注册到注册中心,并将链路标识以元数据的形式存放到注册中心,当前服务对应的链路标识首先从配置中心->服务配置->环境变量中逐层获取,直到获取到对应参数为止;
②.通过后管页面配置当前业务场景所需的服务链路和路由策略(根据不同条件命中不同的服务链路),并将路由策略推送到配置中心(参数中心);
③.配置中心将路由策略推送到对应网关内存中(即:渠道网关,会话网关,后管网关等)
④.在网关层引入业务路由组件, 业务路由组件一共分为两部分:第一部分是路由计算:计算当前请求命中哪一个服务链路,第二部分是服务过滤,发起RPC调用前,从注册中心获取下游服务的所有实例,根据服务链路找出相匹配的服务实例,并进行调用, 并将服务链路(JSON)放入RPC上下文中,透传至下层服务(层层传递,层层解析)
在服务层引入业务路由组件,只会用到路由组件中的第二部分,从RPC上下文中获取服务链路, 并从注册中心获取下游服务的所有实例,根据服务链路找出相匹配的服务实例,并进行调用, 再将服务链路(JSON)放入新的RPC调用的上下文中,透传至下层服务(层层传递,层层解析)