javascript
springcloud 消息队列_全面而且简洁介绍SpringCloud微服务
持續分享互聯網研發技術干貨,歡迎關注我。
Spring Cloud的目標是為Spring開發人員提供一套易于使用的工具來構建分布式系統。它主要通過包裝其他實現堆棧,從Netflix OSS堆棧開始。然后,這些堆棧將通過基于注釋的配置,Java配置和基于模板的編程的熟悉工具進行消耗。我們來看幾個Spring Cloud的組件。
Spring Cloud配置服務器
Spring Cloud Config Server(配置服務器)提供了可水平擴展的集中式配置服務。它使用可插拔存儲庫層作為其數據存儲,當前支持本地存儲,Git和Subversion。通過利用版本控制系統作為配置存儲,開發人員可以輕松地對配置更改進行版本化和審核。
配置表示為Java屬性或YAML文件。Config Server將這些文件合并到環境對象中,將對Spring屬性和配置文件的理解模型呈現為REST API。這個REST API可以直接由任何應用程序查詢來獲取配置數據,但可以將智能客戶端綁定添加到 Spring Boot 應用程序中,這些應用程序將自動協調任何本地配置與配置服務器接收的配置。
Spring Cloud總線
Spring Cloud Config Server是一種強大的機制,用于在一組應用程序實例中一致地分發配置。然而,就目前而言,我們目前僅限于在應用程序啟動時更新此類配置。將屬性的新值推送到Git后,我們需要手動重新啟動每個應用程序流程以獲取新值。我們想要的是在不重新啟動的情況下刷新應用程序配置的功能。
Spring Cloud Bus為您的應用程序實例添加一個管理背板。它目前被實現為客戶端綁定到一組AMQP交換和隊列,但這個后端也被設計為可插拔。Cloud Bus為您的應用程序添加了更多的管理端點。在圖中,我們看到上POST到App A的/bus/refresh端點的一個請求,由此獲得Git的greeting屬性新值。此請求觸發三個事件:
Spring Cloud Netflix
Spring Cloud Netflix提供了幾個Netflix組件的封裝:Eureka,Ribbon,Hystrix和Zuul。下面依次討論這些。
Eureka是一個有彈性的服務注冊表實現。服務注冊表是用于服務發現的一種機制
Spring Cloud Netflix通過簡單地將spring-cloud-starter-eureka-server依賴關系添加到Spring Boot應用程序,然后用@EnableEurekaServer來標注該應用程序的配置類.
應用程序可以通過添加spring-cloud-starter-eureka依賴關系并注釋@EnableDiscoveryClient其配置類來參與服務發現。此注釋提供了將DiscoveryClient正確配置的實例注入任何Spring Bean的功能。 DiscoveryClient是服務發現的抽象,在這種情況下恰好是通過Eureka實現的,但也可以提供與其他候選技術棧(如Consul)的集成。 DiscoveryClient 能夠提供位置信息(例如網絡地址),并提供根據服務邏輯標識符在Eureka注冊服務實例的其它元數據。
Eureka提供的負載平衡算法只限于輪循。 Ribbon提供了一個復雜的客戶端IPC庫,具有可配置的負載平衡和容錯能力??梢詮腅ureka服務器獲取的動態服務器列表導出輪詢列表。Spring Cloud Netflix通過向Spring Boot添加spring-cloud-starter-ribbonSpring添加依賴關系來提供輪詢Ribbon的集成。這個額外的庫也提供了將LoadBalancerClient正確配置的實例注入任何Spring Bean的能力,這將使客戶端獲得負載平衡(圖4)。
除了其他任務之外,使用Ribbon還可以實現額外的負載平衡算法,例如可用性過濾,加權響應時間和可用性區域密切關系。
Spring Cloud Netflix將通過自動創建一個RestTemplate的可以注入到任何Spring Bean中的Ribbon增強實例進一步增強Spring開發人員對Ribbon的使用。開發人員可以簡單地將提供URL中的邏輯服務名稱傳遞給RestTemplate:
@Autowired@LoadBalancedprivate RestTemplate restTemplate;@RequestMapping("/")public String consume() { ProducerResponse response = restTemplate.getForObject("http://producer總結
以上是生活随笔為你收集整理的springcloud 消息队列_全面而且简洁介绍SpringCloud微服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中央cctv5节目表
- 下一篇: 打促排卵针后注意事项