• 登入
  • 註冊網站會員
CIO Taiwan
  • 活動
  • 影音
  • 趨勢分析
  • CIO 雜誌
  • CSO精選
  • 電子報
  • 下載
  • 聯繫我們
沒有結果
查看所有結果
CIO Taiwan
沒有結果
查看所有結果
首頁 專欄

微服務的迷思:不要為微而微

2022-07-01
分類 : 專欄
0
A A
0
Software, web development, programming concept. people interacti

口述/孫培然‧彙整/CIO編輯室


孫培然
作者孫培然博士,現為私立醫療院所協會醫院資訊暨智慧醫療發展促進會會長,任職於中國醫藥大學附設醫院資訊室副主任,正進行體系HIS再造工程,是一位勇於接受挑戰及洞燭先機採用新技術的領導者,亦曾在中山醫大附設醫院任職資訊室主任時,回收委外HIS系統,重新改造的成功案例。

俗話說:「天下大勢,合久必分,分久必合」。現在的系統架構設計風格,隨著系統不斷的演進,已經逐步呈現出分分合合的變化,在整個變化過程中,因為技術框架的快速發展、使用者需求的不斷提升、雲計算多年來長足的發展等環境因素,也對應用系統架構風格產生了重大的影響。

其中微服務架構的盛行,因為解決了系統上可用性、可擴展、可維護性上的問題,已經成為眾多企業數位轉型不二之選的架構。

但在原有架構做數位轉型時,系統應該如何進行微服務拆解呢?要避免哪些陷阱?而不是說單體直接微服務就可以了,還是需要了解很多注意事項。為了要滿足使用者爆炸式增長的個性化需求,系統架構已經慢慢的從單體架構轉變的 SOA 架構。但由於 SOA 架構仍是屬於集中式的架構,所以在面對系統日趨龐大和複雜之後,企業服務匯流排(Enterprise Service Bus,ESB)卻會成為服務通訊的瓶頸。

因為微服務架構的服務變得更細緻化,可以透過 DDD(Domain Driven Design)讓每一個微服務達到服務自治,而不用透過集中式去統籌回應,服務之間就可通過輕量化的通訊機制去溝通。每一個微服務都圍繞著自己的具體業務單元進行建構,系統各服務間可以有機耦合的去解決問題,還可以保有互相合作,各自生長的狀態。

不要為了微服務而微服務

有幾個重點要提醒各位,就是不要為了微而微,因為微小化應該是結果,而不是目的。

[ 推薦下載: 2022年度CIO大調查報告PDF ]

所以微服務的第一個原則,其實就是「不要一開始就從微服務開始進行」。

也就是說,要等到應用程式變得又大又笨重的時候,而且在更新與維護時變得很複雜且困難時,此時才是開始介入以微服務來管理複雜性問題的時機。只有當你感受到單體式架構的痛苦及複雜性時,才值得開始考慮是不是要把很多大的單體,拆成小型的微服務。

我要強調的是,不是什麼東西都需要做微服務,而是要看情境是否需要微服務。

第二個原則就是「不要在沒有容器化下運行微服務」。因為微服務屬於分散式架構,在管理層面上,遠比像 SOA 這種集中式架構還要困難及麻煩,所以一定要先做好自動化或可監控的管理機制下才去實施。

也就是說,如果在還沒有適當部署和監控自動化或受管理容器化的情況下,為了解決眼前不斷蔓延的異質基礎架構,而嘗試建置微服務,會招來很多不必要的問題,請各位不要自己找麻煩。

第三個原則是「不要將微服務做得太小」。劃分微服務的時候,不要矯枉過正,如果您將微服務中的「微小」弄得太誇張,反而會失去它的內聚力,您很快就會發現自己會面臨很大的負擔跟複雜性,不但沒有得到微服務的好處,反而會得到一堆微服務的壞處。

所以最好的方式,是以高內聚力的大型服務為著眼點,在單體的部署變得越來越困難和緩慢、共用資料模型變得過於複雜,或者服務的不同部分具有不同的負載/擴充需求時,才將它們進行拆解,拆出適當的微服務。

第四個原則是「不要把微服務變成 SOA」。雖然前面講的是不要將微服務做得太小,但把微服務寫成跟以前 SOA 那樣的概念,也是錯的。微服務跟 SOA,雖然在最基本的層次上,兩者都有意建置可供其他應用程式使用的可重複使用個別元件,但兩者還是有些差別。

微服務跟 SOA 的差別在於,微服務屬於分散式架構,通常涉及重構應用程式,因此它比較容易管理;SOA 屬於集中式架構,著重在企業層面改變 IT 服務的運作方式。 SOA 必須要有中間的 ESB 來支撐,微服務則是服務跟服務之間的溝通,也就是中間是隱藏著一個共同標準協定去做溝通。

用微服務要確保資料一致性

使用微服務,其實是「水能載舟,亦能覆舟」,弄得不好反而會弄巧成拙。因為在微服務架構中,有很多可移動的模組,所以對服務的管理將變得更加複雜。

比如說,如果住院醫囑系統是單體架構,我只要把住院醫囑系統的執行檔發佈到線上主機就可以了。但如果住院醫囑拆成很多的小服務,你要發佈的服務可能就會是成百上千,這些成百上千的服務之間,又必須要做到無縫接軌,互相溝通,就必須要有服務註冊和服務發現解決方案,以便一個新的或者更新的服務,能夠讓自己被系統知道,能夠被其他服務偵測發現到。比如說你完成了一個小服務,你必須先註冊這個小服務,讓其他的服務知道有這個服務存在,而其他的服務也可以透過服務發現機制找到這個服務。

你也需要確保所有的服務都啟動並且在運行當中,不會耗盡磁碟空間或者其他資源,確保足夠的性能。一支微服務在運行時不可以把所有資源都吃掉了,還要考慮到服務跟服務之間的負載平衡,並且使用同步或非同步的消息發送來進行通訊。

所以使用微服務,要儘量透過叢集管理(Cluster management)和編排工具(Orchestration tools)做到自動化幫助你解決問題,還要有監控工具幫忙監視這些服務的健康狀況。另外,硬碟空間或者其他資源是不是可以依據容量的變化來自動擴縮容量。通常在容器化的生態系統裡面,就會提供很多監控或者熔斷機制,我們自己不用再花時間去研發這些工具,但一定要了解這些工具是如何進行工作。

[ 加入 CIO Taiwan 官方 LINE 與 Facebook ,與全球CIO同步獲取精華見解 ]

網路的壅塞和延遲也必須特別注意,因為單體架構的程式跟程式之間,是透過記憶體或 CPU 進行內部溝通。如果把單體拆成成百上千的服務,之間的溝通就要透過 API 來使用網路標準協定溝通,比如透過 RESTful API。

所以網路頻寬對微服務而言就變得非常重要。比如說有一個程式可能有數百個服務,每一個服務可能又要跨多個不同的服務,不難看出,如果網路方面沒有給予足夠的重視,將會對應用的整體性能造成多大的影響。

目前有幾種方式可以儘量減少網路的往返的流量,比如資料緩存和服務,來限制請求的流量或數量,這個就是微服務所講的熔斷機制,如果這個程式出現異常,一直在呼叫我的程式,我可能就會把你熔斷掉,也就是自動把你中斷掉。

另一個經常被忽略的地方是資料的序列化和反序列化。有時相同的資料從一個服務傳遞到另外一個服務,往往會被序列化和反序列化很多次時會大幅增加網路延遲。

要解決序列化的問題,你可以使用高效的序列化格式,並且在整個服務框架中使用這個共用的格式,減少資料服務之間傳遞數據的步驟,而不需要再次序列化。

再來是要確保資料的一致性,以前的單體架構的時代資料庫管理系統所講的 ACID 就是一次性的把所有的東西都串接做完,要嘛全部成功、要嘛全部失敗。但現在既然已經變成微服務,每一個微服務通常都會有它自己的狀態儲存,比如說掛號、醫囑各自是不同的程式或基本檔,你必須要面臨分散資料所帶來的資料一致性和完整性挑戰。

[ 閱讀所有孫培然的文章 ]

比如說,在開立藥品處方的服務時,在可能開立藥品處方之前,可能會去找另外一個服務當中需要引用的資料,比如藥品基本資料服務,如我要開的這些藥品是不是有庫存?庫存還夠不夠?或者說這個藥品是不是已經被刪除了或者停用,該服務中的資料完整性需要特別注意。

所以當每個服務中都有一些相同資料時,必須確保它的一致性。如果有某個服務,比如說藥品基本資料變更時,就必須要立即去通知其他的系統,這個資料已經變更,讓其他系統可以一起進行變更。

這就像之前的文章中提過的「事件驅動」。也就是說基本資料如果有異動、被刪除或者停用,就要通過事件驅動,去做到即時同步的概念,去通知其他會關心這些資料的系統,讓系統知道資料已經變動了。

所以在整個微服務架構當中,我們不能再用傳統的方式去做 ACID。而是要借助事件驅動或通知服務之類的模式,讓需要即時同步資料的使用者,可以馬上收到資料變動的訊息。

就好像一些 Youtube 網紅常常會跟觀眾講「按讚、分享、訂閱開啟小鈴鐺」這種「一鍵三連」的動作,只要資料有變化,就會自動發佈給已經訂閱這種變化和更新的資料,來做到資料同步一致性。


(本文授權非營利轉載,請註明出處:CIO Taiwan)

標籤: 孫培然微服務數位轉型醫療業醫療資訊系統
上一篇文章

衡崴科技宣佈正式代理TeamT5  助企業以精準威脅情資  對抗勒索加密攻擊

下一篇文章

比爾蓋茲如何投資未來產業

相關文章

I172s07
專欄

【策略黑客術 Part 1】以提示工程瞬間跑完四大分析

2025-11-03
Owennini1200
專欄

電力需求爆增 AI帶來電源產業新機會

2025-11-01
1200 adobestock 1232856033
專欄

即問即答 AI 企業助理

2025-10-29
下一篇文章
1200 technology high profit stock market business growth strategy planing concept

比爾蓋茲如何投資未來產業

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

追蹤我們的 Facebook

近期文章

  • 思科攜手 NVIDIA 為 Neocloud、企業與電信領域帶來 AI 創新
  • Palo Alto Networks 推出 Cortex Cloud 2.0 引領雲端安全邁入自主AI工作力新時代
  • 降低成本、提升效率:企業級日誌管理新選擇 Graylog
  • HPE與NVIDIA推出安全AI工廠創新方案,助力政府與企業加速採用AI
  • 借助 NVIDIA 技術,Akamai Inference Cloud 實現 AI 從核心到邊緣的擴展

📈 CIO點閱文章週排行

  • ◤友達光電旗下的宇沛永續以實證經驗打造產業「雙軸轉型」的關鍵基石,攜手為企業提供兼具競爭力與永續力的落地方案。左起宇沛永續資深總監趙新民博士、宇沛永續董事長李孝忠。

    宇沛永續以實戰經驗砌成智慧製造方案 產業推動雙軸轉型最佳助手

    0 分享
    分享 0 Tweet 0
  • 電力需求爆增 AI帶來電源產業新機會

    0 分享
    分享 0 Tweet 0
  • 【策略黑客術 Part 1】以提示工程瞬間跑完四大分析

    0 分享
    分享 0 Tweet 0
  • 台灣金融 AI 大語言模型之發展與產業應用

    0 分享
    分享 0 Tweet 0
  • 選對題目比什麼技術都重要

    0 分享
    分享 0 Tweet 0
  • AI 輔助病歷標準化 衛福部自動編碼輔助系統獲「未來科技獎」

    0 分享
    分享 0 Tweet 0
  • ESG 與永續發展

    0 分享
    分享 0 Tweet 0
  • 聯發科攜手歐洲太空總署 全球首例 R19 5G-Advanced 衛星寬頻實網連線

    0 分享
    分享 0 Tweet 0
  • 虛擬資產普及化下的資安新課題:用戶級風險管理崛起

    0 分享
    分享 0 Tweet 0
  • Check Point Software 發佈最新資安數據統計

    0 分享
    分享 0 Tweet 0

數位及平面

  • CIO Taiwan 網站
  • CIO 雜誌紙本
  • CIO 雜誌 HYREAD 版
  • CIO 雜誌 Zinio 版

關注社群

  • Line 加入好友
  • Facebook 粉絲頁

合作夥伴

  • CIO 協進會

關於我們

  • 公司介紹及工作機會
  • 隱私權政策

