官术网_书友最值得收藏!

Reactive systems are highly reliable

Reactive systems fully comply with the reactive manifesto (resilient, responsive, elastic, and message-driven), which was contemplated and released by a group of IT product vendors. A variety of architectural design and decision principles are being formulated and firmed up for building most modernized and cognitive systems that are innately capable of fulfilling todays complicated yet sophisticated requirements. Messages are the most optimal unit of information exchange for reactive systems to function and facilitate. These messages create a kind of temporal boundary between application components. Messages enable application components to be decoupled in time (this allows for concurrency) and in space (this allows for distribution and mobility). This decoupling capability facilitates the much-needed isolation among various application services. Such a decoupling ultimately ensures the much-needed resiliency and elasticity, which are the most sought-after needs for producing reliable systems. 

Resilience is about the capability of responsiveness even under failure and is an inherent functional property of the system. Resilience is beyond fault-tolerance, which is all about graceful degradation. It is all about fully recovering from any failure. It is empowering systems to self-diagnose and self-heal. This property requires component isolation and containment of failures to avoid failures spreading to neighboring components. If errors and failure are allowed to cascade into other components, then the whole system is bound to fail.

So, the key to designing, developing, and deploying resilient and self-healing systems is to allow any type of failure to be proactively found and contained, encoded as messages, and sent to supervisor components. These can be monitored, measured, and managed from a safe distance. Here, being message-driven is the greatest enabler. Moving away from tightly coupled systems to loosely and lightly coupled systems is the way forward. With less dependency, the affected component can be singled out, and the spread of errors can be nipped in the bud.

主站蜘蛛池模板: 遵义县| 鄂托克旗| 綦江县| 中卫市| 蒲江县| 武平县| 年辖:市辖区| 综艺| 西充县| 昭平县| 唐山市| 崇左市| 清镇市| 土默特左旗| 平昌县| 长治县| 汝城县| 白朗县| 鄂托克旗| 南昌市| 腾冲县| 平果县| 北海市| 施秉县| 会理县| 周宁县| 公主岭市| 余姚市| 永和县| 利川市| 横峰县| 康平县| 桃源县| 涟水县| 盱眙县| 达日县| 库伦旗| 湟中县| 资溪县| 海淀区| 龙里县|