一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

應(yīng)用開發(fā)者視角看攜程架構(gòu)的演變

大小:0.3 MB 人氣: 2017-09-28 需要積分:1

  攜程的架構(gòu)經(jīng)歷了長期的演變和迭代,其中多個(gè)產(chǎn)品已經(jīng)歷了5次以上更新?lián)Q代。每次迭代都有其背景和出發(fā)點(diǎn),都解決了前一個(gè)版本的痛點(diǎn)又不可避免地帶來一些新的問題或遺漏一些問題。這種迭代過去、現(xiàn)在,以及將來將一直持續(xù),其中經(jīng)歷可圈可點(diǎn),值得技術(shù)人細(xì)細(xì)品味。

  本文會(huì)首先從總體介紹攜程架構(gòu)的組成,然后以發(fā)布系統(tǒng)、配置管理和SOA三個(gè)實(shí)際案例,詳細(xì)介紹架構(gòu)迭代,最后以UserProfile項(xiàng)目具體介紹攜程架構(gòu)亮點(diǎn)的點(diǎn)滴。

  聲明一下,本人現(xiàn)擔(dān)任攜程用戶帳戶信息的開發(fā)負(fù)責(zé)人,文章更多是從一位基層團(tuán)隊(duì)負(fù)責(zé)人和一線開發(fā)人員的角度給大家分享攜程架構(gòu)歷程。

  文中涉及架構(gòu)的方方面面,其中運(yùn)維相關(guān)內(nèi)容由運(yùn)維團(tuán)隊(duì)負(fù)責(zé);架構(gòu)相關(guān)內(nèi)容由架構(gòu)、框架、工具各團(tuán)隊(duì)負(fù)責(zé);應(yīng)用相關(guān)內(nèi)容除用戶帳戶信息以外都是由其他開發(fā)團(tuán)隊(duì)負(fù)責(zé)。對(duì)于不是本人負(fù)責(zé)的產(chǎn)品,文章僅站在使用方、合作方的角度,作客觀、公正、事實(shí)的描述,且已盡量爭(zhēng)取各團(tuán)隊(duì)負(fù)責(zé)人的授權(quán)、收集各團(tuán)隊(duì)負(fù)責(zé)人的建議。

  1.架構(gòu)的組成

  應(yīng)用開發(fā)者視角看攜程架構(gòu)的演變

  總體來說,架構(gòu)由三部分組成:運(yùn)維、框架、應(yīng)用。

  1.1.運(yùn)維

  談到高可用和穩(wěn)定性,我們首先想到的肯定是運(yùn)維。攜程的運(yùn)維是應(yīng)用和架構(gòu)堅(jiān)強(qiáng)的后盾,主要有四大亮點(diǎn)。

  1.1.1.集群管理策略

  攜程的Web集群有slb控制流量,根據(jù)healcheck的結(jié)果可以自動(dòng)拉出和拉入。發(fā)布和擴(kuò)容過程對(duì)開發(fā)透明,當(dāng)機(jī)器check成功且沒有報(bào)錯(cuò)時(shí),機(jī)器將拉入集群。當(dāng)check失敗或單位時(shí)間報(bào)錯(cuò)超過閥值,機(jī)器將自動(dòng)拉出集群。

  1.1.2.FullDR機(jī)制

  Web、DB、Redis集群都有長效的FullDR機(jī)制,當(dāng)一個(gè)IDC完全掛掉,比如網(wǎng)絡(luò)故障、網(wǎng)線拔斷等發(fā)生時(shí),F(xiàn)ullDR將發(fā)揮功效。攜程定期對(duì)FullDR進(jìn)行演練,以確定DR對(duì)訂單的影響。

  1.1.3.DBA策略

  數(shù)據(jù)的安全是重中之重,攜程將用戶數(shù)據(jù)放在穩(wěn)定的首位。我們使用M-S機(jī)制和FullDR結(jié)合保證數(shù)據(jù)的高可用。同時(shí)為了因應(yīng)互聯(lián)網(wǎng)的發(fā)展,我們將MSSQL的數(shù)據(jù)無縫遷移至MYSQL,雖然花費(fèi)了很多時(shí)間和成本,但是為了穩(wěn)定,投入也是值得的。同時(shí)我們保證遷移過程對(duì)用戶是透明的。

  SQL+NoSQL的結(jié)合是互聯(lián)網(wǎng)發(fā)展的趨勢(shì),而攜程的數(shù)據(jù)存儲(chǔ)更是包含MSSQL、MYSQL、Redis、Hive、ES等多種方式和技術(shù),保證數(shù)據(jù)的高可用、最終一致性。

  1.1.4.NOC機(jī)制

  在攜程,作為開發(fā)負(fù)責(zé)人是非常艱苦的,因?yàn)槿绻阖?fù)責(zé)的應(yīng)用一旦出現(xiàn)異常,NOC 7*24小時(shí)都可能聯(lián)系你。NOC通過專門的訂單大圖和異常圖表監(jiān)控所有應(yīng)用的運(yùn)行狀態(tài)。訂單量同比、環(huán)比的上升、下降都會(huì)被嚴(yán)密的監(jiān)控。

  1.2.框架

  應(yīng)用開發(fā)者視角看攜程架構(gòu)的演變

  框架是應(yīng)用的基石,而攜程框架更是經(jīng)歷過且正在經(jīng)歷著演變和迭代。其中特別值得分享的包括:

  1.2.1.SOA&Gateway

  SOA&Gateway是服務(wù)的治理平臺(tái)。有著非常悠久的歷史,我后面會(huì)詳細(xì)展開。

  1.2.2.發(fā)布系統(tǒng)

  攜程的發(fā)布系統(tǒng)集成了很多特色功能,比如剎車、回退、版本切換、共用dll打包、pom檢測(cè)等等。發(fā)布系統(tǒng)經(jīng)歷了歷史上最嚴(yán)重的災(zāi)難性故障,在故障中浴火重生,非常值得給大家分享其演變和迭代。

  1.2.3.消息隊(duì)列

  市面上開源的消息隊(duì)列工具非常多,Storm、MSMQ、ActiveMQ、RabbitMQ等。攜程結(jié)合各第三方的優(yōu)點(diǎn),加以融合,結(jié)合自身情況,自主研發(fā)了消息隊(duì)列。核心功能有Partition有序、異步補(bǔ)償和消息生命周期跟蹤。

  1.2.4.配置管理

  配置管理在任何規(guī)模的公司都會(huì)做,而對(duì)配置而言最重要的不外乎是便捷、高效和高性能。攜程配置管理的演變恰恰反映了這種趨勢(shì)。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?