基于及时反应的应用系统是软件系统近些年来的一个发展趋势(信息的价值随时间变久而价值降低),从设计上需符合Reactive宣言四大部分
1. 对事件反应
2. 对资源加载反应
3. 对失败反应
4. 对用户访问反应
通过宣言可以总结反思过去软件设计的一些教训,比如:
1. 在分布式系统中把状态做集中式地存储。(可用性、分区性受到挑战)
2. 把分布式系统中的一致性问题仅仅交给存储部分处理,如数据库。(应用的一致性对可用性、可扩展性能影响很大)
3. 应用模块之间信息传递强耦合 。(函数同步调用)
若要设计开发具有良好伸缩性、弹性、及时响应的应用系统需考虑以下3方面:
1. 清晰划分边界,提升应用程序模块内部凝聚力,解除模块间的强耦合,分布地存放不同上下文边界应用模块的状态。
2. 纵向考虑一致性问题,在应用系统所有层面考虑一致性处理。
3. 应用模块之间利用事件传递驱动,如利用actor模型或消息系统。
go reactive 宣言 http://www.reactivemanifesto.org
转载请说明出处:http://blog.csdn.net/ericgogh/article/details/24002137