原文地址: 阿裡巴巴前架構師 360 度無死角剖析微服務 簡述 Microservices(微服務) 1. 一些辭彙和技術 1)微服務 敏捷開發模式 SOA 分散式服務 2)Spring MVC Zookeeper Dubbo Spring Cloud 3) 服務註冊中心 服務網關 OpenStac ...
原文地址: 阿裡巴巴前架構師 360 度無死角剖析微服務 簡述 Microservices(微服務) 1. 一些辭彙和技術 1)微服務 敏捷開發模式 SOA 分散式服務 2)Spring MVC Zookeeper Dubbo Spring Cloud 3) 服務註冊中心 服務網關 OpenStack 雲計算 RESTful 4) RPC 領域驅動的分析與設計方法(DDD) ESB 5)Spring Cloud Netflix Spring Boot 微信小程式 6)最終一致性 CQRS Event Sourcing 7)事務補償機制 熔斷機制 QPS 日誌聚合 8)AOP + 消息隊列 + strom 9)flume + Mq + strom 10)資料庫中間件 11)Kubernetes Mesos Docker Swarm 12)ID 生成策略 OSGi Spring RestTemplate 13)Retrofit 2. 隻言片語 1)【是否微服務】我以前做過微服務,基本框架是 Spring MVC,微服務之間和微服務與平臺之間的訪問是通過在 Zookeeper 上的 Dubbo 通訊的,請問這算是微服務嗎? 2)【架構範圍】微服務架構的範圍比較大,Dubbo 和 Spring Cloud 都只是解決了微服務的一部分問題,並未完全覆蓋 3)【Doctor】微服務一般都要用到 Docker 3. 核心思想(黃勇) 1)【微服務核心】我認為微服務的核心是:服務註冊中心(Service Registry)與服務網關(Service Gateway),它們配合完成服務註冊與服務發現。 2)【服務編排】將服務組合起來也成為“服務編排”,有多重做法,可以在服務網關中進行編排,也可以通過中間服務進行編排,我更傾向於後者,這樣確保服務網關不包含任何業務,更加輕量級。 3) 【應用場景】我認為在以下幾種情況下,可考慮使用微服務架構:
- 應用變得越來越大時
- 項目存在多種開發語言時
- 感覺到經典架構模式太重時
- 修改了一個 bug 需要平滑升級時
- 想對系統進行細粒度監控時