LYNUXTEK logo

元件式微服務架構

Component Packaged Microservice Architecture
LYNUXTEK為了能夠快速適應市面上需求調整及技術演進,自主研發的核心架構技術「元件式微服務架構」
結合單體架構的架構簡單特性與微服務架構的靈活度和未來可擴充性,可提高開發效率、支援彈性擴展並大幅降低維運複雜度

Monolithic Architecture

什麼是單體架構

在軟體開發的早期,系統的設計通常是基於單體架構

單體架構是將應用軟體中的所有功能組件集中在一個單一的可部署單元
特色
簡單性
開發簡單,開發人員可以在一個環境中工作,易於理解和修改
部署簡單
只需要管理一個部署單位,減少了部署的複雜性
維運成本低
單一部署單位, 運營和維護成本較低,因為只需要管理一個應用程序實例
挑戰
難以擴展
無法單獨針對特定功能擴展,只能整體擴展應用軟體,導致資源浪費
性能瓶頸
應用軟體中某一部分的效能瓶頸可能會影響整個應用軟體的效能
可靠性低
在單體架構中若一個組件故障可能會導致整個應用軟體發生異常,且恢復整個軟體所需的時間較長,影響業務連續性

Microservices

什麼是微服務

微服務的概念在2011年左右被提出,用來解決單體架構的不足

微服務架構是將應用軟體劃分為一系列小型、獨立的服務,每個服務專注於完成特定的業務功能

這些服務通過輕量級的通訊協定進行溝通
特色
開發速度較快
微服務架構允許不同團隊同時開發,加快了開發速度
可擴展性
微服務可以針對具體服務進行擴展
容錯能力
微服務之間可以獨立運行、管理和擴展。使得整體系統能夠更有效地應對故障和錯誤,從而提高整體系統的穩定性和可靠性
挑戰
維運複雜度
微服務需要解決分散式系統的管理和監控問題
部署和維護
需要更多的自動化和維運工具來支持頻繁的部署和更新

Component Packaged
Microservice Architecture

「元件式微服務架構」

我們研發的
元件式微服務架構
介於這兩種架構之間

既保有單體架構簡單的特性,也同時擁有微服務的未來可擴充性
元件之間互相獨立,開發速度不受限制
元件之間互相獨立,開發速度不受限制
初期以單體架構的型態部屬,未來可依需求轉換至微服務架構,針對具體服務進行擴展
初期以單體架構的型態部屬,未來可依需求轉換至微服務架構,針對具體服務進行擴展

Comparison

架構對比

開發速度
可擴展性
系統可靠性
維運複雜度
部屬和維護
單體架構
元件式微服務架構
微服務
整合服務
GraphQL
GraphQL Federated
S3
KAFKA