Microservices

Q

click to edit

What?

把單體式的系統 (monolitch), 拆解成多個獨立的小服務, 再靠 API 把彼此 串聯起來的架構

微服務的 deployment 及 infrastructure

進入門檻

轉移到微服務架構是有條件的,基本門檻還達不到的話就貿然轉移到微服務 架構是很冒險的。微服務架構先天就較複雜,在開發、部署及維運這三個部份的要求都比單體式架構的 APP 來的高。

找出服務邊界,將之切割為獨立的服務

評估及決定服務邊界

特色

獨立自主性

每個服務該要有 獨立自主性,能夠獨立部署運作,其他服務都要透過 API 來跟她溝通

小巧,專注做好一件事情

安全性

微服務架構簡化了服務本身的複雜度 (每個服務變小了,責任也變單一),但是整體的 application 並沒有變簡單啊, 因此複雜度都轉移到服務與服務之間。因此要能妥善管理及維護好眾多的服務 instances 能彼此順利的合作,是個不小的挑戰。這邊最主要的關鍵, 就在於底層的基礎建設了!

微服務的好處是要靠一個良好的基礎建設,讓微服務 可以在上面妥善的運行,才堆積出來的。這些基礎建設還沒準備好之前,微服務是沒有效益的。

微服務運作環境是否可靠的關鍵兩大類

團隊的流程

系統架構、環境配置與維運流程

DevOps

Challenges

service granularity

data migration

organizational change

distributed processing