大型分布式网站架构设计与实践 第一章《面向服务的体系架构(SOA)》
第一章 面向服務的體系架構(SOA)?
伴隨著互聯網的快速發展和演進,不斷變化的商業環境所帶來的五花八門、無窮無盡的業務需求,使得原有的單一應用架構越來越復雜,越來越難以支撐業務體系的發展,因此,系統拆分便成了不可避免的事情,由此演變為垂直應用架構體系。
垂直應用架構解決了單一應用架構所面臨的擴容問題,流量能夠分散到各個子系統當中,且系統的體積可控,一定程度上降低了開發人員協同和維護的成本,提升了開發效率。
但是,當垂直應用越來越多,達到一定規模時,應用之間相互交互,相互調用不可避免。否則,不同系統之間存在著重疊的業務,容易形成信息孤島,重復造輪子。此時,相對核心的業務會被抽取出來,作為單獨的系統對外提供服務,達成業務之間相互復用,系統也因此演變為分布式應用架構體系,如圖1-1所示。
分布式應用架構所面臨的首要問題,便是如何實現應用中的遠程調用(RPC) ,基于HTTP協議的系統間的RPC,具有使用靈活性,實現便捷(多種開源的web服務器支持),開放(國際標準)且天生支持異構平臺之間的調用等優點,得到了廣泛的使用。與之相對應的是基于TCP協議的實現版本,它效率更高,但實現起來更加繁瑣,由于協議和標準的不同,難以進行跨平臺和企業間的便捷通訊。當服務越來越多時,使得原來基于F5、LVS等負載均衡策略、服務地址管理和配置變得相當復雜和繁瑣,單點的壓力也變得越來越大。服務的動態注冊和路由、更加高效的負載均衡的實現,成為了亟待解決的問題。
本章主要介紹和解決以下問題,這些也是全書的基礎:
- HTTP協議的工作方式與HTTP網絡協議棧的結構。
- 如何實現基于HTTP協議和TCP協議的RPC調用,它們有何差別,分別適用何種場景。
- 如何實現服務的動態注冊和路由,以及軟負載均衡的實現。
總結
以上是生活随笔為你收集整理的大型分布式网站架构设计与实践 第一章《面向服务的体系架构(SOA)》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven web项目build失败
- 下一篇: jQuery-1.9.1源码分析系列(六