前提场景:
存在一个服务A,会向服务B发送大量数据,称这个动作为a。服务B,会接受数据并做转发,称这个动作为b。动作a十分迅速,动作b比较缓慢。因为服务A是个集群,而且动作b需要另一服务C提供控制信息。(如下图)
现在问题来了,由于a很快b很慢,导致效率低下,若创建多个服务B,那么服务A、C也会受到“牵连”,若是再考虑到负载均衡......等等的话,这并不是一个长久之计。那么就需要一个管理 控制消息 与 分发的数据、管理多个B服务,且执行负载均衡策略的网关服务。
初步思路:
服务A会先向网关申请资源(想要请求到某个服务B),网关会根据某些策略,分析出自己下边的所有服务B中,哪个是“较为空闲”的,然后将这个服务B的“地址”发给服务A,之后服务A向这个服务B发送数据。当然,我们还必须将相应的控制信息发送给相应的服务B。图中,redis或A和网关相连的线表:控制、请求或应答消息,蓝色的线表示大量数据的通路。
目前工作不在这,以后再更新。