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

淺談微服務架構搭載容器云構建歷程

開發 架構
歷史總是驚人的相似,合久必分,分久必合。我們經歷了“合”:單體架構(軟)、計算能力超強的小型機(硬)到“分”:分布式架構的轉變,后期可能會將“分”發揮到了極致(去中心化的分布式,如區塊鏈),最后很可能再經歷“合”:計算和存儲能力超強的“智人”。

 服務簡史

歷史總是驚人的相似,合久必分,分久必合。

[[272671]]

我們經歷了“合”:單體架構(軟)、計算能力超強的小型機(硬)到“分”:分布式架構的轉變,后期可能會將“分”發揮到了極致(去中心化的分布式,如區塊鏈),最后很可能再經歷“合”:計算和存儲能力超強的“智人”(邊緣計算的升級,集超級計算和存儲一身的人工智能)。

01.png

那單體架構為什么要演進呢?筆者認為主要體現在如下3點:

1.業務量在增加

互聯網發展對應用開發提出了更高要求。業務的量級和效率提高,傳統的單體架構將出現瓶頸。

2.能采集的信息越來越多

互聯網飛速發展的同時,也推動了云計算、大數據、人工智能的快速落地,數據采集遍布軟件、硬件,數據本身價值也得到提升。使用微服務架構恰好解決了大部分痛點。

3.萬物互聯

數據聯通性的需求:系統間,系統與硬件之間,數據對接必須保證高性能、高安全、高標準.

微服務架構

我們已經意識到:技術架構受公司業務和組織架構影響。作為從單體架構過來的人,起初我是拒絕的,或者說擔心我們的業務被拆分后出現不穩定狀況。但是隨著業務突然擴展,業務不斷細分,敏捷開發和配套的技術方案迫在眉睫。總歸是要邁出這第一步,2015年下半年,我們踏上了微服務的不歸路。

技術選型

首先根據總體業務規劃,我們先做了初步的技術架構規劃,然后確定選型思路:

  • 不綁定到特定的框架,跨語言
  • 服務最好是Restful風格(風格極簡,且是主流標準)
  • 足夠簡單,容易落地,將來能擴展
  • 穩定性強
  • 和Docker相容性好(自動化運維)

有了思路,根據我們的方法論,要根據現有的主流架構做一番比較和篩選然后才能最終敲定:

  1. Dubbo、DubboX:優勢在于全棧、服務治理的支持性強,是阿里巴巴開源且經過阿里巴巴實踐的產品,中文文檔很多,社區活躍。但選型時停止維護,跨語言難度較大
  2. Spring Cloud:是Spring旗下的子項目,社區足夠強大,架構本身簡單方便,幾乎零配置。基于RESTful API,跨語言。但當時Spring Cloud實踐較少,且性能和RPC相比不占優勢
  3. Motan:是微博平臺微服務框架,承載了微博平臺千億次調用業務。優勢在于性能,且實現模塊化、結構簡單、易于使用、跨語言,但對于復雜的業務支持不夠好
  4. Thrift、gRPC:并不能算作微服務框架,自身并不包括服務發現等必要特性
  5. Istio:Service Mesh思想,可以看作是微服務架構的一次升級,和serverless要解決的問題類似,讓業務/算法與服務治理剝離,當時技術還不成熟(這個選型時后來補充的)

受限于當時技術團隊的資源限制,我們根據最小阻力原則,選擇了SpringCloud.spring cloud提供了開發分布式服務系統的一些常用組件,例如服務注冊和發現、配置中心、熔斷器、智能路由、微代理、控制總線、全局鎖、分布式會話等。如下圖所示:

02.png

架構替換

經過短期探索調試后準備開始試水,暫時不敢動主流業務,我們就從對外提供的一些接口服務和部分獨立系統開始下手,這個階段我們嘗到了甜頭,但緊隨其后就是各種填坑,質疑不斷,不過最后我們還是堅持下來。

構建容器云支撐

微服務初步改造后,給我們帶來了一些額外困擾:

  1. 微服務過多,服務治理成本高,不利于系統維護。
  2. 分布式系統開發的技術成本高(容錯、分布式事務等),對團隊挑戰大。

