自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從SOA到微服務(wù),這是一個迭代的過程

企業(yè)動態(tài)
選擇分布式事務(wù)非常麻煩,有時候不得不選擇最終一致性來妥協(xié); 還有服務(wù)多了,客戶調(diào)用起來非常的麻煩,所以經(jīng)常得把多個接口API封裝,對外提供一個簡單的接口;當(dāng)然這種基于HTTP的調(diào)用遠(yuǎn)沒有原來的在一個進(jìn)程內(nèi)的方式效率高。

小明畢業(yè)后為了戶口,進(jìn)入了一家大型國企的信息部門工作, 這個國企不差錢, 幾十年來隨著IT系統(tǒng)的發(fā)展, 也與時俱進(jìn)地興建了多個信息系統(tǒng),只不過自家開發(fā)的極少, 從外邊購買的極多, 雖然信息部也有開發(fā)能力, 但是當(dāng)甲方的感覺是最妙的, 何況出了問題還可以把責(zé)任推出去。

在這些系統(tǒng)當(dāng)中, 小一點兒的有自動化辦公系統(tǒng)(OA) , 休假系統(tǒng),車輛管理系統(tǒng), 薪水支付系統(tǒng), 大點兒的有客戶關(guān)系管理系統(tǒng), ERP系統(tǒng) ..... 等等, 可以說是琳瑯滿目,讓人目不暇接,幾十年來IT發(fā)展的技術(shù),幾乎都能在公司的IT環(huán)境中找到。

小明的工作之一就是維護(hù)現(xiàn)在的IT系統(tǒng)博物館, 博物館中大部分都是遺留系統(tǒng), 能工作,但是非常的老舊。硬件平臺, 軟件環(huán)境,開發(fā)語言各部相同,都是異構(gòu)的。

就說那個休假系統(tǒng)吧,還是用上個世紀(jì)流行的Delphi 寫的。 還有那個OA系統(tǒng), 也是上個世紀(jì)的ASP,運行在IIS上。 雖然界面丑陋,勉強(qiáng)能用。

也有一點新東西,比如上周上線的那個維修系統(tǒng)不就用了最新的前端技術(shù)嘛, 小明也著實激動了一陣,看了兩天的React。

有一天有個著名外企的銷售來到了小明的公司,請信息部門的老大吃了飯,K了歌。。。好像還搞了些小明這些小兵不知道的秘密活動。

第二天老大給國企老總做了匯報, 過了一段時間, 公司發(fā)文了:

為了提升IT效率,打破各個信息孤島,實現(xiàn)各個信息系統(tǒng)之間的互聯(lián)互通, 讓業(yè)務(wù)和IT進(jìn)行對齊, 達(dá)到業(yè)務(wù)敏捷性, 公司經(jīng)慎重研究決定,邀請xxx公司作為咨詢顧問, 從即日起開始實施SOA戰(zhàn)略。

小明看了一遍,愣住了,上面的字全都認(rèn)識, 但連起來就不知道是什么意思, 虛頭巴腦的, 唯一確定的是,咨詢顧問要來了,要開始什么SOA了。

顧問果然來了, 先給小明他們的信息部門洗了一次腦, 小明的腦海中被各種新式的名詞所充斥: SOA, ESB, SCA, BEPL.... 下了課, 小明和同事們討論了很久, 模模糊糊的明白了要做什么事情。

好像是把這些遺留的異構(gòu)系統(tǒng)包裝成粗粒度的服務(wù), 還是 Web 服務(wù),可以通過Http來訪問, 然后呢, 讓大家互相調(diào)用, 甚至可以把這些服務(wù)進(jìn)行編排,形成一個大的業(yè)務(wù)流程, 完成更高層次的業(yè)務(wù), 聽起來挺有意思的。

外企的銷售非常精明, 趁勢賣了一大批硬件和軟件, 他們的技術(shù)團(tuán)隊還確實幫著做了一個小的驗證系統(tǒng), 實現(xiàn)了一個業(yè)務(wù)場景,展示給公司老總看, 老總非常滿意: 不錯, 我們公司又一次站到了IT技術(shù)的前沿!

然后就沒有下文了, 領(lǐng)導(dǎo)們似乎忘記了, SOA似乎沒有發(fā)生過,互聯(lián)互通呢? 業(yè)務(wù)敏捷呢?

小明很困惑,周末約著同學(xué)張大胖去吃飯。

張大胖在一個互聯(lián)網(wǎng)公司工作, 主要是做網(wǎng)上約車系統(tǒng), 用的都是最前沿的技術(shù), 他說: 聽起來你們要把這些遺留的異構(gòu)系統(tǒng)做數(shù)據(jù)/信息的集成啊, 只是沒有做下去而已, 國企嘛可以理解。 你知道我們公司在干什么事兒嗎?

小明說:“不會和我們一樣吧?”

“完全不同! 我們公司才成立幾年啊, 最重要的就是這個約車系統(tǒng), 當(dāng)然我們現(xiàn)在發(fā)展的很快,這三年以來系統(tǒng)已經(jīng)快變成一個巨無霸了, 代碼已經(jīng)達(dá)到百萬行級別, 沒人能搞明白了, 代碼庫非常難于管理, 沖突不斷。 系統(tǒng)部署也非常困難, 一點點小改動都需要巨無霸式的整體部署, 你能想象得到嗎, 我們系統(tǒng)重啟一次得15分鐘!”

“我賽, 這么慢? 不可思議,我用過你們的打車軟件, 用起來還可以啊?”

“唉, 金玉其外,敗絮其中, 你不知道我們每次發(fā)布有多痛苦, 但是競爭激烈, 我們還得頻繁發(fā)布。 所以我們做的事情和你們相反, 不是集成, 而是拆分! 把一個巨無霸變成一些小的組件, 讓這些小組件能完全獨立的開發(fā), 測試和部署。”

“那你們的開發(fā)團(tuán)隊怎么辦?” 小明問。

“我們的組織結(jié)構(gòu)也要隨著這些小組件來重構(gòu)啊,你看我們分成了“乘客管理”,“司機(jī)管理”,“旅程管理”,“支付管理”等好多組, 每個組只負(fù)責(zé)他們特定的一塊兒功能, 并且每個組里邊都有設(shè)計,開發(fā),測試,部署等人員,一應(yīng)俱全, 他們從頭到尾全程負(fù)責(zé)。”

“有意思啊,這些小組件都是獨立的,每個組件實例都是一個進(jìn)程吧, 那這些小組件怎么交互? 難道也是通過我們公司所用的Web service ?”

“不不, 我們不用那重量級的Web service , 什么WSDL, 什么SOAP, 我們統(tǒng)統(tǒng)不用, 我們只用最輕量級的、基于Http 的Restful 來對外提供接口”

小明突然想到一個問題:“你們每個部門負(fù)責(zé)一個特定功能,那數(shù)據(jù)怎么辦?還用統(tǒng)一的數(shù)據(jù)庫嗎?”

“這是個老大難問題,我們得做數(shù)據(jù)庫的拆分啊,唉, 一言難盡。”

小明說 :“可以理解,不過這樣以來確實是更加敏捷了。”

大胖說:“這還不是最厲害的,最厲害的是我們能快速的自動化的部署這些小組件,并且能為他們創(chuàng)建很多實例來運行,有一個掛掉了也沒關(guān)系,別人可以調(diào)用那些還在運行的。”

“所以關(guān)鍵點就是這些小組件對外提供的服務(wù)是無狀態(tài)的,對吧?”

“沒錯”  大胖說, “這一點和你們的SOA是一樣的, 對了, 告訴你一個小秘密,我們在生產(chǎn)環(huán)境會做一些‘猴子測試’,通過寫腳本隨機(jī)的停掉一些實例,看看我們的系統(tǒng)運行的怎么樣”

