藍盟IT外包專家,雲端微服務架構下的運維思考

2020-12-16 夏掰外包IT

作者:熊普江 來自:51CTO

網際網路技術一直在快速演進當中,同時移動網際網路與雲時代的來臨,讓微服務架構應運而生。

由 51CTO 主辦的 WOTD 全球軟體開發技術峰會在深圳中州萬豪酒店隆重舉行。

本次峰會以軟體開發為主題,熊普江先生在「微服務與容器技術」專場與來賓分享了"雲端微服務架構的運維思考"的主題演講。

本文圍繞微服務架構的特點與發展趨勢,結合微信業務在微服務架構上的探索、應用、改進與提升,闡述運維如何應對業務在微服務架構環境下的各種挑戰。

如今網際網路技術呈現出兩方面的發展趨勢:雲化的趨勢和微服務。兩者相結合則更富挑戰性,本次我將以微信為例和大家一起探討。

本次分享分為三個方面:

微服務架構的演進

微服務架構的特點與趨勢

微服務架構運維的解決之道

微服務架構的演進

智慧型手機在移動網際網路中的快速普及,中國網際網路中心的相關調查表明:通過手機上網的用戶比例已經高達 93% 以上;而整個中國的網際網路滲透比例也已超過六成。

因此,我們所處的移動網際網路時代的開發呈現出如下的特徵:

移動互聯時代全面來臨

雖然在工作時仍然離不開電腦,但是我們使用手機來連接網際網路的場景更為頻繁。

由於手機的運算能力有限,手機更多地被用於展示或顯示內容。大量功能化的計算處理顯然需要依賴於雲端。所以我們實際上處於一個瘦客戶端的時代。

隨著我們停留在移動網際網路上的時間劇增,大量的數據也隨之產生,特別是相較於傳統 PC 時代,增長了數十倍、乃至數百倍。

這些大量的數據同樣也需要在雲端進行處理,因此我們對於雲服務的能力也會有一定的要求。

硬體技術發展迅速,伺服器性能越來越大。如今硬體的處理能力(特別是 GPU)發展迅速,伺服器的處理能力也得到了迅速提升。

這都導致了單個應用或者單個功能模塊很難消耗掉整臺伺服器的資源。為了提高多臺伺服器的資源利用率,我們需要將多個服務部署到同一臺機器之上。

容器技術興起,輕量協議支持成熟應用

在軟體方面,新興的技術包括:容器、Docker 和諸如 restful 之類的輕量協議,都加快了我們的開發與部署效率。

應用的雲化逐漸普及

為了將服務放到雲端,我們不再需要去買各種機器,而直接在雲上運用各種資源來部署我們的服務。

該領域不僅是網際網路企業的熱點,其他傳統企業,包括一些金融和醫療企業也都在往雲端尋求探索方向。

開發模式轉變

傳統的單體式集中開發模式為:前端 Web→管理系統→資料庫→作業系統→底層伺服器。

這種從上到下的「縱切」方式勢必導致了對於技術人才、硬體、網絡、軟體、以及技術的大量需求。

這些對於初創型企業來說,會存在全能人才難招、開發複雜、遷移與擴容難度大、無法快速的響應等困難。

因此我們需要在開發和運維方面轉變思路,通過「橫切」將底層資源和中間平臺轉包給 IaaS 和 PaaS 平臺,僅集中精力在前端的業務應用上。

精細化運營轉變

由于越來越多的服務都要經由雲端處理,以通過各種容器來實現快速部署與擴展,因此我們必需使用精細運維,來實現對於資源的充分利用。

基於上述移動網際網路時代的開發特徵,一種適用於快速變化需求的微服務架構應運而生,同時它也催生了 DevOps 的概念。

它是一種敏捷的開發模式架構,能夠讓我們迅速地實現:編寫規劃→編寫代碼→構建測試→發布上線→部署應用。

近兩年,微服務這個術語漸成熱門詞彙,但它不是一個全新架構,更不是一個包治百病的架構。

那麼,微服務架構與單體式架構相比優勢體現在哪?這些優勢又給開發模式、運維帶來哪些挑戰?

微服務架構的特點與趨勢

微服務架構的特點與趨勢如下:

一種架構風格。微服務架構實際上並非一種新的技術或能力,而只是一種架構的風格。它大約出現在 2014 年,但是微信早在 2011 年就開始使用該架構風格和思路進行開發與運維了。

