springCloud(微服务的概念)1-1
微服務(wù)架構(gòu)是什么?
微服務(wù)架構(gòu)是一種架構(gòu)模式或者說(shuō)是一種架構(gòu)風(fēng)格,他提倡將單一的應(yīng)用程序劃分成一組小的服務(wù),每個(gè)服務(wù)運(yùn)行在其獨(dú)立的自己的進(jìn)程中,服務(wù)之間的互相協(xié)調(diào),相互配合,為用戶(hù)提供最終的價(jià)值。服務(wù)之間采用輕量級(jí)的通信機(jī)制相互溝通(通常是基于RESTful API)。每個(gè)服務(wù)都圍繞著具體業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立的部署到生產(chǎn)環(huán)境,類(lèi)生產(chǎn)環(huán)境等。另外,應(yīng)盡量避免同一的、集中式的服務(wù)服務(wù)管理機(jī)制,對(duì)具體的一個(gè)服務(wù)而言,應(yīng)根據(jù)業(yè)務(wù)上下文,選擇合適的語(yǔ)言,工具對(duì)其進(jìn)行構(gòu)建,可以有一個(gè)非常輕量級(jí)的集中式管理來(lái)協(xié)調(diào)這些服務(wù),可以使用不同的語(yǔ)言來(lái)編寫(xiě)服務(wù),也可以使用不同的數(shù)據(jù)存儲(chǔ)
?
微服務(wù)是什么?
強(qiáng)調(diào)的是個(gè)體
?
微服務(wù)的優(yōu)缺點(diǎn)?
?? 1) 優(yōu)點(diǎn)
1、每個(gè)服務(wù)足夠內(nèi)聚,足夠小,代碼容易被理解這樣能聚焦一個(gè)指定的業(yè)務(wù)或業(yè)務(wù)需求
2、開(kāi)發(fā)簡(jiǎn)單,開(kāi)發(fā)效率高,一個(gè)服務(wù)就是單一的只干一件事
3、微服務(wù)能夠被小團(tuán)隊(duì)開(kāi)發(fā)
4、微服務(wù)是松耦合的,是有功能意義的服務(wù),無(wú)論是開(kāi)發(fā)階段還是部署階段都是獨(dú)立的
5、微服務(wù)可以用不能的語(yǔ)言開(kāi)發(fā)
6、易與第三方集成,微服務(wù)語(yǔ)序容易且靈活的方式集成自動(dòng)部署,通過(guò)持續(xù)集成工具(jenkins,Hudson,bamboo)
7、微服務(wù)易于開(kāi)發(fā)人員理解,修改和維護(hù),這樣的小團(tuán)隊(duì)能夠更關(guān)注自己的工作成果,無(wú)需通過(guò)合作才能體現(xiàn)價(jià)值
8、微服務(wù)允許你利用融合最新技術(shù)
9、微服務(wù)只是業(yè)務(wù)邏輯的代碼,不會(huì)和css、html其它界面組合?
10、每個(gè)微服務(wù)都有自己的存儲(chǔ)能力,可以有自己的數(shù)據(jù)庫(kù),也可以有統(tǒng)一的數(shù)據(jù)庫(kù)
?? 2) 缺點(diǎn)
1、開(kāi)發(fā)人員要處理分布式系統(tǒng)的復(fù)雜性
2、多服務(wù)運(yùn)維難度,隨著服務(wù)增加,運(yùn)維的壓力也在增大
3、系統(tǒng)部署依賴(lài)
4、服務(wù)間通行成本
5、數(shù)據(jù)一致性
6、系統(tǒng)集成測(cè)試
7、性能監(jiān)控
?一個(gè)分布式的微服務(wù)架構(gòu),他需要有哪些維度?
服務(wù)開(kāi)發(fā) SpringBoot、Spring、SpringMVC 服務(wù)配置與管理 Netflix公司的Archaius、阿里的Diamind等 服務(wù)注冊(cè)與發(fā)現(xiàn) Eureka、Consul、Zookeeper等 服務(wù)調(diào)用 Rest、RPC、gRPC 服務(wù)熔斷器 Hystrix、Envoy等 負(fù)載均衡 Ribbon、Nginx等 服務(wù)接口調(diào)用(客戶(hù)端調(diào)用服務(wù)的簡(jiǎn)化工具) Feign等 消息隊(duì)列 Kafka、RabbitMQ、ActiveMQ等 服務(wù)配置中心管理 SpringCloudConfig、Chef等 服務(wù)路由(API網(wǎng)關(guān)) Zuul等 服務(wù)監(jiān)控 Zabbix、Nagios、Metrics、Spectator 全鏈路追蹤 Zipkin、Brave、Dapper等 服務(wù)部署 Docker、OpernStack、Kubernetes 數(shù)據(jù)流操作開(kāi)發(fā)包 SpringCloud Stream(封裝與Redis,Rabbit,Kafaka等發(fā)送接收消息) 事件消息總線 Spring Cloud Bus 為什么要使用springCloud? 選型依據(jù): 整體解決方案和框架成熟度 社區(qū)熱度 可維護(hù)性 學(xué)習(xí)曲線 當(dāng)前的IT公司用的微服務(wù)架構(gòu)有哪些 阿里Dubbo/HSF 京東JSF 新浪微博Motan 當(dāng)當(dāng)網(wǎng)Dubbox (Dubbo,springCloud) 各框架的對(duì)比? springCloud擁有完整的微服務(wù)框架?
轉(zhuǎn)載于:https://www.cnblogs.com/llcMite/p/11210103.html
總結(jié)
以上是生活随笔為你收集整理的springCloud(微服务的概念)1-1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [转载]eXeScope 6.50本地溢
- 下一篇: CentOS7完成mysql的安装和远程