Michael Nygard 失败来临的征兆
基本上从经验上总结了系统的各个开发阶段可能出现的问题,qa并不能完全保证系统的可靠性,线上的情况很多时候无法预测,
所有着一些的Fault/Failture的预防方式给出了很多有益的建议,关键点是
尽可能完善的测试,
控制错误传播的范围,
降低服务间的耦合性以及服务间的依赖关系,
在SOA的体系中要有所谓的严重错误Breaker机制来预防蝴蝶效应带来的一系列严重后果。
另外举的一个服务压力由于突发性事件而导致的整个系统后端处理能力不足的问题,我想这也和bluedavy之前twitter里提到的的QOS不谋而合。
Paul King 动态语言的敏捷开发实践
总结了比较好的语言开发中的包括设计模式、语言特性等等开发方面的问题,但提出的解决方案groovy个人而言觉得思想上在现阶段的企业开发中还有所欠缺。
groovy也许可以提供更高速、敏捷的开发方式(或许在将来会是一个所有语言发展的趋势),但他依然存在动态语言的一个不容回避的问题-性能,尤其在企业SOA服务化的进程中,性能往往比较重要。paul在Q&A环节也遭遇到了这一问题,他也非常委婉的表达了动态语言的强项主要在敏捷开发上,同时底层依赖于java的服务,如果有必要则可以改写成java。
其实现有的企业解决方案中已经有了比较适合的方案,比如Cython之于python在豆瓣上的应用,又比如hiphop-php之于php在facebook的应用,虽然目前的应用面不广,语言跨度也仅局限于php和c++,但理念比较实用:动态语言编写,编译成静态语言和对应的字节码运行。这种理念即有了动态语言的灵活快速迭代开发的特性,又有了编译语言的高速高效,同时在系统逐渐稳定需求沉淀后,进一步对生成的静态语言代码做进一步优化和编译即可。
系统架构与最佳实践及创新的关系,李伟
关键词:
架构师:强制技术约束
Operational Concept
设计最佳实践:
并发能力,队列和调度
容错能力,识别,检测,评估,恢复,掩盖

要说点啥就在这吧