成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何避免將微服務變成分布式意大利面條式代碼?

譯文
開發 架構 分布式
用無服務器構建系統很方便,這會導致開發人員重新使用整體式架構那可怕的意大利面條式代碼(spaghetti code)。

[[315389]]

【51CTO.com快譯】Gartner研究主管Raj Bala說過,無服務器產品最出色的地方之一就是讓你可以“前所未有地混合搭配前編程語言和框架。”這意味著,比如使用函數即服務(無服務器)平臺,你就可以編寫調用Python庫的Java應用程序。

確實很酷。

但是這也可能意味著意大利面條式代碼(即非結構化、難以維護的代碼)迎來新時代。就因為你告別整體式代碼,并不意味著不會換成“對部署、通信、監控等方面有影響的分布式系統問題”。與更傳統的軟件開發一樣,開發易于維護的微服務需要一種慎重周到的方法。

傳播微服務之愛

Bala指出,無服務器和“單一用途微服務”的主要好處之一是,“可以使用合適的工具來完成合適的工作,而不是局限于一種語言、一種框架甚至一種數據庫。”這極大地解放了開發人員,因為現在他們可以編寫與短暫的無服務器函數綁定的微服務,而不是編寫面對尖峰式工作負載、利用率可能低下的整體式應用程序。系統處于空閑狀態時,它會關閉,不花費任何費用。大家共贏。

這還可以使代碼維護起來更簡單。若是整體式應用程序,由于對所有依賴項很難做到面面俱到,更新代碼可能是一大負擔。正如Ophir Gross指出,“意大利面條式代碼處處要檢查,以查看所使用的接口版本,并確保執行正確的代碼。由于代碼更改影響開發階段中很難預測的方面的功能,因此這種代碼常常雜亂無章,通常導致維護工作量加大。”

相比之下,若是基于微服務的方法,微服務中的代碼僅限于業務的一項功能,因此更易于理解。團隊可以使用自己喜歡的實現技術和框架,彼此獨立地運作。

然而,微服務不是沒有自己的風險。具有諷刺意味的是,其中一個風險可能正是開發人員積極接受微服務以逃避的意大利面條式代碼。

分布式意大利面條式代碼

除了其他復雜因素外(調試更復雜、API逐漸變化帶來的難題以及確保服務使用的API及時更新等),微服務的一個問題是開發人員可能使用他們以類似于當初處理整體式應用程序的方式來構建系統。

人們常常不知道微服務其實需要獨立。比如說,你常??吹絼摻ǜ鞣N各樣的服務,但是共享一個數據庫。另一個問題是,人們以過去在整體式架構中習慣的方式來編程,這使得服務之間(通過網絡)之間的同步調用鏈變得太長。也沒有注意彼此使用的各種服務可能引起的意大利面條式結構。

設計微服務的關鍵是正確“定義它們的邊界以及它們如何聯系。松散耦合的服務在一個地方含有相關行為,而對系統中與之協作的其余部分了解甚少。”松散耦合至關重要。你希望服務與數量有限的端點進行異步聯系,并且沒有共享數據庫。

當然,這無法消除“意大利面條式代碼2.0”的可能性。強大功能和便利性可能導致開發人員針對無服務器函數創建各種各樣的API調用,局面可能很快變得一團糟。不過,確保服務的松散耦合有所幫助。

原文標題:How to avoid turning microservices into distributed spaghetti code,作者:Matt Asay

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2017-09-08 18:29:17

jQuery代碼React

2023-05-29 14:07:00

Zuul網關系統

2019-05-24 14:45:17

分布式微服務運維

2022-06-13 07:43:21

分布式Spring

2023-11-20 15:32:29

2023-09-12 22:58:51

分布式架構微服務

2020-05-26 11:59:30

日志鏈路微服務架構

2021-03-17 10:51:16

架構運維技術

2019-10-10 09:16:34

Zookeeper架構分布式

2018-03-02 16:11:29

Spring Clou分布式服務跟蹤

2020-09-11 09:44:04

微服務分布式鏈路

2025-06-12 09:48:46

2025-04-09 08:15:00

分布式系統微服務架構

2019-06-19 15:40:06

分布式鎖RedisJava

2017-09-01 05:35:58

分布式計算存儲

2017-03-14 11:52:52

微服務架構數據管理

2021-06-09 09:00:00

微服務架構技術

2021-03-26 11:35:48

微服務分布式服務器

2021-04-02 09:50:14

微服務分布式鎖Java

2021-01-25 15:00:44

微服務分布式日志
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩第一页 | 亚洲欧洲日韩 | 亚洲精选一区二区 | 在线第一页 | 在线视频亚洲 | 一级做a爰片久久毛片 | 国产区精品 | 日操操夜操操 | 午夜久久久 | 亚洲精品久久久久久下一站 | 中文字幕免费在线 | 国产精品1区2区 | 成人在线小视频 | 亚洲国产精品视频一区 | 欧美日韩1区2区3区 欧美久久一区 | 亚洲精品乱码久久久久久按摩观 | 毛片视频观看 | av毛片在线播放 | 69性欧美高清影院 | 久久精品视频一区二区 | 久久专区 | 亚洲精品国产电影 | 亚洲一区二区精品视频 | 午夜一区二区三区在线观看 | 午夜二区| 国产高清视频 | 国产四虎| 久久一区二区免费视频 | 亚洲精品9999| 在线观看亚洲精品视频 | 黄网址在线观看 | 日韩在线一区二区三区 | 久久久五月天 | 无人区国产成人久久三区 | 欧美黄色一区 | 欧美黄色片 | 日韩国产专区 | 99色在线视频 | 成人国内精品久久久久一区 | 日韩一三区 | 美日韩免费视频 |