Skip to content

Commit

Permalink
及时响应(Responsive)
Browse files Browse the repository at this point in the history
  • Loading branch information
renfufei committed Mar 30, 2016
1 parent 1ecefe9 commit f6bb9ec
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions tiemao_2016/10_reactive_manifesto/reactive_manifesto.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Systems built as Reactive Systems are more flexible, loosely-coupled and scalabl

Responsive: The system responds in a timely manner if at all possible. Responsiveness is the cornerstone of usability and utility, but more than that, responsiveness means that problems may be detected quickly and dealt with effectively. Responsive systems focus on providing rapid and consistent response times, establishing reliable upper bounds so they deliver a consistent quality of service. This consistent behaviour in turn simplifies error handling, builds end user confidence, and encourages further interaction.

及时响应(Responsive): 系统采用及时响应的方式(如果可能的话)。响应性是可用性和效用的基石,但不止于此,响应性意味着问题可能会发现迅速和有效地处理。专注于提供快速响应系统和一致的响应时间,建立可靠的上界所以他们提供一致的服务质量。这种一致的行为反过来又简化了错误处理,建立终端用户的信心,并鼓励进一步互动。
**及时响应(Responsive)**: 系统采用及时响应的方式(如果可能的话)。响应性是可用性和效用的基石,但不止于此,响应性意味着问题可能会发现迅速和有效地处理。专注于提供快速响应系统和一致的响应时间,建立可靠的上界所以他们提供一致的服务质量。这种一致的行为反过来又简化了错误处理,建立终端用户的信心,并鼓励进一步互动。


Resilient: The system stays responsive in the face of failure. This applies not only to highly-available, mission critical systems — any system that is not resilient will be unresponsive after a failure. Resilience is achieved by replication, containment, isolation and delegation. Failures are contained within each component, isolating components from each other and thereby ensuring that parts of the system can fail and recover without compromising the system as a whole. Recovery of each component is delegated to another (external) component and high-availability is ensured by replication where necessary. The client of a component is not burdened with handling its failures.
Expand All @@ -42,12 +42,14 @@ Resilient: The system stays responsive in the face of failure. This applies not

Elastic: The system stays responsive under varying workload. Reactive Systems can react to changes in the input rate by increasing or decreasing the resources allocated to service these inputs. This implies designs that have no contention points or central bottlenecks, resulting in the ability to shard or replicate components and distribute inputs among them. Reactive Systems support predictive, as well as Reactive, scaling algorithms by providing relevant live performance measures. They achieve elasticity in a cost-effective way on commodity hardware and software platforms.

**弹性(Elastic)**: 不同工作负载下的系统仍然可以作出响应。反应系统可以应对变化的输入率增加或减少这些输入的资源分配服务.这意味着设计没有争用点或中央瓶颈,导致碎片的能力或复制组件和分发输入其中.反应系统支持预测,以及活性、缩放算法通过提供相应的现场表演措施.他们elasticity实现cost-effective in a way据commodity硬件和软件platforms。
**弹性(Elastic)**: 不同工作负载下的系统仍然可以作出响应。反应式系统可以应对变化的输入率增加或减少这些输入的资源分配服务.这意味着设计没有争用点或中央瓶颈,导致碎片的能力或复制组件和分发输入其中.反应式系统支持预测,以及活性、缩放算法通过提供相应的现场表演措施.他们elasticity实现cost-effective in a way据commodity硬件和软件platforms。


Message Driven: Reactive Systems rely on asynchronous message-passing to establish a boundary between components that ensures loose coupling, isolation, location transparency, and provides the means to delegate errors as messages. Employing explicit message-passing enables load management, elasticity, and flow control by shaping and monitoring the message queues in the system and applying back-pressure when necessary. Location transparent messaging as a means of communication makes it possible for the management of failure to work with the same constructs and semantics across a cluster or within a single host. Non-blocking communication allows recipients to only consume resources while active, leading to less system overhead.

消息驱动(Message Driven): 反应系统依赖于异步消息传递组件之间建立边界确保松散耦合、隔离、位置透明性,并提供委托错误消息的手段。采用显式消息传递支持负载管理,弹性,和流量控制通过塑造和监测系统中的消息队列和应用背压时必要的.位置透明的消息传递的通信使失败的管理工作具有相同结构和语义在集群或在一个主机.非阻塞通信允许收件人只消耗资源而活跃,导致更少的系统开销。
**消息驱动(Message Driven)**: 反应式系统依赖于异步消息传递, 来确定组件的边界, 确保松耦合(loose coupling)、隔离性(isolation)、位置透明性(location transparency), 并提供将错误代理为消息的手段。采用显式消息传递, 通过塑造和监测系统中的消息队列来支持负载管理, 弹性扩容(elasticity),和流量控制通过。

必要时和应用背压时必要的.位置透明的消息传递的通信使失败的管理工作具有相同结构和语义在集群或在一个主机.非阻塞通信允许收件人只消耗资源而活跃,导致更少的系统开销。


<img src="01_reactive-traits.svg" style="width: 600px;">
Expand All @@ -57,7 +59,7 @@ Message Driven: Reactive Systems rely on asynchronous message-passing to establi

Large systems are composed of smaller ones and therefore depend on the Reactive properties of their constituents. This means that Reactive Systems apply design principles so these properties apply at all levels of scale, making them composable. The largest systems in the world rely upon architectures based on these properties and serve the needs of billions of people daily. It is time to apply these design principles consciously from the start instead of rediscovering them each time.

大型系统是由较小的,因此取决于他们的选民的反应特性.这意味着反应系统各级应用设计原则所以这些属性应用的规模,使它们可组合.世界上最大的系统依赖架构基于这些属性和服务每天数十亿人的需要.是时候从一开始就有意识地应用这些设计原则而不是每次都重新发现他们
大型系统由小系统组成, 因此取决于其组成部分的反应特性. 这就是说 反应式系统()的设计原则应该应用到各个层级之中, 使得它们可以很好地进行组合. 世界上最大的系统需要依赖基于这些属性的架构, 并服务每天几十亿人的需要. 从一开始就应该有意识地应用这些设计原则, 而不要每次都等出问题了才知道这回事


> **说明:** `Reactive System` 翻译为 `反应式系统`,如果需要精确一点的话则是 `快速反应式系统`。如有更恰当的词汇,请留言!
Expand Down

0 comments on commit f6bb9ec

Please sign in to comment.