溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微服務(wù) springcloud

發(fā)布時間:2020-05-28 08:41:30 來源:網(wǎng)絡(luò) 閱讀:146 作者:16521544193 欄目:編程語言

微服務(wù)

微服務(wù)架構(gòu):是一種架構(gòu)模式,將一個應(yīng)用程序劃分為一組小的服務(wù),每個服務(wù)運行在自己單獨的進程中,服務(wù)之間通過HTTP的restful API相互溝通,相互協(xié)作、相互配合,為用戶提供最終服務(wù)。強調(diào)避免集中式、統(tǒng)一的服務(wù)管理機制。

微服務(wù)·:是一個個微小的服務(wù),強調(diào)的是服務(wù)的大小,狹義地說就是idea中一個個的model。將一個應(yīng)用程序拆分后的各個獨立模塊。


微服務(wù)就好比醫(yī)院中一個個獨立的科室,牙科、骨科、外科等。而這些獨立的科室就構(gòu)成了醫(yī)院,這就是微服務(wù)架構(gòu)。

1

為什么有微服務(wù)?


傳統(tǒng)的開發(fā),將一個應(yīng)用程序放在一個項目里面,打成一個war包,所有的模塊,例如:訂單、商品、交易、庫存等,都在一個項目里面,這種服務(wù)稱為巨石服務(wù)。All in one


這種架構(gòu)一旦某個模塊出問題,整個項目就會受到影響,甚至崩潰


分布式: 將一個服務(wù)應(yīng)用,拆分為各個模塊/服務(wù),將模塊獨立出來,單獨開發(fā)。各自有各自微小的進程,讓專業(yè)的人,專業(yè)的模塊做專業(yè)的事,讓分工更加明確。各個模塊獨立部署


這種架構(gòu),服務(wù)之間不會影響,哪個模塊出問題,受影響的只有那個模塊,其它模塊仍然可以工作。


微服務(wù)的作用

去耦合,各自的服務(wù)模塊可以擁有自己的數(shù)據(jù)庫,通過springcloudconfig,進行配置共同協(xié)作,各個模塊可以單獨的啟動和銷毀,類似于進程的概念。


微服務(wù)的優(yōu)缺點

優(yōu)點: 微服務(wù)讓分工更加明確,開發(fā)效率提高。松耦合,代碼更容易理解,部署靈活,可以接納新的技術(shù),擴展性好。

缺點: 開發(fā)人員要理解分布式系統(tǒng)的復(fù)雜性,隨著服務(wù)的增多,運維難度壓力增大。微服務(wù)之間的通信成本,依賴部署,數(shù)據(jù)的一致性如何保證,龐大的應(yīng)用如何集成測試,如何監(jiān)控性能…


微服務(wù)技術(shù)棧

微服務(wù)技術(shù)棧: 多種技術(shù)的集合體。


?我們在討論一個分布式微服務(wù)的架構(gòu)的話,它需要有哪些維度


一個分布式微服務(wù)的架構(gòu) E時代下的數(shù)字化生活

服務(wù)治理(Dubbo等) 手機(HUAWEI等)

服務(wù)注冊(Zookeeper等) 電腦(lenovo等)

服務(wù)調(diào)用 路由器

服務(wù)負載均衡(nginx) 充電寶

服務(wù)監(jiān)控 智能音箱

…… ……

SpringCloud 提供以上技術(shù)的集合 小米科技都可以提供以上服務(wù)

微服務(wù)技術(shù)棧有哪些?微服務(wù)框架案例:www.b123.com


微服務(wù)條目 落地技術(shù) 備注

服務(wù)開發(fā) Springboot、Spring、SpringMVC

服務(wù)配置與管理 Netfix公司的Archaius、阿里的Diamond

服務(wù)注冊與發(fā)現(xiàn) Eureka、Consul、Zookeeper等

服務(wù)調(diào)用 Rest、RPC、gRPC?

服務(wù)熔斷 Hystrix、Envoy等

負-載-均-衡 Ribbon、Nginx等

服務(wù)接口調(diào)用(客戶端調(diào)用服務(wù)的簡化工具) Feign等

消息隊列 Kafka、RabbitMQ、ActiveMQ等

服務(wù)配置中心管理 SpringCloudConfig、Chef等

服務(wù)路由(API網(wǎng)關(guān)) Zuui等

服務(wù)監(jiān)控 Zabbix、Nagios、Metrics、Spectator等

全鏈路追蹤 Zipkin、Brave、Dapper等

服務(wù)部署 Docker、OpenStack、Kubernetes等

數(shù)據(jù)流操作開發(fā)包 SpringCloud Stream(封裝與Redis、Rabbit、Kafka等發(fā)送接收消息)

事件消息總線 SpringCloud Bus

為什么選SpringCloud

與其它分布式微服務(wù)框架進行對比,它社區(qū)活躍度高,阿里的Dubbo已經(jīng)五年沒有維護了,現(xiàn)在HSF(High Speed Framework)
支持的微服務(wù)條目多


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI