天天看點

阿裡雲千萬級架構的建構——阿裡雲 MVP 喬銳傑

喬幫主直播内容精煉整理、分以下5篇:

一、分享介紹&架構三原則

二、雲架構、架構的原始階段和基礎階段 三、架構動靜分離和分布式階段 四、架構資料緩存階段和兩個次元拓展階段 五、架構微服務階段 直接觀看視訊
阿裡雲千萬級架構的建構——阿裡雲 MVP 喬銳傑

分享簡介

本次分享阿裡雲千萬級架構的建構——架構的成長演變之路,出自本人的一本書籍《「阿裡雲」運維架構實踐秘籍》。

書籍主要有四大篇:

一、雲端選型篇

二、雲端實踐篇

三、雲端安全篇

四、雲端架構篇

共十八個章節,是以我更喜歡把書的内容稱為雲端實踐秘籍:“降雲十八掌”。

書籍已上架京東了,正在印刷出版中,大家感興趣的可以下單預購閱讀一下。書籍的内容總共有四五十萬字,三百副運維架構圖。我曆時八年、累積了千家一線網際網路企業、在雲端實踐的幹貨以及經驗,包含了雲端二十餘款熱門産品實踐、五十餘項常見開源熱門技術實踐,以及包含雲端最熱門的:監控、DevOps/容器、智能運維等技術實踐。

主題介紹

本次的分享的主題内容,主要摘要書籍中的《第17章 雲端千萬級架構的演變》的精華内容。

以下為内容提綱

阿裡雲千萬級架構的建構——阿裡雲 MVP 喬銳傑

我将通過案例及經驗,給大家分享以下4點内容

一、最原始的單機階段,如何逐漸演變發展到千萬級的架構。

二、架構的成長演變之路。

三、作為架構師在設計架構的過程中需要注意的點。

四、阿裡雲最熱門及最新的技術趨勢,讓大家通往架構師之路少走些彎路。

我們知道程式設計的本質是『确定性』,同樣一段代碼,在任何時候執行,結果應該是确定的,有bug也是确定的。而架構設計的本質是『不确定性』,同樣的一個系統,不同公司不同架構師做出的設計差異可能很大,但是呢,都能正常運轉。也就是說架構設計更多的是面對多種可能性時進行選擇,架構設計領域也沒有通用的規範,更多的是依賴每個架構師的經驗和直覺。但是,它有3個共性原則隐含其中,分别是:合适原則、簡單原則、演化原則。

架構的三個原則

首先來看看一個雲端汽車官網的案例,主要是一個PHP網站,這是我之前接觸到的一個真實的客戶案例。

阿裡雲千萬級架構的建構——阿裡雲 MVP 喬銳傑

客戶連續提了四個需求,很令人崩潰“一個簡單的官網有多少人通路,難道還指望做成千萬級架構的?”然而,客戶還有理有據,說要高可用、要分布式保障業務穩定性等等,有什麼問題?這個案例,側面說明了客戶并沒有真正了解技術架構所核心依賴的業務場景,隻是單純的為了架構而架構。

阿裡雲千萬級架構的建構——阿裡雲 MVP 喬銳傑
(一)架構的第一個原則—合适原則:即合适優于技術本身

前文汽車官網的案例,是否『高可用』,是否『分布式』,是否采用『熱門技術』其實都不重要,重要的是合适。一個官網本身就是業務系統中的邊緣系統,一個簡單的PHP網站,我們用一台4核8G的雲主機來部署即可。真正優秀的架構是核心結合業務情況,能夠合理地将資源整合在一起并發揮出最大功效,并且能夠快速落地。在架構設計過程中,我們很容易陷入技術本身的誤區,而忽略我們業務的本質特點。一味追求最流行的技術架構、追随一線大廠技術架構、追尋大而全的技術架構是沒有任何意義的。是以架構的本質就是取舍,不求最新,不求最全,隻求最合适。

(二)架構的第二個原則:簡單原則:即簡單優于複雜。

複雜,這就意味着難度增加,不可控風險增加。如果保持簡單,能讓系統友善了解,友善擴充,并且耦合度降低。簡單并不代表沒有技術含量,反而簡單的實作更為實用,比花哨設計也更能适應系統一步步演化。是以『複雜』在軟體領域,代表的不是領先或者先進,而是『問題』。如果簡單方案和複雜方案都可以滿足要求,架構設計應該選擇簡單方案。

阿裡雲千萬級架構的建構——阿裡雲 MVP 喬銳傑
(三)架構的第三個原則:演化原則:『演化優于一步到位』

一個好的架構是靠演變而來,而不是單純的靠設計。我們剛開始做架構設計時,不可能全方位地考慮到架構的高性能、高擴充性、高安全等各方面的因素。随着業務需求越多越多、業務通路壓力越多越大,架構不斷地演變及進化,因而造就了一個成熟穩定的大型架構。如淘寶網、如Facebook等大型網站的架構,無不從一個小型規模架構,不斷進化及演變成為一個大型網站架構。是以不要期望一步到位的設計一個軟體架構,不要期望我們設計的一次性架構都能滿足業務的不斷變化。架構師在進行架構設計時需要牢記這個原則,時刻提醒自己不要貪大求全,或者盲目照搬大公司的做法。

總結:合适原則>簡單原則>演化原則。

第一原則:合适原則,優先滿足現有業務需求;

第二原則:簡單原則,選擇簡單方案快速落地驗證;

第三原則:演化原則,适當預測業務發展,在問題出現時及時演進。

這三個原則是一體的,相輔相成的。

聊完架構的三個原則,接下來我們聊一下雲架構。

下一篇:雲架構、架構的原始階段和基礎階段