強調服務的顆粒度、敏捷性和健壯性。微服務能夠實現快速地開發、部署、和穩健地運行。

單一、獨立。微服務專注於解決單一問題,因此非常獨立。該獨立性體現在完成某個功能不依賴其他的服務,即如果該服務出錯,並不會影響到其他服務。

解耦,去中心化,組件化封裝。既然相對獨立,那麼業務之間就是一種解耦的關係。縱觀整個應用之中的各個服務,雖然重要程度有所區別,但是沒有一個服務必須以微服務為中心,因此它具有去中心化的特點。

為了能在與其他的微服務打交道時使用統一的接口,微服務也會進行各種封裝。

多個微服務組合完成相對複雜的業務系統。我們能夠快速地將各個微服務組合到一起,構建出一個能夠達到特定需求且相對複雜的業務系統。

高性能,高容錯。由於每個服務都相對獨立,就能夠在保持系統穩定的前提下,極致地追求每個微服務的性能。在分布式的結構中,單個微服務的出錯(比如硬體出現問題)不會影響到其他的微服務。

另外在多個微服務並存時,同一個服務會有多個正在運行當副本,因此具有高容錯性。

微服務架構解析

微服務架構解析:

適用於構建複雜的應用,通過運用微服務,可以將各種模塊如搭積木一般組合成相對複雜的應用。

分布式,由於各個微服務之間都遵守相同的協議,可以實現多個微服務的分布式部署。

分別部署,由於每個微服務都具有單一且獨立的功能,因此服務模塊的數量顯然是龐大的,光靠人工完全無法實現分開部署。隨著微服務的數量呈幾何基數增長,我們需要用一套自動化的工具來進行快速地部署。

服務組件,微服務一般分為兩種不同的類別:一是基礎模塊或稱公共模塊。如:用戶登錄、推送(Push)服務模塊;另一是功能性模塊,如:實現發消息或發朋友圈的模塊。

微服務的邊界,雖然用的是同一種語言,但是可以進行獨立地開發與測試,因此每個微服務在被發布的時候不會跟其他的微服務共享數據存儲或內存空間。每個微服務都有自己的獨立空間。

API 層,如上圖所示,微服務與外界有一個接口層,它們遵守共同的協議進行通信,如 RPC 或 Restful 等,大家可以自由選擇各種技術。

微服務架構的擴展,為了應對未來可能對現有微服務的功能性增加,或是要增加其他業務場景,我們一般不在原有微服務上著手增加,而是新建另一個微服務,並獨立部署。

微服務架構的優勢

微服務架構有如下幾個明顯的優勢:

單個微服務更易理解,方便開發與維護。相比以往,只要定義好了一個微服務,我們在開發、維護和部署時就能方便地理解其功能意圖。

應用解耦、對應用整體應用交付而言,開發迭代更敏捷。我們可以單獨對一個微服務進行升級,而不會影響其他微服務的功能。

技術選擇更加自由,微服務不再需要限定某個統一的技術實現。每個程式設計師都有自己的技術偏好,有人喜歡 Java,也有人喜歡 PHP 或是 C。

以往大家不得不根據統一技術框架,遵循一致的開發語言。如今每個微服務都可以用不同的語言來實現。

微服務獨立部署,應用更穩定。由於每個微服務都不影響其他的微服務,因此單獨部署會給整體應用帶來更好的穩定性。

架構擴展更容易、更快速。如右圖所示,我們從三個維度進行架構設計。其中 X 軸表示可以放置多個副本;Y 軸是通過分層來擴容服務;而 Z 軸是對服務進行數據分區。

這說明我們的微服務能從 X、Y、Z 三個方向去擴展整體架構。

微服務架構帶來的挑戰

下面是談談引入微服務架構時會碰到的各種挑戰:

開發模式需要相應調整,首先要從「縱切」的開發思維轉變成「橫切」的思維。

跟以往相比,微服務的數量會大幅增加。

數據增多導致了容器的編排、配置與資源的管理更為複雜。相對於過去只需管幾臺機器而言,如今如何搭配和配置各種微服務會變得更複雜。

業務的容量管理變得更加困難,資源利用效率難以提升。以前我們只需要監控某幾臺機器的使用率。

如今,由於容器存在多臺伺服器上,就需要對容器裡各種服務的資源利用率和容量進行綜合管理,同時對它們的提升難度也更大了。