旗訊科技股份有限公司|統編:84493719|台北市 100 中正區杭州南路一段 15-1 號 19 樓|TEL: 886-2-23214335
Copyright © Flag Information Co.,Ltd. All Rights Reserved.

CIO Taiwan 歡迎你回來!

可用 使用者名稱 或 Email 登入

忘記密碼 註冊

歡迎註冊 CIO Taiwan 網站會員

請設定 Email 及 使用者名稱(使用者名稱不接受中文、將來無法更改)

欄位皆為必填 登入

找回密碼

請輸入 使用者名稱 或 Email 以重設密碼

登入
  • 登入
  • 註冊
沒有結果
查看所有結果
  • 活動
  • 影音
  • 最新文章
  • 產業速報
  • 新聞速寫
  • 風雲人物
  • CXO分享
  • 產業瞭望
  • 專欄
  • 精選文章
  • 原生現場
  • 供應商視野
  • 線上調查
  • CIO 雜誌
  • 電子報
  • 下載
  • 聯繫我們

© 2020 CIO Taiwan 版權所有

7/28 活動延期通知

因高雄市政府於7/28早上宣布全日停班停課,因此「智慧醫療研討會高雄場」活動延期舉辦。主辦單位將另行公告研討會相關訊息,歡迎報名參加!

您已閒置超過 3 分鐘了,為您推薦其他文章!點擊空白處、ESC 鍵或關閉回到網頁

I172s08

跨越 AI 鴻溝:影子 AI 與超級使用者

文/王義智 產業老兵的可靠虛擬助手 前不久,我與一位在顧問行業打滾二十多年的朋友

120063010301

臺韓專家對談主權 AI 治理  強化資料韌性與跨國協作

文/鄭宜芬 數位發展部 29 日舉辦「主權AI與永續發展國際專家座談會」(Sov

1200630 10174

跨域整合、強化可視化管理 園管局助企業提升供應鏈韌性

文/鄭宜芬 經濟部產業園區管理局(下稱園管局)為協助園區廠商因應地緣政治與美國關

I172d07

量子 AI 將會開發每個人的無限潛力

文/黃光彩 AI 已經不知不覺中應用在我們每個人的日常生活裡,我們可以從多個層面

I172y02

【專訪】櫻花集團總經理李惠恂

產品與服務雙軌 AI 化 智慧廚衛新模式 不同於一般的傳統製造業,櫻花集團定位為

00

智慧車電自駕車場域啟用 助攻產業加速研發驗證與國際接軌

文/鄭宜芬 東南亞首座具備全天候、全速域及全車種驗證能力的「智慧車電自駕車場域」

I172s03a

AI 預算規劃:定義與衡量 AI 策略的價值

AI 時代的領導力不僅在於選對技術,更在於制定一套可落地、可衡量、且能隨市場變化

120063010152

雄獅斥資 3 億推 AI 轉型 智慧客服與 RPA 導入營運核心

文/鄭宜芬 AI 人工智慧浪潮重塑產業版圖,雄獅旅遊啟動 3 億元 AI 雙軸數

圖三

產發署 TAITRONICS 2025 秀 96 項 AI 技術 跨域創新應用

文/鄭宜芬 經濟部產業發展署以「智慧驅動,創新應用」為核心籌設主題館,22 日於

Ciotaiwan logo 600 white

文章分類

  • 產業速報
  • 專欄
  • 影音
  • 風雲人物
  • CXO分享
  • 產業瞭望
  • 原生現場
  • 精選文章
  • 趨勢分析
  • 供應商視野
  • 新聞速寫
  • 下載
  • Sponsors

熱門標籤

  • 最新文章
  • 雲端運算
  • 人工智慧
  • 數位轉型
  • 製造業
  • 物聯網
  • 資料與分析
  • 資安
  • 區塊鏈
  • 5G
  • 儲存
  • 基礎架構

活動

  • CIO價值學院 四堂課
  • 智慧醫療研討會 台北/高雄場
  • 金融科技高峰會 春季/秋季場
  • 製造業CIO論壇 台北/台中/高雄場
  • 商業服務科技論壇
  • 亞太CIO論壇
  • CISO資安學院 金融/醫療/新竹場
  • CIO Insight 調查

影音

  • 影音