1. 微服務(wù)簡(jiǎn)介
1.1 什么是微服務(wù)架構(gòu)
- 微服務(wù)架構(gòu)是系統(tǒng)架構(gòu)上的一種設(shè)計(jì)風(fēng)格
- 將大系統(tǒng)拆分成N個(gè)小型服務(wù)
- 這些小型服務(wù)都在各自的線程中運(yùn)行
- 小服務(wù)間通過(guò)HTTP協(xié)議進(jìn)行通信
- 有自己的數(shù)據(jù)存儲(chǔ)、業(yè)務(wù)開(kāi)發(fā)、自動(dòng)化測(cè)試和獨(dú)立部署機(jī)制
- 可以由不同語(yǔ)言編寫(xiě)
小結(jié):微服務(wù)架構(gòu)的思想,不只是停留在開(kāi)發(fā)階段,它貫穿了設(shè)計(jì),研發(fā),測(cè)試,發(fā)布,運(yùn)維等各個(gè)軟件生命周期。
成都創(chuàng)新互聯(lián)主營(yíng)萬(wàn)全網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),萬(wàn)全h5微信小程序開(kāi)發(fā)搭建,萬(wàn)全網(wǎng)站營(yíng)銷(xiāo)推廣歡迎萬(wàn)全等地區(qū)企業(yè)咨詢(xún)
2. 架構(gòu)體系
架構(gòu)樣例:
2.1 微服務(wù)發(fā)布--持續(xù)集成
3. 微服務(wù)架構(gòu)九大特性
- 服務(wù)組件化
-- 組件是可獨(dú)立更換、升級(jí)的單元。就像PC中的內(nèi)存,CPU一樣。 - 按業(yè)務(wù)組織團(tuán)隊(duì)
-- 要求人員全棧技能 - 做“產(chǎn)品”的態(tài)度
-- 對(duì)整個(gè)產(chǎn)品生命周期負(fù)責(zé),而不是做“項(xiàng)目”交付態(tài)度 - 智能端點(diǎn)與啞管道
-- 微服務(wù)間的通訊方式:
--- HTTP的RESTful API
--- MessageMQ消息隊(duì)列- 去中心化治理
--不是每一個(gè)問(wèn)題都是釘子,不是每一個(gè)解決方案都是錘子。 - 去中心化數(shù)據(jù)管理
--獨(dú)立維護(hù)各服務(wù)數(shù)據(jù)存儲(chǔ),盡量使服務(wù)間“無(wú)事物”調(diào)用,通過(guò)補(bǔ)償機(jī)制維護(hù)數(shù)據(jù)一致性問(wèn)題 - 基礎(chǔ)設(shè)施自動(dòng)化
-- 自動(dòng)化測(cè)試
-- 自動(dòng)化部署 - 容錯(cuò)設(shè)計(jì)
-- 每個(gè)服務(wù)實(shí)現(xiàn)監(jiān)控和日志組件,比如服務(wù)狀態(tài),斷路器狀態(tài),吞吐量,網(wǎng)絡(luò)數(shù)據(jù)等關(guān)鍵數(shù)據(jù)儀表盤(pán) - 演進(jìn)式設(shè)計(jì)
--初期單體,逐步拆分,抽取公共組件
4. 微服務(wù)選型
Dubbo 是阿里多年構(gòu)建生產(chǎn)級(jí)分布式微服務(wù)的技術(shù)結(jié)晶,服務(wù)治理能力非常豐富,在國(guó)內(nèi)技術(shù)社區(qū)具有很大影響力,目前 github 上有超過(guò) 16k 星。Dubbo 本質(zhì)上是一套基于 Java 的 RPC 框架,當(dāng)當(dāng) Dubbox 擴(kuò)展了 Dubbo 支持 RESTful 接口暴露能力。
Dubbo 主要面向 Java 技術(shù)棧,跨語(yǔ)言支持不足是它的一個(gè)弱項(xiàng),另外因?yàn)橹卫砟芰μS富,以至于這個(gè)框架比較重,完全用好這個(gè)框架的門(mén)檻比較高,但是如果你的企業(yè)基本上投資在 Java 技術(shù)棧上,選 Dubbo 可以讓你在服務(wù)框架一塊站在較高的起點(diǎn)上,不管是性能還是企業(yè)級(jí)的服務(wù)治理能力,Dubbo 都做的很出色。
- 新浪微博開(kāi)源的 Motan(GitHub 4k stars)也不錯(cuò),功能和 Dubbo 類(lèi)似,可以認(rèn)為是一個(gè)輕量裁剪版的 Dubbo。
5. Spring Cloud 介紹
Spring Cloud技術(shù)棧提供了分布式系統(tǒng)和微服務(wù)中所需要的約大多數(shù)公共模塊和功能
Spring Cloud的出現(xiàn),可以說(shuō)是對(duì)微服務(wù)架構(gòu)巨大的支持和強(qiáng)有力的后盾
- 使用Spring Cloud就像直接購(gòu)買(mǎi)品牌機(jī)一樣,在Spring 社區(qū)的整合下,做了大量的兼容性測(cè)試,擁有更好的穩(wěn)定性。
6. Spring Cloud 版本管理
http://projects.spring.io/spring-cloud/
7. Spring Cloud 組件
- 微服務(wù)基礎(chǔ)
- 微服務(wù)構(gòu)建 Spring Boot
- 服務(wù)治理 Spring Cloud Eureka
- 客戶端負(fù)載均衡 Spring Cloud Ribbon
- 服務(wù)容錯(cuò)保護(hù) Spring Cloud Hystrix
- 聲明式服務(wù)調(diào)用 Spring Cloud Feign
- Api網(wǎng)關(guān)服務(wù) Spring Cloud Zuul
- 分布式配置中心 Spring Cloud Config
- 消息總線 Spring Cloud Bus
- 消息驅(qū)動(dòng)的微服務(wù) Spring Cloud Stream
- 分布式服務(wù)跟蹤 Spring Cloud Sleuth
網(wǎng)頁(yè)名稱(chēng):SpringCloud的微服務(wù)是什么
網(wǎng)站路徑:
http://weahome.cn/article/jjgdpd.html