顯然,我們不能通過jar包啟動的方式去維護大批量微服務,而且這些服務部署在一起還相互影響。

啥是配齊?容器云+微服務

在剛引入微服務后不久,我們并沒有急于替換所有業務,而是把基礎運維工作做好,隨后我們引入了Docker。Docker給我們帶來了:

  1. 迭代效率提升支撐:Docker 用戶發布軟件的頻率平均快了 7 倍
  2. 環境可移植:Docker是一個代碼運輸集裝箱系統,它使得通過Linux的軟件開發和交付變得很容易
  3. 更快且更小:充分利用服務器資源,一臺虛機可以跑幾十個容器
  4. 標準統一:可實現環境甚至架構的復制性

光有Docker還不夠,我們發現引入Docker容器后,雖然解決了一些問題,但是還不夠。我們運維起來太麻煩,各種Docker命令還有腳本,甚至我們都不知道我們到底有多少服務,它們健康狀態、資源占用怎么樣,當業務量激增難道我們永遠都是被動且手動的去做服務伸縮么?

我們隨后引入了容器編排工具:Rancher,并圍繞Rancher + Docker構建了一套容器云和一套DevOps工具集(本文不做重點描述,歡迎關注后續文章)。

當我們從大量運維工作中解放出來后,我們發現,小團隊也可以做大事情:

  1. 小團隊作戰,敏捷開發方式,替換其他業務
  2. 解決方案打包,一鍵部署
  3. 抽出人手構建我們同等重要的DPaaS平臺
  4. 部分業務變化快的模塊快速優化甚至重構

初見成果

雖然微服架構替換現有業務說起來容易,但整個替換過程持續了將近2年,到了2017年底,我們已經形成一套基于容器云和微服務架構體系的解決方案,整體架構如下圖所示:

 

 

責任編輯:華軒 來源: 老劉的技術棧
相關推薦

2023-09-03 16:54:59

容器架構微服務

2021-04-06 09:43:41

微服務架構數據

2015-07-22 15:19:46

Docker云計算微服務

2017-07-04 14:57:40

微服務paasdocker

2019-07-11 15:25:02

架構運維技術

2020-12-10 08:00:00

開發.NET工具

2018-01-10 14:22:05

2017-06-26 09:06:10

Spring Clou微服務架構

2015-07-29 16:23:07

2018-03-26 04:53:46

Serverless微服務架構

2017-09-04 16:15:44

服務網關架構

2021-12-29 08:30:48

微服務架構開發

2023-10-12 09:48:00

微服務工具

2017-11-22 15:00:34

微服務基建API

2017-12-20 15:37:39

Spring Clou微服務架構

2017-07-03 09:50:07

Spring Clou微服務架構

2023-07-28 09:23:24

微服務架構

2017-08-10 11:15:05

Spring Clou微服務架構

2017-08-09 15:50:47

Spring Clou微服務架構

2019-09-18 16:52:58

hyperf微服務php
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 五月激情六月婷婷 | 99re免费 | 成人伊人 | a黄视频| 日韩精品一区二区三区在线观看 | 91传媒在线观看 | 日日夜夜免费精品视频 | 999精品视频| 一区二区精品视频 | 亚洲精品中文字幕 | 成人午夜精品 | 欧美一区二区三区的 | 一区二区av在线 | 久久午夜精品 | 三级成人在线 | 日韩精品久久久久久 | 久久不卡日韩美女 | 欧美日韩一区在线观看 | 凹凸日日摸日日碰夜夜 | 成人一区二区三区 | 欧美精三区欧美精三区 | 久久天堂网 | 国产一区二区在线免费播放 | 久久久激情视频 | 黄色免费在线观看网站 | 九九亚洲 | 粉嫩av在线 | www精品| 亚洲高清免费 | 亚洲视频在线观看免费 | 欧美成人免费在线 | 91社区在线观看播放 | 日本污视频 | 久草福利 | 色小姐综合网 | 日韩精品久久久久 | 国产精品久久久久久久久久久久 | 国产精品久久久久久久久久尿 | 日本在线精品视频 | 国产97视频在线观看 | 天堂网avav |