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

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.

主站蜘蛛池模板: 百色市| 巨野县| 舒兰市| 嘉鱼县| 罗甸县| 遵化市| 前郭尔| 大冶市| 南安市| 都匀市| 甘肃省| 河北区| 绥阳县| 永福县| 合作市| 图木舒克市| 海晏县| 格尔木市| 集贤县| 曲松县| 德保县| 西乡县| 邹平县| 都昌县| 三门峡市| 南和县| 龙井市| 永城市| 黄浦区| 新乡市| 商都县| 无极县| 鹰潭市| 柳林县| 新野县| 长泰县| 都安| 灵川县| 任丘市| 长丰县| 大洼县|