- SpringBoot揭秘:快速構建微服務體系
- 王福強
- 576字
- 2019-06-28 14:06:21
1.1 什么是微服務
微服務(Microservice)雖然是當下剛興起的比較流行的新名詞,但本質上來說,微服務并非什么新的概念。實際上,很多SOA實施成熟度比較好的企業,已經在使用和實施微服務了。只不過,它們只是在悶聲發大財,并不介意是否有一個比較時髦的名詞來明確表述SOA的這個發展演化趨勢罷了。
微服務其實就是服務化思路的一種最佳實踐方向,遵循SOA的思路,各個企業在服務化治理的道路上走的時間長了,踩的坑多了,整個軟件交付鏈路上各個環節的基礎設施逐漸成熟了,微服務自然而然就誕生了。
當然,之所以叫微服務,是與之前的服務化思路和實踐相比較而來的。早些年的服務實現和實施思路是將很多功能從開發到交付都打包成一個很大的服務單元(一般稱為Monolith),而微服務實現和實施思路則更強調功能趨向單一,服務單元小型化和微型化。如果用“茶壺煮餃子”來打比方的話,原來我們是在一個茶壺里煮很多個餃子,現在(微服務化之后)則基本上是在一個茶壺煮一個餃子,而這些餃子就是服務的功能,茶壺則是將這些服務功能打包交付的服務單元,如圖1-1所示。

圖1-1 論茶壺里煮“餃子”的不同形式
所以,從思路和理念上來講,微服務就是要倡導大家盡量將功能進行拆分,將服務粒度做小,使之可以獨立承擔對外服務的職責,沿著這個思路開發和交付的軟件服務實體就叫作“微服務”,而圍繞著這個思路和理念構建的一系列基礎設施和指導思想,筆者將它稱為“微服務體系”。