監控的顆粒度增多,依賴及關聯關係更加複雜。由於微服務的增多,監控的顆粒也相應有所增加。如上圖右側所示,顆粒之間的關聯關係也會變得更加複雜。

在微服務出現故障時,我們要有快速調度的能力,因此調度需要更精細化。

微服務架構下的運維思考

下面是我在微服務架構下的一些運維思考:

容量管理,即:如何在細粒度的狀態下,更有效地管理數量龐大的微服務。

容器編排與配置管理,如何合理地實現容器編排和配置管理?

服務監控,如何有效地監控數量龐大的微服務?

故障恢復與業務調度,出現故障時如何進行業務調度?

快速擴展,由於春節紅包或直播所導致的業務爆炸式增長或觸發時,如何快速擴容?

資源的利用效率,運維人員需要思考如何在保障業務穩定發展的同時,控制好成本不會大幅增長,資源不會出現簡單堆砌。

微服務架構運維的解決之道

下面先以微信為例,講解它使用到微服務架構的地方,接著介紹我們在微服務容量管理方面的具體工作,然後給大家分享在監控部署調度上值得參考的地方,最後探討我們在資源利用率上的精細化運營。

微信為什麼要微服務雲化

自 2011 年誕生以來,微信一直強調使用快速迭代、試錯、糾正的敏捷開發模式,也就是我們常說的「小步快跑」方式。

在微信內部有四個「法器」,分別是:

大系統小做

讓一切可擴展

有基礎的組件

能夠輕鬆地上線

大系統小做,不僅涉及到將海量系統中的模塊變得更清晰,而且在物理環境中實現分開獨立的部署,以便快速發現問題。

例如:一些公共服務的註冊登錄、LBS 的邏輯、和類似微信的搖一搖等方面,我們都將這些邏輯獨立了出來。

讓一切可擴展,此處強調兩個方面:

網絡協議的擴展。通過向前兼容,以應對將來可能出現的升級。

數據存儲的擴展。傳統的 MySQL 之類的結構化數據存儲,對於後期頻繁增加欄位的擴展性並不方便。因此微信採用的是 Key-Value 的非結構化數據結構,以方便存儲上的擴展。

在 2013 年到 2014 年間,微信的微服務模塊數已超過了 5000 個,我們碰到過兩個問題:

如果在一臺硬體能力超強的伺服器上只部署一個模塊,則勢必造成資源浪費。因此我們採用了混合部署,在一個伺服器上部署多個服務。

多個服務在一臺伺服器上搶資源,從而影響了服務的穩定性。因此我們採用了容器隔離。

有基礎的組件,把複雜的邏輯固化下來,成為基礎性軟體。在微信的後臺會有幾種不同的基礎組件,大致包括:

Svrkit,Client/Server自動代碼生成框架,實現 10 分鐘搭建內部伺服器。

LogicServer,邏輯容器:隨時添加新邏輯。

OssAgent,監控/統計框架:所見即所得的監控報表。

存儲組件,屏蔽容災/擴容等複雜問題。

微信微服務架構的應用與管理

我們對微信裡的各個微服務應用場景進行了定義:

服務布局,就是將用戶運用不同的方法與服務維度進行「切割」和布局。

引入各種容錯機制,如:當服務訪問中斷時,可自動重試;當服務運能不夠時,有過載保護和負載均衡;在必要時,可隨時關閉服務,實現柔性可用。

容量管理與監控。

部署管理與調度。

精細化運營。

我們對微服務也進行了技術分層:

接入層,主要實現對用戶的切分,以識別不同的運營商和不同的地域。

邏輯層,在微信中,微服務被更多地應用在邏輯層。

存儲層,主要應對海量數據,以及獨佔資源的情況。

服務布局

微信採用多地自治、園區互備的架構,城市之間的數據是相對獨立的。除了少數帳號全球同步以外,大部分業務都以電子郵件式的服務,各自有自身的環境在流轉和通信。城市間的後備則使用公網的 UDP 通道。

在城市內,使用三園區的架構,每個園區都是一套獨立的系統,從接入、邏輯、存儲每一層都是完全獨立的,並且可以互相為對方提供備份,多園區形成整體服務規模。

在園區內,由多機組成的 set,互為容錯,包含它們的網絡與電力也是獨立的。這樣的服務布局,不僅滿足微服務架構,也考慮了容災能力。

