精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:企業(yè)應(yīng)用軟件行業(yè)動(dòng)態(tài) → 正文

生產(chǎn)環(huán)境中保持微服務(wù)井然有序的五大措施

責(zé)任編輯:editor004 作者: Mark Little |來源:企業(yè)網(wǎng)D1Net  2016-06-23 11:53:12 本文摘自:INFOQ

監(jiān)控是一種明智的做法。系統(tǒng)會(huì)逐漸變得高度碎片化,為了對(duì)系統(tǒng)的運(yùn)行狀況獲得更全面的了解,人們對(duì)集中式監(jiān)控和日志會(huì)產(chǎn)生越來越高的需求。

Alex談到了在最新一期播客節(jié)目中所涉及的一個(gè)場(chǎng)景,這個(gè)場(chǎng)景中需要對(duì)有問題的版本進(jìn)行回滾,這就要確定相應(yīng)的微服務(wù),并確定進(jìn)行回滾可能會(huì)對(duì)其他服務(wù)產(chǎn)生的影響。他認(rèn)為:

結(jié)論1:如果你認(rèn)為對(duì)單層(Monolith)體系結(jié)構(gòu)進(jìn)行監(jiān)控已經(jīng)很困難,微服務(wù)的監(jiān)控要比這個(gè)難十倍,需要事先做好極為充分的規(guī)劃和更大的投入。

對(duì)于第二個(gè)問題,Alex談到了我們已經(jīng)從Sam Newman和Adrian Cockcroft等人處多次聽到的一種觀點(diǎn):

單層體系結(jié)構(gòu)的日志文件很可能已經(jīng)分散在不同位置,就算心里想著“單層”,但最終依然可能會(huì)使用多個(gè)不同技術(shù)層,并可能將日志保存在不同地方。微服務(wù)則會(huì)讓日志進(jìn)一步分散。現(xiàn)在如果需要調(diào)查有關(guān)某些用戶事務(wù)的場(chǎng)景,為了理解實(shí)際發(fā)生的一切,你可能需要從不同位置獲取所有服務(wù)的全部日志。

這就產(chǎn)生了他的下一個(gè)結(jié)論:

結(jié)論2:微服務(wù)的目標(biāo)就是將所有東西拆分為零散組件。但這種做法的副作用之一是運(yùn)維規(guī)程和監(jiān)控工作也需要分別應(yīng)用給每個(gè)服務(wù),進(jìn)而導(dǎo)致無法發(fā)揮“整體系統(tǒng)”的強(qiáng)大之處。通過恰當(dāng)?shù)墓ぞ咭越y(tǒng)一方式管理這一切已成為此時(shí)最大的挑戰(zhàn)。

第三個(gè)問題引述自Leslie Lamport對(duì)于分布式系統(tǒng)的定義中的一句話:“分布式系統(tǒng)是指某臺(tái)我從未聽說過的計(jì)算機(jī)也能導(dǎo)致我的程序崩潰的體系。”或者按照Alex的說法:“一個(gè)服務(wù)引發(fā)的問題,會(huì)造成其他地方出現(xiàn)連鎖反應(yīng)。”那么這個(gè)結(jié)論也就不言自明了:

結(jié)論3:對(duì)于單層體系,遇到問題后通常你會(huì)知道需要調(diào)查哪些方面,微服務(wù)使得人們難以確定問題根源以及要從哪里拿到所需數(shù)據(jù)。

在分布式系統(tǒng)中,“確定問題根源”這一需求進(jìn)一步產(chǎn)生了下個(gè)問題,此時(shí)日志可以提供一定的幫助,但日志只是解決方案的一部分:

大部分情況下,你寄希望于日志文件中獲得的前幾位變量數(shù)據(jù),但這些可能根本無法解決你的問題。這些信息只能讓你繼續(xù)追查下一條線索,進(jìn)而需要進(jìn)一步深入這樣的“魔法世界”,繼續(xù)運(yùn)行更多日志語句。隨后部署改動(dòng),期待著問題能夠重現(xiàn)或永不再現(xiàn),因?yàn)?hellip; 有時(shí)候僅僅添加一條日志語句似乎就能解決問題。這類似于墨菲法則的一次糟糕的大逆轉(zhuǎn)。

這也產(chǎn)生了我們的下一個(gè)結(jié)論:

結(jié)論4:如果微服務(wù)中一個(gè)問題的根源涉及到多個(gè)服務(wù),就很有必要使用一個(gè)集中的根源檢測(cè)工具。

