- Practical Site Reliability Engineering
- Pethuru Raj Chelliah Shreyash Naithani Shailender Singh
- 313字
- 2021-06-10 19:08:03
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.
- 構(gòu)建高質(zhì)量的C#代碼
- 大數(shù)據(jù)技術(shù)基礎(chǔ)
- 電腦上網(wǎng)直通車
- 城市道路交通主動(dòng)控制技術(shù)
- JBoss ESB Beginner’s Guide
- 西門子S7-200 SMART PLC實(shí)例指導(dǎo)學(xué)與用
- 網(wǎng)絡(luò)組建與互聯(lián)
- Dreamweaver CS6精彩網(wǎng)頁(yè)制作與網(wǎng)站建設(shè)
- Windows安全指南
- 數(shù)據(jù)要素:全球經(jīng)濟(jì)社會(huì)發(fā)展的新動(dòng)力
- 運(yùn)動(dòng)控制系統(tǒng)(第2版)
- 步步驚“芯”
- 基于元胞自動(dòng)機(jī)的人群疏散系統(tǒng)建模與分析
- 從祖先到算法:加速進(jìn)化的人類文化
- 網(wǎng)絡(luò)安全原理與應(yīng)用