過載保護

過載保護是一個非常核心的微服務架構特性,目的是確保核心服務可用。

它包括三個層次:

服務要有輕重分離。即一個服務裡不能既有重的操作,又有輕的操作。

隊列控制。我們通過監控,來了解一個請求在隊列中等待的平均時間,從而決定是否要啟動拒絕或是限流。例如:對超過設定閥值的流量進行限制,確保服務可用。

組合命令式。由於微服務的調用鏈以及層次的增多,後端服務也會有多種。假定後端有兩個服務(A 服務與 B 服務),而前端調用需要依賴於 A、B 服務的組合結果,那麼單個 A 或者單個 B 的輕微過載,就可能導致前端服務不可用。

在這種情況下,需要有一個反饋機制。如上圖所示,整個系統基於反饋,把整個拒絕的信息全程傳遞。上圖右側是幾個典型的服務,從一個 CGI 調用一個後臺服務,再調用另一個後臺服務,系統會在 CGI 層面把它的重要程度往下傳。

回到剛才前端調用 A、B 服務的例子,使用這樣一種重要程度的傳遞,就可以直接拒絕那些相同用戶的 20% 的請求,有效地解決單個服務輕微過載的問題。

容量管理

為了在微服務架構下實行較好的容量關係,微信做到了三個前提:

微服務間資源進行隔離管理

微服務的過載有自我保護能力

服務的快速伸縮操作

容量管理是為了更好地進行業務支撐,因此我們構建了需要支撐的業務與其容量之間的模型關係,從而有效地評估出那些有效的微服務所對應的容量。

如上圖所示,下方的灰色線表示實際業務的容量,即業務量,如:請求量、調用量、以及用戶數。

紅色線表示在機器擴容或升級之後的現網容量。綠色線則表示最優容量,它比現網容量要高出 20%,以保證只是偶爾被觸發。

當業務需求超過現有容量時,業務就可能出現不穩定或者無法提供服務的情況。而擴容則往往涉及到複雜的數學運算。

因此由於現實中資源的採購、部署與上架存在周期,不大可能完全達到該綠色曲線。

隨著公有雲被廣泛地運用,我們基本上能夠實現及時獲取容量資源。當然要保證具有較好的業務支撐的話,應當具有容量的發現能力和適當的處理效率。

在實際進行容量評估的時候,可能會碰到如上圖所示的「坑點」:我們可能會將容量誤解為左邊的線性關係。

在某些時候,使用量上升到 60% 之前還是處於線性,可一旦升至 65% 或 80% 時,就會維持那麼多且再也上不去了,如右邊的容量模型所示。

所以說容量評估的困難之處就在於:一個應用或一個微服務在使用資源時會受到諸如:CPU、內存、網絡、以及磁碟 I/O 等多種因素的制約。

因此,我們應當去熟悉某個微服務主要消耗資源的關鍵點,以及它與其他資源之間的關係。

針對容量的評估,同樣在微信中引入了壓測。如圖所示,我們有四種模擬測試的方案:

模擬流量到測試環境,它對現網不產生影響。這往往由測試團隊來操作。

真實流量到測試環境,即運用 TCP 協議複製一份流量到測試環境。許多電商經常在一些大促之前,會把一些真實的流量引到測試環境之中,以檢驗系統到底能支撐多久。這往往由運維和開發協同執行。

模擬流量到現網環境,這種並不常見。

真實流量到真實環境,這是在微信中使用最多主要的現網壓測方式。該方法雖然最真實、且對容量的評估也最準確,但也會有最大的風險。它可能會引發故障,並考驗我們及時發現故障點的能力。

壓測具有雙面性,好的一面在於:有助於我們發現過去未曾注意的底層問題;不好的一面,則是在出現問題之後,我們可能無法快速地恢復,有時甚至並非將流量撤掉那麼簡單。

因為一旦某個服務崩潰了,則需要花時間和精力重新啟動它。因此我們在做真實壓測時,會特別注意上圖所列的三點。

上圖展示了過載保護的機制。當有更多的流量抵達時,過剩的流量會被直接拒絕掉,顯然我們也可籍此測算出其真實的流量大小。

可見過載保護,或稱快速拒絕是在微服務架構下做好容量管理的重要前提。如果沒有該保護,將很難評估現網容量的門限。

微服務監控

微信實現了對於微服務的立體化監控,監控的內容包括:

常規指標,如 CPU、內存、網卡等。

快速拒絕的數量級,通過該數量級,可以進一步評估受影響的用戶量。

耗時方面的精確數據。

調用失敗的次數、重試的次數。

這些在監控上都有一些數據來上報及展現。由於我們監控指標非常多,同時伴隨著微服務的增多,其產生的報警數量也會呈爆炸式增長。因此需要有智慧化的運維,通過 AI 應用去收斂各種報警。

就監控能力而言,我們為每臺機器都部署了 Agent。這些 Agent 的監控粒度比較密集,能夠達到秒級監控。與此同時,它們的數據上報能力也較為迅速。

業務部署與調度

容器的編排是微服務的一個重要方面,不同於 Docker,微信採用的是自研的 svrkit 架構,它參考了 borg/yarn/k8s/mesos 等主流調度系統的特點,該容器調度的微服務覆蓋率超過 80%。

微信的容器調度系統叫做 yard。如上圖下方所示,它分為兩層架構:

Resource Manager 和 Node Manager,負責資源管理。

Application Master 和 API/Query Server,負責作業管理。

資源管理的監控能夠決定出:在哪個容器中將哪個應用「拉起來」,而在哪個容器裡將其「下線」。

雖然該容器編排架構屬於微信自研、且尚未對外開放,但是其調度能力已逐步開放到了騰訊雲之上。

騰訊雲提供了包括集群管理、資源調度、以及鏡像倉庫等方面的結合。其對應的產品包括 CCS(容器管理)、API 網關、以及分布式微服務的架構管理等。

微服務精細化運營

精細化運營要做到對資源進行「削峰填谷」。通過了解業務的特性,掌握每個業務峰值的不同時間,從而將資源儘可能控制在上圖的藍色線條附近。

例如:微信的遊戲裡有一個功能模塊,在凌晨零點的時候開始新發禮品。此時該模塊對於資源的需求會劇增,而同一時刻其他模塊的資源消耗並不多。

因此我們就可以把該遊戲發禮品的微服務部署到其他模塊伺服器資源之上,從而削除它的峰值,達到了錯峰服務的效果。

我們在許多場景中會用到離線計算,如:各種日誌分析、應用數據分析、以及人工智慧方面的訓練。

這些都是可以使用到離線計算的業務,多數不需要實時,它們都可以被部署在資源谷底的時候。

微服務的未來演進

我們採用微服務架構之後,有些問題也值得我們去認真思考:

微服務這麼多,我們能否延用以往的 CMDB 方式進行有效地管理呢?特別是那些放在公有雲端的微服務,如何將它們納入現有的 CMDB 呢?

是否有更好的微服務管理工具,來實現服務可視化、消息跟蹤和智能故障檢測?

是否有微服務的應用商店,來幫助我們快速地開發各種應用?

整理/夏立城 上海藍盟創始人兼CEO,復旦校友創新創業俱樂部副會長,致力於用IT外包網絡維護服務賦能企業客戶發展,助力其創新、迭代和進化。

