微服務(Microservices)是一種軟體架構風格,它將複雜的大型應用程式劃分為多個的小功能模組。每個小功能模組就稱為一個微服務,微服務之間透過API互相通訊,再透過模組化的方式組合成大型應用程式,尤其適合物聯網(Internet of Things, IoT)上的應用。
優點
- 高靈活度 : 由於每個微服務都是獨立運作, 可更靈活的開發與除錯
- 高延展性 : 可隨時擴充新的微服務來達到系統延展的效果
- 錯誤與資料隔離 : 微服務都是獨立運作,因此不會因為其中一個出現問題而導致整個系統錯誤或資料異常
挑戰
- 系統複雜度高 : 由於架構由一個應用程式變成多個不同的微服務,使的系統整體的複雜度變高
- 記錄控管 : 微服務本身都具有自己的紀錄方式,需要一套好的紀錄管理工具來增加管理效率
- 應用程式管理 : 由單個應用程式變成多個小型應用程式,需要管理的總量提升
- 版本控制與部署 : 微服務進行部屬時可能會需要有順序性的更新,如何進行版本控制與自動化部署就成了一個挑戰
微服務平台
微服務平台(Microservice Platform)用於增加微服務系統的可用性,其主要功能有下列幾項:
- 微服務管理 : 有效的掌控目前系統中的所有為服務。
- 快速部署 : 配合自動化部署工具快速達成部署。
- 記錄管理 : 整合所有為服務紀錄並協助分類管理,增加稽查與檢覈的效率
- API管理 : 管理所有微服務的API
透過上述四項功能可解決前文中部分微服務的挑戰,並增加管理員的操作效率。