微服務 springcloud

微服務
微服務架構:是一種架構模式,將一個應用程序劃分爲一組小的服務,每一個服務運行在本身單獨的進程中,服務之間經過HTTP的restful API相互溝通,相互協做、相互配合,爲用戶提供最終服務。強調避免集中式、統一的服務管理機制。
微服務·:是一個個微小的服務,強調的是服務的大小,狹義地說就是idea中一個個的model。將一個應用程序拆分後的各個獨立模塊。ios

微服務就比如醫院中一個個獨立的科室,牙科、骨科、外科等。而這些獨立的科室就構成了醫院,這就是微服務架構。
1
爲何有微服務?nginx

傳統的開發,將一個應用程序放在一個項目裏面,打成一個war包,全部的模塊,例如:訂單、商品、交易、庫存等,都在一個項目裏面,這種服務稱爲巨石服務。All in onespring

這種架構一旦某個模塊出問題,整個項目就會受到影響,甚至崩潰數據庫

分佈式: 將一個服務應用,拆分爲各個模塊/服務,將模塊獨立出來,單獨開發。各自有各自微小的進程,讓專業的人,專業的模塊作專業的事,讓分工更加明確。各個模塊獨立部署restful

這種架構,服務之間不會影響,哪一個模塊出問題,受影響的只有那個模塊,其它模塊仍然能夠工做。架構

微服務的做用
去耦合,各自的服務模塊能夠擁有本身的數據庫,經過springcloudconfig,進行配置共同協做,各個模塊能夠單獨的啓動和銷燬,相似於進程的概念。app

微服務的優缺點
優勢: 微服務讓分工更加明確,開發效率提升。鬆耦合,代碼更容易理解,部署靈活,能夠接納新的技術,擴展性好。
缺點: 開發人員要理解分佈式系統的複雜性,隨着服務的增多,運維難度壓力增大。微服務之間的通訊成本,依賴部署,數據的一致性如何保證,龐大的應用如何集成測試,如何監控性能…負載均衡

微服務技術棧
微服務技術棧: 多種技術的集合體。框架

 咱們在討論一個分佈式微服務的架構的話,它須要有哪些維度運維

一個分佈式微服務的架構    E時代下的數字化生活
服務治理(Dubbo等)    手機(HUAWEI等)
服務註冊(Zookeeper等)    電腦(lenovo等)
服務調用    路由器
服務負載均衡(nginx)    充電寶
服務監控    智能音箱
……    ……
SpringCloud 提供以上技術的集合    小米科技均可以提供以上服務
微服務技術棧有哪些  微服務框架案例:www.b123.com

微服務條目    落地技術    備註 服務開發    Springboot、Spring、SpringMVC     服務配置與管理    Netfix公司的Archaius、阿里的Diamond     服務註冊與發現    Eureka、Consul、Zookeeper等     服務調用    Rest、RPC、gRPC(Google的)     服務熔斷    Hystrix、Envoy等     負載均衡    Ribbon、Nginx等     服務接口調用(客戶端調用服務的簡化工具)    Feign等     消息隊列    Kafka、RabbitMQ、ActiveMQ等     服務配置中心管理    SpringCloudConfig、Chef等     服務路由(API網關)    Zuui等     服務監控    Zabbix、Nagios、Metrics、Spectator等     全鏈路追蹤    Zipkin、Brave、Dapper等     服務部署    Docker、OpenStack、Kubernetes等     數據流操做開發包    SpringCloud Stream(封裝與Redis、Rabbit、Kafka等發送接收消息)     事件消息總線    SpringCloud Bus     –         爲何選SpringCloud,  與其它分佈式微服務框架進行對比,它社區活躍度高,阿里的Dubbo已經五年沒有維護了,如今HSF(High Speed Framework) 支持的微服務條目多 ————————————————

相關文章
相關標籤/搜索