WOT2018沈劍:從58速運(yùn)看微服務(wù)架構(gòu)的優(yōu)秀實(shí)踐
原創(chuàng)【51CTO.com原創(chuàng)稿件】七年一劍,華麗蛻變。自2012年起連續(xù)6年15場峰會(huì),凝聚大量技術(shù)專家,博觀而約取,厚積而薄發(fā)。WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)將于2018年5月18-19日在北京粵財(cái)JW萬豪酒店召開,圍繞12大核心熱點(diǎn),匯聚海內(nèi)外60位一線專家,打造高端技術(shù)盛宴!是***IT技術(shù)人才學(xué)習(xí)和人脈拓展不容錯(cuò)過的平臺(tái)。
近日,51CTO記者對(duì)即將參加大會(huì)演講的58速運(yùn)CTO 沈劍進(jìn)行了專訪,讓我們先睹為快,探聽他在微服務(wù)架構(gòu)解耦方面的心得。
【講師簡介】
58速運(yùn)CTO 沈劍
58沈劍,互聯(lián)網(wǎng)架構(gòu)技術(shù)專家,“架構(gòu)師之路”公眾號(hào)作者。曾任百度高級(jí)工程師,58同城高級(jí)架構(gòu)師,58同城技術(shù)委員會(huì)主席。15年調(diào)至58到家任高級(jí)總監(jiān),技術(shù)委員會(huì)主席,負(fù)責(zé)基礎(chǔ)架構(gòu),技術(shù)平臺(tái),運(yùn)維安全,信息系統(tǒng)等后端技術(shù)體系搭建。17年調(diào)至58速運(yùn)任CTO,負(fù)責(zé)58速運(yùn)技術(shù)體系的搭建。
有利有弊,揭開微服務(wù)的真面目
近年來,微服務(wù)已經(jīng)成了一個(gè)熱門詞匯,獲得了越來越多的關(guān)注。微服務(wù)固然有很多優(yōu)點(diǎn):通過分解巨大單體式應(yīng)用為多個(gè)服務(wù)方法解決了復(fù)雜性問題;使每個(gè)服務(wù)都有專門開發(fā)團(tuán)隊(duì)來開發(fā);獨(dú)立部署;易擴(kuò)展。但微服務(wù)也不是任何業(yè)務(wù)都適用。“任何脫離業(yè)務(wù)的架構(gòu)設(shè)計(jì)都是耍流氓”,沈劍老師一針見血。“如果不了解微服務(wù)解決的問題領(lǐng)域,不了解微服務(wù)的優(yōu)缺點(diǎn),帶來的坑可能會(huì)高于帶來的收益。”
微服務(wù)分層拆分后,能夠使系統(tǒng)變得清晰,服務(wù)職能更加明確,并且可以向服務(wù)調(diào)用方屏蔽底層的復(fù)雜性,消除代碼拷貝,提高系統(tǒng)整體穩(wěn)定性及質(zhì)量。
但是,微服務(wù)架構(gòu)會(huì)使請(qǐng)求調(diào)用路徑變長,請(qǐng)求耗時(shí)也會(huì)增加,系統(tǒng)的復(fù)雜性和運(yùn)維的復(fù)雜度都會(huì)上升,定位問題的難度和周期都會(huì)加長。
所以,只有當(dāng)業(yè)務(wù)和系統(tǒng)復(fù)雜到一定程度,數(shù)據(jù)量大到一定程度,并發(fā)量逐步上升時(shí),使用微服務(wù)架構(gòu)才更為合適。
曾經(jīng)困擾58速運(yùn)架構(gòu)的那些痛處
沈劍老師以58速運(yùn)為例,深入解釋了微服務(wù)架構(gòu)的適用場景。58速運(yùn)在使用微服務(wù)架構(gòu)之前,系統(tǒng)存在諸多痛點(diǎn),例如:
1. 頻繁的代碼拷貝
2. 組件庫的版本兼容與耦合
3. 所有調(diào)用方都要關(guān)注底層系統(tǒng)的復(fù)雜度,例如:存儲(chǔ)引擎,分庫分表,緩存等細(xì)節(jié),使研發(fā)效率降低
4. 數(shù)據(jù)庫耦合
5. SQL質(zhì)量低下,數(shù)據(jù)庫性能降低。
微服務(wù)架構(gòu)的實(shí)施,大大緩解了上述痛點(diǎn)。
微服務(wù)不可避免的問題:耦合
微服務(wù)架構(gòu)雖好,但是如果實(shí)施不當(dāng),很可能引發(fā)系統(tǒng)之間的耦合。耦合,是架構(gòu)中本來不相干的代碼、模塊、服務(wù)、系統(tǒng)因?yàn)槟承┰蚵?lián)系在一起,各自獨(dú)立性差,導(dǎo)致相互影響。如:IP耦合、數(shù)據(jù)庫耦合、服務(wù)耦合等。
當(dāng)系統(tǒng)之間出現(xiàn)了耦合,就需要通過一系列的手段消除耦合。沈劍老師簡單例舉了幾種方式:
1. 服務(wù)之間通過IP耦合在一起,可以通過配置中心解除耦合。
2. 數(shù)據(jù)庫之間耦合,可以通過數(shù)據(jù)庫拆分,在數(shù)據(jù)庫上游建立數(shù)據(jù)訪問服務(wù)來解除耦合。
3. 有些服務(wù)間的耦合,可以通過異步消息來解除耦合。
沈劍老師透露,在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)上,他將在《58速運(yùn)微服務(wù)架構(gòu)解耦***實(shí)踐》專場,與大家現(xiàn)場交流更多關(guān)于消除耦合的技術(shù)。
***,沈劍老師表示,作為技術(shù)人,一定要理解透徹一個(gè)技術(shù)方案到底解決的是什么問題,適用場景是什么,如果一味追求***的技術(shù),對(duì)業(yè)務(wù)的發(fā)展只會(huì)是損害。
5 月 18 - 19日,北京•粵財(cái)JW萬豪酒店,全球最值得關(guān)注的IT技術(shù)盛宴與您不見不散。2018WOT全球軟件與運(yùn)維技術(shù)峰會(huì)一定是您發(fā)現(xiàn)全新思路、挖掘***思想、拓展人脈的重要平臺(tái)。
目前我們的各項(xiàng)票種已全面發(fā)售。需要提醒您的是,購票越早,折扣越大!與KOL零距離交流,呈現(xiàn)不一樣的“英雄盛宴”!
點(diǎn)擊官網(wǎng)了解詳情:wot.51cto.com
8折預(yù)售中,搶票從速。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】