相關焦點

  • 藍盟淺談:「救火式」IT運維和主動式IT外包,CIO們更傾向於後者
    對於企業的IT部門來說最大的職能是管理和規劃好企業的IT基礎設施,支撐好企業的核心業務、維護好企業的系統,讓OFFICE辦公室的每位同事享受IT工具的便利性,高質量的網絡和運維服務帶來企業員工工作效率最大化,這也是為什麼IT部門被賦予企業最重要的職能之一。
  • 先來了解下IT外包運維!
    微盟的數據被破壞給很多商家帶來了損失,也引起了大家對於IT運維重要性的思考。每個公司都需要IT運維,從硬體運維、桌面運維到系統運維、資料庫運維和應用運維。運維的設備從個人電腦,到數以億計的高精尖計算設備(比如大型機),一年365天,一天24小時,IT運維人員守護者IT安全。
  • 【CTO講堂】微服務架構在雲端的應用
    為了幫助IT從業者職業之路擁有更多收穫,在諸多C粉的殷切期待下,由 CTO俱樂部打造的CTO線上講堂自登場以來獲得大家好評。本期邀請好雨雲創始人兼CEO、原澳客網CTO&CEO劉凡帶來「微服務架構在雲端的應用 」的主題分享。
  • 藍盟IT外包強烈預警「3389」——勒索病毒進攻中小企業的不二法門!
    據藍盟IT外包統計,2020年上半年以來,百分之八十被勒索病毒攻擊的中小企業,其最致命的漏洞都是「3389」埠。簡單來說「3389」埠在內網中,是IT運維人員遠程管理電腦的一種便捷方式,不需要額外安裝軟體,只要啟用windows作業系統自帶的遠程桌面服務也就是開啟windows作業系統的3389埠就可以方便的遠程操作及進行日常運維工作。
  • 藍盟淺談:專業的IT外包服務公司如何做好用戶體驗
    今天我們來講一下在專業的IT外包公司服務過程中如何做好用戶體驗,首先我們來了解下,什麼叫做用戶體驗,用戶體驗它指的是企業用戶在使用IT外包服務過程中發自內心的主觀感受,只有好的IT外包服務才會讓用戶覺得很舒服,也比較的信任,且企業用戶才有可能繼續使用並且在第二年第三年還與這家IT外包公司進行續籤
  • 藍盟淺談:公司行政人員「難」處理網絡故障,it外包助一臂之力
    在中小企業中,有一部分企業在IT的配置方面完全依賴於企業內部的行政人員,為此筆者常聽到行政人員「抱怨」企業的電腦和網絡以及辦公室線路、列印、門禁、監控、考勤等出現問題,行政統統都要去想辦法解決,在緊急情況下行政人員自己硬著頭皮上,明明是一名溫柔的小女子,卻硬生生變成了女漢子。
  • 藍盟淺談:勝任的IT外包服務顧問,需具備哪些知識和技能
    5、存儲及存儲架構知識。了解目前主流的存儲類型、架構、以及基本的特點,除了CPU和內存這些性能參數,存儲IO性能也是影響系統運行的重要因素。6、中間件及資料庫知識。了解主流的中間件和資料庫產品,工作過程以及技術特點,當應用業務發生問題時候,這些知識可以幫助我們判斷應該是找程序開發還是資料庫管理員。
  • SDCC 2017輕量級微服務架構實踐之路專場介紹
    屆時,人工智慧、區塊鏈、DevOps、雲原生架構、容器、安全、微服務、大數據、智能運維等方面的近百名技術專家將會為與會的觀眾帶來一場純技術乾貨的饕餮盛宴!本次大會特設的AI實踐論、區塊鏈技術流、邁進DevOps時代、雲原生架構專題、容器技術企業落地實踐分享、安全開發者峰會、輕量級微服務架構實踐之路、大數據平臺架構及應用、智能運維、軟硬體架構的更迭與創新十大技術專題,也必將吸引眾多與會者的目光!
  • 微服務架構設計實踐總結和思考
    本文談談在微服務架構設計中的一些實踐和思考。對於SOA和微服務,我前面很多文章都進行了詳細的闡述,今天這篇文章重點還是放在一些架構設計和實踐的一些關鍵點思考上面。一旦微服務註冊接入後,消費端通過註冊中心查找到可用的微服務後,那麼該微服務通過聲明式方式暴露的所有API接口都處於可用狀態。在微服務架構開發下,團隊實際應該有更加明確的邊界,更加粗粒度的接口暴露和交互,而不是簡單的團隊A在發現團隊B的微服務後,裡面所有的API接口都可以隨意調用,這樣反而是導致了更多的內部規則外協,也加強了兩個微服務模塊之間的耦合性。
  • 雲原生背景下的運維價值思考與實踐
    切雲的服務大量採用了雲原生的應用與技術架構,作為公司第一批面臨雲原生環境的業務運維,深切感受到雲原生給運維工作帶來的機遇與挑戰,運維模式的轉型已經迫在眉睫,此篇文章最大的價值在於將我們的轉型思路、方法與實踐,提供給後面更多面臨同樣挑戰的團隊借鑑與參考。下面我將從業務場景、運維轉型之道、雲端收益等幾個方面來跟大家一起來探討。
  • 雲計算和微服務關係 - CSDN
    傳統企業在長期的IT建設過程中,通常大量使用外包團隊,這導致採用的技術棧之間差異較大,統一管控和運維要求更高。需要運維7*24小時全天候值守、在線升級,並快速響應。在此時脫穎而出的微服務技術,面對上述困惑幾乎渾身優點:獨立開發、獨立部署、獨立發布,去中心化管理,支持高並發高可用,支持豐富技術棧,企業可以根據需要靈活技術選型。
  • 藍盟IT外包說說:為啥升級IOS14後就斷網了?
    運維的小夥伴火速奔往各個現場,檢查的結果如下,真相只有一個「這就是升級IOS14造的孽!」從2014年開始,隨著iOS 8的推出,蘋果增加了MAC地址隨機化,但研究人員和用戶很快發現,這種方法存在一個關鍵的限制,那就是只有當設備為了找到之前連接過的網絡而探查時這種方法才有效。
  • 微服務是什麼?十分鐘了解微服務架構
    微服務體系結構的特徵我們不能說對微服務架構風格有一個正式的定義,但是我們可以嘗試描述我們所看到的與「微服務」標籤相符的架構的共同特徵。與任何概述共同特徵的定義一樣,並不是所有的微服務架構都具有所有的特徵,但是我們確實期望大多數微服務架構具有大多數特徵。
  • 基於 Spring Boot 和 Spring Cloud 實現微服務架構
    Spring 頂級框架談及微服務,作為當前主流的企業框架Spring,它提供了一整套相關的頂級項目,能讓開發者快速的上手實現自己的應用,今天就介紹下Spring旗下各個頂級項目:Smart endpoints and dumb pipes本質就是去ESB,把所有的「思考」邏輯包括路由、消息解析等放在服務內部(Smart endpoints),去掉一個大一統的ESB,服務間輕(dumb pipes)通信,是比SOA更徹底的拆分。在此我向大家推薦一個架構學習交流群。
  • 藍盟淺析:不同規模的公司該怎樣搭建IT架構呢?
    在一家有近18年IT外包經驗的公司工作。經常有客戶問同樣的問題:和我們差不多規模的公司,IT方面都是怎麼做的,怎麼搭建IT架構比較好?今天柏阿姨就按照不同公司的規模,以及硬體、軟體幾個方面來給大家做一些分享。1.
  • 雲端研發新基建:Serverless 與持續架構服務落地實踐
    這種架構服務訴求背後的核心痛點體現在業務快速試錯與流量快速增長之間的矛盾。如果從傳統的架構方式去思考,這個問題很難調和: 如果要快速奔跑,就沒有時間好好思考設計架構。 如果架構設計不好,就無法支撐未來巨大的流量。
  • 輕量級微服務架構及最佳部署
    大家普遍認為,架構師的代碼比別人寫得少,但是工資卻比別人拿得多,架構師是技術團隊中技術最牛的人,別人搞不定的技術問題,在架構師眼中都是小菜一碟。這樣的人真的是架構師嗎?我們認為,他們不是架構師,而是技術專家。其實架構師與技術專家有著本質的區別,從他們所關注的技術方向來看,架構師更偏向技術廣度,而技術專家更偏向技術深度,如圖1-1所示。
  • 基於Spring Boot和Spring Cloud實現微服務架構
    我的學習是先從Spring boot開始的,然後接觸到微服務架構,當然,這一切最大的啟迪還是感謝我的一個老師,是他給我指明了新的道路,讓我眼前一亮,再次感謝。1、對於大的網際網路公司,微服務架構是血液,是習慣,每家公司都有自己的套路和架構,細節有不同,但是核心理念是通的。2、對於一般的公司而言,實踐微服務有非常大的技術挑戰,於是乎才有了這麼多IT供應商考慮這裡的商機。微服務比較適合未來有一定的擴展複雜度,且有 很大用戶增量預期的應用,說人話就是新興的網際網路公司。
  • 實現微服務架構最流行Style,Spring Boot+Spring Cloud
    我的學習是先從Spring boot開始的,然後接觸到微服務架構,當然,這一切最大的啟迪還是感謝我的一個老師,是他給我指明了新的道路,讓我眼前一亮,再次感謝。微服務比較適合未來有一定的擴展複雜度,且有 很大用戶增量預期的應用,說人話就是新興的網際網路公司。創業初期,不可能買大量的機器或者很貴的機器,但是又必須考慮應對成功後的巨量的用戶,微服務架構 成了最好的選擇。
  • 微服務,如何拆分服務是精髓|技術前沿
    從歷史發展看微服務起源2005年,Peter Rodgers博士在雲端運算博覽會上提出微Web服務(Micro-Web-Service),將程序設計成細粒度的服務,以作為Microsoft下一階段的軟體架構。