软件架构 - The Challenges of Latency延迟的挑战

引自:网络


1.零延迟是不存在的,不要以为分布式系统就能实现零延迟,不能消灭逃避,只能面对,通过引入异步来积极容忍延迟存在,这就象大禹治水,堵疏结合。

2.异步架构是将确定的响应转换为不确定的响应,很多人不适应,从应用业务中移除确定的request/response请求即时响应,是引入异步架构的关键。

3.您可以您的应用程序分解成一个收集松散耦合组件;使用异步接口实现您的服务。
分离数据库是一个坏主意,分离数据比分离应用更加复杂,Splitting data is more complex than splitting applications. 但是分离应用必须在系统开始就设计好,比如引入RESTful(banQ私语)。

切分数据Partitioning data带来的是事务机制,这就需要分布式两段事务2PC,分布式事务的问题是他们创造了在多个数据库之间的同步耦合,同步耦合是延迟容忍设计的敌人。The problem with distributed transactions is they create synchronous couplings across the databases. Synchronous couplings are the antithesis of latency tolerant designs.

4.替代ACID事务机制,有几个办法BASE:
Basically Available(基本可用)
Soft state
Eventually consistent
取每个名词第一个大写字母就是BASE架构。

你可能感兴趣的:(软件架构 - The Challenges of Latency延迟的挑战)