Alex提到的最后一個(gè)問題是版本管理和服務(wù)之間的循環(huán)依賴。同時(shí)他也提到了在檢查依賴性時(shí)需要注意的兩個(gè)問題。

1,如果服務(wù)之間存在循環(huán)依賴,一旦某個(gè)事務(wù)卡在循環(huán)中,就很容易產(chǎn)生分布式堆棧溢出錯(cuò)誤。2,如果兩個(gè)服務(wù)共享同一個(gè)依賴項(xiàng),并且使用會(huì)影響到這些服務(wù)的方式更新了其他服務(wù)的API,那么就需要同時(shí)對(duì)這三個(gè)服務(wù)進(jìn)行更新。這就造成了另一種問題,例如:要先更新哪個(gè)服務(wù)?如何確保所有服務(wù)能順利地完成更新?

相互獨(dú)立的服務(wù)越多意味著可移植性越高,不同服務(wù)可以使用互不干涉的發(fā)布周期,但同時(shí)這樣做也會(huì)增加整個(gè)系統(tǒng)的復(fù)雜度,尤其是在可再生性(Reproducibility)方面。那么這就引出了我們的第五個(gè),也是最后一個(gè)結(jié)論:

結(jié)論5:在微服務(wù)體系結(jié)構(gòu)中,更容易產(chǎn)生依賴性問題所導(dǎo)致的錯(cuò)誤。

很高興看到在生產(chǎn)環(huán)境中運(yùn)用微服務(wù)的人就此展開的討論,更讓人高興的是,很多人已經(jīng)就其中的一些核心問題和解決這些問題的常見方法達(dá)成了一致。

關(guān)鍵字:服務(wù)體系結(jié)構(gòu)單層

本文摘自:INFOQ

x 生產(chǎn)環(huán)境中保持微服務(wù)井然有序的五大措施 掃一掃
分享本文到朋友圈
當(dāng)前位置:企業(yè)應(yīng)用軟件行業(yè)動(dòng)態(tài) → 正文

生產(chǎn)環(huán)境中保持微服務(wù)井然有序的五大措施

責(zé)任編輯:editor004 作者: Mark Little |來源:企業(yè)網(wǎng)D1Net  2016-06-23 11:53:12 本文摘自:INFOQ

監(jiān)控是一種明智的做法。系統(tǒng)會(huì)逐漸變得高度碎片化,為了對(duì)系統(tǒng)的運(yùn)行狀況獲得更全面的了解,人們對(duì)集中式監(jiān)控和日志會(huì)產(chǎn)生越來越高的需求。

Alex談到了在最新一期播客節(jié)目中所涉及的一個(gè)場(chǎng)景,這個(gè)場(chǎng)景中需要對(duì)有問題的版本進(jìn)行回滾,這就要確定相應(yīng)的微服務(wù),并確定進(jìn)行回滾可能會(huì)對(duì)其他服務(wù)產(chǎn)生的影響。他認(rèn)為:

結(jié)論1:如果你認(rèn)為對(duì)單層(Monolith)體系結(jié)構(gòu)進(jìn)行監(jiān)控已經(jīng)很困難,微服務(wù)的監(jiān)控要比這個(gè)難十倍,需要事先做好極為充分的規(guī)劃和更大的投入。

對(duì)于第二個(gè)問題,Alex談到了我們已經(jīng)從Sam Newman和Adrian Cockcroft等人處多次聽到的一種觀點(diǎn):

單層體系結(jié)構(gòu)的日志文件很可能已經(jīng)分散在不同位置,就算心里想著“單層”,但最終依然可能會(huì)使用多個(gè)不同技術(shù)層,并可能將日志保存在不同地方。微服務(wù)則會(huì)讓日志進(jìn)一步分散。現(xiàn)在如果需要調(diào)查有關(guān)某些用戶事務(wù)的場(chǎng)景,為了理解實(shí)際發(fā)生的一切,你可能需要從不同位置獲取所有服務(wù)的全部日志。

這就產(chǎn)生了他的下一個(gè)結(jié)論:

結(jié)論2:微服務(wù)的目標(biāo)就是將所有東西拆分為零散組件。但這種做法的副作用之一是運(yùn)維規(guī)程和監(jiān)控工作也需要分別應(yīng)用給每個(gè)服務(wù),進(jìn)而導(dǎo)致無法發(fā)揮“整體系統(tǒng)”的強(qiáng)大之處。通過恰當(dāng)?shù)墓ぞ咭越y(tǒng)一方式管理這一切已成為此時(shí)最大的挑戰(zhàn)。

