軟體工程Microservice 是目前非常流行的 Architecture Pattern ( 應用程式會拆分成多個 service 聯合運行,通常會透過 RPC call 進行交互 ),進而推動的 Distrubution System 相關知識在Backend 領域中越來越顯得重要。延伸的主題,Event Driven, Event sourcing, Distribution lock....
other articles
只是 Mocroservice 的缺點也是顯而易見的,以下缺點都是相對於 monolithic 架構:
最後結果為 Monolithic 的實作方式,可以增加 15倍左右的效率
實驗參數:
Metric | Monolithic | Microservice |
---|---|---|
QPS | 10000 | 10000 |
Avg of CPU Cores | 28 | 78 |
Latency (ms) | 2.66 | 5.47 |
Microservice Pattern 是以 Service 為單位將大型 Application 進行拆分,會產生管理上的難度以及物理上所造成的效能缺失,文章中所提到的實驗有15 倍以上的差異。
而 Microservice 所帶來的好處是非常顯而易見的:
[1] Ghemawat, Sanjay, et al. "Towards modern development of cloud applications." Proceedings of the 19th Workshop on Hot Topics in Operating Systems. 2023.
[2] Online boutique. https://github.com/GoogleCloudPlatform/ microservices-demo, 2023.
[3] github.com/ServiceWeaver,2023