近日有一個妹子向我求助RESTful API到底是個什麼東西。原因是她們公司一個新啓動的項目因爲RESTful API起了爭執。服務端同學堅持要用RESTful API,而前端同學則認爲服務端用RESTful API就會讓前端的調用變得更麻煩。最終爭議了一下午還是不了了之。有趣的是他們組的大部分人都不太瞭解REST是個什麼東西。
實際上一些抽象的東西是不如一些具體的技術好講解的,就像你給新人講面向對象一樣,這東西得靠時間,靠悟。我之前做過開放平臺API的項目。對於RESTful API還算有些瞭解。萬幸沒有丟人,口乾舌燥之後總算講明白一些。但這東西真正理解還得多悟、多思考、多練習。
今天帶來了福利,給大家分享我學習時候看的文檔,知識點還是比較全的,從分佈式系統系統的基礎理論到分佈式系統常用的技術以及經典的分佈式系統的案例分析。
文章內容
本書分爲三大部分,即分佈式系統基礎理論、分佈式系統常用技術以及經典的分佈式系統案例分析。
第一部分(1-2章)
主要介紹分佈式系統基礎理論知識,總結一些在設計分佈式系統時需要考慮的範式、知識點以及可能會面臨的問題,其中包括線程、通信、一致性、容錯性、CAP理論、安全性和併發等相關內容;同時講述分佈式系統的常見架構體系,其中也包括最近比較火的RESTful風格架構、微服務、容器技術等。
第1章:分佈式系統基礎知識
總結一些在設計分佈式系統時需要考慮的範式、知識點以及可能會面臨的問題,其中包括線程、通信、一致性、容錯性、CAP理論、安全性和併發等相關內容。
內容:
第2章:分佈式系統架構體系
包括傳統的基於對象的體系結構、SOA,也包括最近比較火的RESTful風格架構、微服務、容器技術、Serverless 架構等。
內容:
第二部分(3-8章)
主要列舉了在分佈式系統應用中經常用到的一些主流技術,並介紹這些技術的作用和用法;這些技術涵蓋了分佈式消息服務、分佈式計算、分佈式存儲、分佈式監控系統、分佈式版本控制RESTful、微服務、容器等領域的內容。
第3章:分佈式消息服務
介紹常用的分佈式消息服務框架,包括Apache ActiveMQ、RabbitMQ、 RocketMQ、Apache Kafka等。
內容:
第4章:分佈式計算
介紹分佈式計算理論和應用框架方面的內容,包括MapReduce、Apache Hadoop、Apache Spark、Apache Mesos等。
內容:
第5章:分佈式存儲
介紹分佈式存儲理論和應用框架方面的內容,包括Bigtable、Apache HBase、ApacheCassandra、Memcached、 Redis、 MongoDB 等。
內容:
第6章:分佈式監控
介紹分佈式監控方面常用的技術,包括Nagios、Zabbix、 Consul、ZooKeeper 等。
內容:
第7章:分佈式版本控制系統
介紹常用的分佈式版本控制工具,包括Bazaar、Mercurial. Git 等。
內容:
第8章:RESTful API、微服務及容器技術
介紹RESTful API、微服務及容器相關的技術,着重介紹Jersey、Spring Boot, Docker等技術的應用。
內容:
第三部分(9-10章)
選取了以淘寶網和Twitter爲代表的國內外知名互聯網企業的大型分佈式系統案例,分析其架構設計以及演變過程;這部分相當於是對第二部分零散的技術點做一個“串燒”,讓讀者可以結合技術的理論,看到實戰的效果。
第9章和第10章分別介紹以淘寶網和Twitter爲代表的國內外知名互聯網企業的大型分佈式系統案例,分析其架構設計以及演變過程。
內容: