SpringCloud簡介
- 微服務介紹:
微服務是一種架構風格,一個大型復雜的系統是由一個或多個微服務組成的,系統間的各個微服務可以獨立部署,每個微服務間是松耦合的,每個微服務只關註於完成一件任務,每個任務代表一個小的業務能力。
微服務可以在“自己的程序”中運行,並通過“輕量級設備與HTTP型API進行溝通”。關鍵在於該服務可以在自己的程序中運行。通過這一點我們就可以將服務公開與微服務架構(在現有系統中分布一個API)區分開來。在服務公開中,許多服務都可以被內部獨立進程所限制。如果其中任何一個服務需要增加某種功能,那麽就必須縮小進程範圍。在微服務架構中,只需要在特定的某種服務中增加所需功能,而不影響整體進程。
----來自百度百科
- 微服務中的spring-cloud
Spring Cloud是一個相對比較新的微服務框架,2016n年推出1.0的release版本. 雖然Spring Cloud時間最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系統解決方案。
Spring Cloud 為開發者提供了在分布式系統(配置管理,服務發現,熔斷,路由,微代理,控制總線,一次性token,全居瑣,leader選舉,分布式session,集群狀態)中快速構建的工具,使用Spring Cloud的開發者可以快速的啟動服務或構建應用、同時能夠快速和雲平臺資源進行對接。
----來自簡書
- Eureak
Eureka是Spring Cloud Netflix微服務套件中的一部分,本身是一個基於REST的服務,可以與Springboot構建的微服務很容易的整合起來。
Eureka包含了服務器端Eureka Server和客戶端組件Eureka Client。服務器端,也被稱作是服務註冊中心,用於提供服務的註冊與發現。
Eureka Client是一個java客戶端,用於簡化與Eureka Server的交互,客戶端同時也就別一個內置的、使用輪詢(round-robin)負載算法的負載均衡器。 在應用啟動後,將會向Eureka Server發送心跳,默認周期為30秒,如果Eureka Server在多個心跳周期內沒有接收到某個節點的心跳,Eureka Server將會從服務註冊表中把這個服務節點移除(默認90秒)。 Eureka Server之間通過復制的方式完成數據的同步,Eureka還提供了客戶端緩存機制,即使所有的Eureka Server都掛掉,客戶端依然可以利用緩存中的信息消費其他服務的API。綜上,Eureka通過心跳檢查、客戶端緩存等機制,確保了系統的高可用性、靈活性和可伸縮性。
- 服務生產者啟動時,向服務註冊中心註冊自己提供的服務
- 服務消費者啟動時,在服務註冊中心訂閱自己所需要的服務
- 註冊中心返回服務提供者的地址信息個消費者
- 消費者從提供者中調用服務
SpringCloud簡介