复杂大系统需要对服务依赖关系进行管理

一个系统变得越来越复杂的时候,它必然大量的依赖外部系统和内部其他系统的服务才能达成业务目标,因此,这个时候,对服务依赖进行有效的管理才能提升服务的故障容忍度,这也是大系统小做的核心思路。

那么如何进行服务依赖管理呢?

1,首先,我们需要区分服务的强依赖和弱依赖关系,即区分关键路径和非关键路径。对弱依赖的设置开关

那么说明是强依赖呢?强依赖即若强依赖的该系统如果无法正常提供服务,则整个业务流程无法正常执行下去,那么即为强依赖关系,也就是说,强依赖关系是

服务基本正常运转的基本调用单元,而弱依赖则是锦上添花的功能,如消息触达服务等,该服务若无法 正常提供,只会使得服务没那么完美,当基本的核心流程能够

继续跑通。


2,对强依赖和弱依赖对应的消息进行区分为可靠消息和非可靠消息。

可靠消息必须通过系统的方式进行保障,使得关键服务能够进行,而对非可靠消息,则可以简单实现,丢了就丢了,使得整体系统的复杂度降低。


3,对弱依赖设置开关的目的是在极端资源瓶颈出现的时候,使得业务系统能够丢弃一些非核心服务从而保全更关键的服务提供选择。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...