第三個(gè)問題引述自Leslie Lamport對(duì)于分布式系統(tǒng)的定義中的一句話:“分布式系統(tǒng)是指某臺(tái)我從未聽說過的計(jì)算機(jī)也能導(dǎo)致我的程序崩潰的體系。”或者按照Alex的說法:“一個(gè)服務(wù)引發(fā)的問題,會(huì)造成其他地方出現(xiàn)連鎖反應(yīng)。”那么這個(gè)結(jié)論也就不言自明了:

結(jié)論3:對(duì)于單層體系,遇到問題后通常你會(huì)知道需要調(diào)查哪些方面,微服務(wù)使得人們難以確定問題根源以及要從哪里拿到所需數(shù)據(jù)。

在分布式系統(tǒng)中,“確定問題根源”這一需求進(jìn)一步產(chǎn)生了下個(gè)問題,此時(shí)日志可以提供一定的幫助,但日志只是解決方案的一部分:

大部分情況下,你寄希望于日志文件中獲得的前幾位變量數(shù)據(jù),但這些可能根本無法解決你的問題。這些信息只能讓你繼續(xù)追查下一條線索,進(jìn)而需要進(jìn)一步深入這樣的“魔法世界”,繼續(xù)運(yùn)行更多日志語句。隨后部署改動(dòng),期待著問題能夠重現(xiàn)或永不再現(xiàn),因?yàn)?hellip; 有時(shí)候僅僅添加一條日志語句似乎就能解決問題。這類似于墨菲法則的一次糟糕的大逆轉(zhuǎn)。

這也產(chǎn)生了我們的下一個(gè)結(jié)論:

結(jié)論4:如果微服務(wù)中一個(gè)問題的根源涉及到多個(gè)服務(wù),就很有必要使用一個(gè)集中的根源檢測(cè)工具。

Alex提到的最后一個(gè)問題是版本管理和服務(wù)之間的循環(huán)依賴。同時(shí)他也提到了在檢查依賴性時(shí)需要注意的兩個(gè)問題。

1,如果服務(wù)之間存在循環(huán)依賴,一旦某個(gè)事務(wù)卡在循環(huán)中,就很容易產(chǎn)生分布式堆棧溢出錯(cuò)誤。2,如果兩個(gè)服務(wù)共享同一個(gè)依賴項(xiàng),并且使用會(huì)影響到這些服務(wù)的方式更新了其他服務(wù)的API,那么就需要同時(shí)對(duì)這三個(gè)服務(wù)進(jìn)行更新。這就造成了另一種問題,例如:要先更新哪個(gè)服務(wù)?如何確保所有服務(wù)能順利地完成更新?

相互獨(dú)立的服務(wù)越多意味著可移植性越高,不同服務(wù)可以使用互不干涉的發(fā)布周期,但同時(shí)這樣做也會(huì)增加整個(gè)系統(tǒng)的復(fù)雜度,尤其是在可再生性(Reproducibility)方面。那么這就引出了我們的第五個(gè),也是最后一個(gè)結(jié)論:

結(jié)論5:在微服務(wù)體系結(jié)構(gòu)中,更容易產(chǎn)生依賴性問題所導(dǎo)致的錯(cuò)誤。

很高興看到在生產(chǎn)環(huán)境中運(yùn)用微服務(wù)的人就此展開的討論,更讓人高興的是,很多人已經(jīng)就其中的一些核心問題和解決這些問題的常見方法達(dá)成了一致。

關(guān)鍵字:服務(wù)體系結(jié)構(gòu)單層

本文摘自:INFOQ

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號(hào)-6 京公網(wǎng)安備 11010502049343號(hào)

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 舟曲县| 三原县| 咸丰县| 华安县| 吉林市| 德阳市| 山阳县| 绥化市| 上高县| 明水县| 锡林郭勒盟| 庄浪县| 奉节县| 吉安县| 墨玉县| 博罗县| 淳化县| 博客| 德格县| 阜阳市| 安岳县| 屏边| 盐城市| 平舆县| 贵阳市| 永胜县| 丘北县| 五华县| 利辛县| 农安县| 凌海市| 镇坪县| 隆回县| 星座| 咸丰县| 台江县| 和静县| 平安县| 松桃| 乃东县| 曲松县|