微服務簡介
簡單來說,微服務就是一種思想。
1.發展史:每一種思想的誕生到成熟,都會在實踐中演化出幾次里程碑式的突破。所以它的發展史,再此就不做介紹。
2.為什么要用微服務?
在互聯網應用中,所誕生的產品都有兩大特點,需求變化大,還有就是用戶群體大。在這種情況下,單體應用的弊端就展現出來了,在版本迭代的處理上很麻煩,擴展不夠靈活,應對外界環境的能力弱。所以微服務思想就應運而生了。
3.什么是微服務
就是將單體服務拆分成一組小型服務。拆分完成之后,每個小型服務都運行在獨立的進程中。服務與服務之間采用輕量級的通信機制來進行溝通(Spring Cloud 中是基於Http的RESTful API)
每一個服務都按照具體的業務進行構建,如電商系統中,訂單服務,會員服務,支付服務,等。這些拆分出來的服務都是獨立的應用服務,可以獨立的部署到上產環境中。相互之間不會受影響。所以一個微服務項目就可以根據業務場景的不同,使用不同的語言(java,c++,PHP,go,pytton等)進行開發。這在單體類項目中是無法實現的。
4.微服務的優勢
(1.復雜度可控,
(2.獨立部署
(3.技術選型靈活
(4.較好的容錯性
(4.較強的可擴展性
5.Spring Cloud是什么?
宏觀上:
Spring Cloud是基於微服務這種架構思想的一個具體的實現。同時結合了Spring Boot,提供了一鍵啟動和部署的能力。極大地簡化了微服務架構的實現。
Spring Cloud在設計之初,就考慮到了分布式架構演化所需要的功能。如服務注冊,消息總線,負載均衡等,這些功能都是可插拔的,非常靈活,在分布式系統的不斷演化中,Spring Cloud也在不斷地進化。
微觀上:
是什么: Spring Cloud是一系類框架的組合,各個框架之間相互協作,共同構建分布式系統。
特性:.服務注冊和發現,負載均衡,服務之間的調用,容錯,服務降級,斷路器,消息總線,,分布式配置中心,鏈路器。
6.SpringCloud體系?
包含的組件:
----Spring Cloud Netflix,通過Eureka Server實現服務注冊中心,通過Ribbon實現軟負載均衡,,
-----Spring Cloud Config,分布式配置中心,利用Git來集管理項目的配置文件,,
-----Spring Cloud Consul,服務注冊發現,,
----Spring Cloud Bus,消息總線,可以構建消息驅動的微服務,也可以用來做狀態管理,,,,
-----S Spring Cloud Cloudfoundry,利用Cloudfoundry集成我們的應用程序,,,
-----Spring Cloud OpenFeign,提供OpenFeign集成到Spring Boot應用中 的方式,主要解決微服務之間的調用問題。
----Spring Cloud Gateway ,提供網關服務。
----Spring Cloud Security,在Zuul代理中,為Oath2客戶端供認證,,,
-----Spring Cloud Stream,基於Redis,RabbitMQ,Kafka實現消息服務。
-----Spring Cloud AWS ,快速集成亞馬遜雲服務。
-----Spring Cloud Contract,一個消息驅動,面向java的契約框架。
-----Spring Cloud Flow,在一結構化的的平台上,組成微服務
。。。。。。。。。。。