從零開始搭建輕量級微服務架構,某開源框架創始人帶你走完全程

前言

我們認爲,微服務是一個靈活的技術架構,它不能綁定在特定的技術平臺上,微服務不應該存在任何的侷限性,同時還要確保有較強的兼容性。

比如,雖然我們也使用Spring Boot開發微服務,但也允許使用其他更適合的開發框架或編程語言來實現微服務。再比如,我們目前通過ZooKeeper來實現服務註冊,但也能輕鬆地切換爲其他技術選型,對於整個應用程序而言,這些都是無感知的。微服務所提倡的理念就是,用最合適的技術以最高效的方式來解決實際應用中的問題。

經過兩年多的實踐過程,我們找到了一款能讓微服務架構快速且穩定落地的解決方案,並將此方案的核心內容彙集成本書,希望該方案能給微服務世界帶一點新的能量。本書將重點關注微服務基礎設施方面,其中大部分內容涉及微服務運維相關技術。全書以實踐的角度進行編寫,讀者首先將學習輕量級微服務架構的全景視圖,隨後的各個章節將圍繞微服務的日誌、監控、通信、解耦、測試、配置六大方面進行展開。讀者可親自動手,從零開始搭建輕量級微服務架構,充分享受架構探險的樂趣。

架構探險:輕量級微服務架構(下冊)

第1章:輕量級的微服務

本章將從宏觀上描述輕量級微服務架構。首先我們將從架構與架構師開始講起,簡單回顧架構演進的過程與微服務的發展趨勢。隨後我們將探討在搭建微服務架構之前需要準備的工作,認識微服務架構的“冰山模型”,介紹切分微服務邊界的方法和技巧。最後我們將從部署與運行兩個角度來觀察微服務架構,並以一幅架構全景圖來結束本章。

從零開始搭建輕量級微服務架構,開源框架創始人帶你走完全程


第2章:微服務日誌

本章將關注點放在微服務日誌上。首先我們將從Spring Boot日誌框架入手,使應用日誌可以輸出到Docker容器外部,以便我們可隨時查看日誌文件。隨後我們將學習Docker日誌驅動,使日誌信息輸出到Linux的Syslog 中。最後我們將Syslog 與ELK技術棧整合,搭建一款微服務的日誌中心。

從零開始搭建輕量級微服務架構,開源框架創始人帶你走完全程


第3章:微服務監控

本章將視角放在微服務監控方面。首先我們將學習Spring Boot應用程序自帶的監控特性,接着將介紹Spring Boot Admin開源監控系統的使用方法。隨後我們將集成InfluxDB、cAdvisor、Grafana等開源工具,搭建一款微服務的監控中心。最後我們將學習Zipkin 工具的使用方法,將其用於微服務的追蹤中心。

從零開始搭建輕量級微服務架構,開源框架創始人帶你走完全程


第4章:微服務通信

本章將圍繞微服務之間的通信來展開。首先我們將在Spring Boot 應用程序中實現基於HTTP的同步調用,同時我們也會對比Spring RestTemplate、 OkHttp、 Retrofit 等工具的使用方法。隨後我們將使用gRPC框架實現基於RPC的同步調用,並將gRPC與Spring Boot進行整合。最後我們將親自動手,搭建一款輕量級分佈式RPC框架。

從零開始搭建輕量級微服務架構,開源框架創始人帶你走完全程


第5章:微服務解耦

本章將使用消息隊列的異步方式來解耦微服務調用問題。首先我們將對比ActiveMQ與RabitMQ,它們是兩款經典的開源消息隊列。隨後我們將使用RabbitMQ來實現請求應答模式,並通過RabbitMQ來實現RPC同步調用。最後我們將使用Event-Sourcing 與MQ相結合,巧妙地解決分佈式事務問題。

從零開始搭建輕量級微服務架構,開源框架創始人帶你走完全程


第6章:微服務測試

本章將聚焦在微服務測試方面。首先我們將以Spring Boot應用程序爲例,分別針對Service層與REST API進行單元測試。隨後我們將使用Postman來充當REST API的測試工具,並結合Jenkins與Newman搭建一款REST API的自動化測試框架。最後我們將分別使用Swagger與.apiDoc工具來自動生成RESTAPI文檔,並比較這兩款工具的優缺點。

從零開始搭建輕量級微服務架構,開源框架創始人帶你走完全程


第7章:微服務配置

本章將解決微服務的配置參數問題。首先我們將通過- -些實例,快速學習Ansible 自動化運維工具的使用方法。隨後將Ansible作爲微服務的配置中心,並將Jenkins與Ansible相結合,可用於優化我們現有的微服務部署框架。最後我們將使用Registrator 所提供的自注冊特性,實現微服務的平滑升級目標。

從零開始搭建輕量級微服務架構,開源框架創始人帶你走完全程


限於平臺篇幅原因,同時也爲了大家更好的閱讀,小編把相關的資料都整理好了,有感興趣的朋友可以幫忙轉發後,關注私信回覆【學習】來獲取

從零開始搭建輕量級微服務架構,開源框架創始人帶你走完全程


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章