小明說:“厲害啊,你們都玩的可都是心跳啊。”

“木有辦法,只有在生產(chǎn)環(huán)境才能發(fā)現(xiàn)真正的問題啊”

“難道你們的這種方式?jīng)]有缺點嗎?”

“當(dāng)然有了, 就拿數(shù)據(jù)庫來說吧, 數(shù)據(jù)做了分區(qū), 一致性怎么保證啊? 選擇分布式事務(wù)非常麻煩, 有時候不得不選擇最終一致性來妥協(xié);還有服務(wù)多了, 客戶調(diào)用起來非常的麻煩, 所以經(jīng)常得把多個接口API封裝,對外提供一個簡單的接口;當(dāng)然這種基于HTTP的調(diào)用遠(yuǎn)沒有原來的在一個進(jìn)程內(nèi)的方式效率高。 還有一個要命的問題就是監(jiān)控,你想想這么多運行的實例, 互相之間有調(diào)用關(guān)系,一個地方出錯了, 怎么追蹤啊,很麻煩。”

“不管如何, 你們這種把系統(tǒng)拆分,讓一個獨立的組織負(fù)責(zé)獨立的部分還是很敏捷啊, 對了,你說的小組件,難道沒有一個像SOA這樣的高大上名稱嗎?”

“當(dāng)然有了, 業(yè)界把這種方式叫做微服務(wù)! 雖然這個詞不能完整的表達(dá)我們做的事情。 我現(xiàn)在很期望Martin Flower 給它起個更貼切的名稱,就像Dependency Injection 那樣, 比之前的IoC強(qiáng)多了。 ”

吃過飯回去的路上,小明心想:天下大勢,真是分久必合,合久必分啊, 我們在零散系統(tǒng)的集成, 大胖他們又在搞巨無霸應(yīng)用的拆分。

相比而言,小明還是羨慕大胖,羨慕他們公司的朝氣蓬勃。 他雖然明白自己所在國企的信息系統(tǒng)和大胖做的不一樣, 但是暮氣沉沉的感覺讓人看不到希望, 再這么混下去, 熱愛的技術(shù)可就真的廢了。

過了年,小明已經(jīng)在國企服務(wù)了3年了,順利的拿到了帝都的戶口, 然后毫不遲疑的跳槽到了大胖的公司,去搞微服務(wù)去了。

【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號coderising獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2015-12-09 11:08:29

微服務(wù)SOAESB

2019-08-06 13:37:55

微服務(wù)架構(gòu)數(shù)據(jù)

2016-08-25 20:55:19

微服務(wù)架構(gòu)發(fā)布

2020-04-07 15:12:07

微服務(wù)架構(gòu)數(shù)據(jù)

2022-09-19 08:07:28

Goweb 程序

2017-07-05 15:09:52

密碼token瀏覽器

2021-05-20 13:22:31

架構(gòu)運維技術(shù)

2022-03-30 08:50:00

服務(wù)網(wǎng)格SOA

2019-10-08 11:04:44

SOA微服務(wù)架構(gòu)

2022-07-06 19:00:00

微服務(wù)框架鏈路

2021-08-03 09:07:39

GolangGrpc服務(wù)

2020-12-12 13:50:16

云開發(fā)

2021-01-27 13:54:05

開發(fā)云原生工具

2023-01-04 11:41:31

微服務(wù)SOA架構(gòu)

2021-07-12 05:01:11

云原生軟件架構(gòu)

2022-11-08 08:35:53

架構(gòu)微服務(wù)移動

2021-01-22 17:46:37

微服務(wù)開源Web

2019-08-21 17:41:29

操作系統(tǒng)軟件設(shè)計

2020-11-13 10:45:44

微服務(wù)架構(gòu)數(shù)據(jù)

2025-02-10 02:20:00

微服務(wù)SOA架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號