1. 程式人生 > >Azure技術12-高可用--在Azure上創建典型高可用架構應用(1)

Azure技術12-高可用--在Azure上創建典型高可用架構應用(1)

公有雲 高可用 mysql azure PHP

在上篇文章中我說了我會結合IaaS與雲端PaaS,本次我將在Azure上部署一個最簡單最常規的高可用架構,雲端產品主要包含,PaaS層采用Azure Database for MYSQL作為數據庫後端服務器,部署兩臺Windows虛擬機做前端應用服務器,部署一套PHP論壇,並采用Azure負載平衡器來分攤用戶對應用的訪問,實現前後端的高可用的效果。為啥要用mysql的呢,呃,最近遇到的客戶用mysql的比較多,好了吧,,,
廢話不多說,先來個簡單的架構圖
技術分享圖片
當然我們在部署之前還是要先了解產品,這裏我著重說一下Azure Database for MYSQL,(我這裏用的全球版Azure的做的實驗),國內的叫Mysql Database on Azure,該產品作為PaaS層數據庫的典型,當然有一些PaaS應該有的特性,首先我們還是截點產品圖,國內版的Mysql 包含兩個版本,總共8個規格,如圖
技術分享圖片
看得出來差別主要還是在最大支持同時連接數和數據備份的時間,這裏有個亮點,咱們作為用戶,看起來非常重要的幾個字“免費數據庫容量”,沒錯,就是免費,這個對於一些客戶只放數據量小,一般的應用是沒有什麽問題的,100G足夠很多應用跑了。
當然我們不可能公公根據數據庫的容量來選型,下面來看看官網上是怎麽指導選型的
1、什麽是計算單元?
計算單元是保證單個MySQL Database on Azure服務器可用的CPU處理吞吐量的一種度量值。 計算單元是CPU資源和內存資源的混合度量值。 通常,50個計算單元等同於半個CPU內核,100個計算單元等同於1個CPU內核,1300個計算單元等同於保證服務器可用處理吞吐量的13個CPU內核。
提高一個性能級別可使計算單元加倍,這等同於使該單個MySQL Database on Azure可用的資源集增加一倍。
例如,相比100個計算單元而言,高性能的1300個計算單元提供超過13倍的CPU吞吐量和內存。
可隨時更改服務層而幾乎不會造成任何應用程序停機時間。 對於許多企業和應用來說,能夠在單個MySQL Database on Azure服務器中創建一對多數據庫,以及按需提升或降低性能的特性提供了管理所需的靈活性。
也就是說我們可以根據Mysql在本地服務器上對CPU的要求來計算我們在雲端應該選擇的型號。(記住一點100個計算單元等同於1個CPU核),然後對應下表進行選型即可。
這裏給大家說個經驗,一般我們不會直接把本地數據中心給數據庫的配置直接配到雲上,我們可以適當降低配置在雲端部署,來達到最高性價比。
技術分享圖片
下面進入正題,先把雲端的基礎架構創建好,首先是虛擬網絡,我們建機房也是要先有電有網吧,首先創建一個虛擬網絡,這裏註意創建一個資源組,這是為了將我們的資源在邏輯上集中在一起,方便進行管理,我這裏創建資源組叫wangRG01,虛擬網絡網段10.1.0.0/24提示我有256個地址,
技術分享圖片

填入對應的選型參數,我這裏做測試就用稍小的資源常規用途規格即可![](http://i2.51cto.com/images/blog/201803/31/df94c39f7934db559663934bc16d171a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
點了之後大概5分鐘左右,MYSQL創建完成
![](http://i2.51cto.com/images/blog/201803/31/1241dd41196a718d426ac36dc80a0339.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
我們點進去看看詳情,我們重點記住2個參數,1個是服務器地址,另一個是用戶名方便後面我們連接到數據庫
![](http://i2.51cto.com/images/blog/201803/31/2987fe0bd3f64da23f969f589cd7937c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
為了能夠連接到數據庫,我們需要在連接安全性中設置一下允許訪問數據庫的IP地址,為了方便測試,我們將SSL驗證關掉,並且將數據庫的訪問開放給所有網段0.0.0.0-255.255.255.255(生產環境不建議這樣操作)
![](http://i2.51cto.com/images/blog/201803/31/35acc83d25f519fd68bf1a2e23b27be7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
我們來驗證一下工具能否連接至Mysql
將連接地址wangmysqldb.mysql.database.azure.com,賬號wang@wangmysqldb,密碼填入工具中,端口默認3306
br/>![](http://i2.51cto.com/images/blog/201803/31/df94c39f7934db559663934bc16d171a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
點了之後大概5分鐘左右,MYSQL創建完成
![](http://i2.51cto.com/images/blog/201803/31/1241dd41196a718d426ac36dc80a0339.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
我們點進去看看詳情,我們重點記住2個參數,1個是服務器地址,另一個是用戶名方便後面我們連接到數據庫
![](http://i2.51cto.com/images/blog/201803/31/2987fe0bd3f64da23f969f589cd7937c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
為了能夠連接到數據庫,我們需要在連接安全性中設置一下允許訪問數據庫的IP地址,為了方便測試,我們將SSL驗證關掉,並且將數據庫的訪問開放給所有網段0.0.0.0-255.255.255.255(生產環境不建議這樣操作)
![](http://i2.51cto.com/images/blog/201803/31/35acc83d25f519fd68bf1a2e23b27be7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
我們來驗證一下工具能否連接至Mysql
將連接地址wangmysqldb.mysql.database.azure.com,賬號wang@wangmysqldb,密碼填入工具中,端口默認3306

然後連接,進入看到我們的服務的開啟狀態,可以查看系統數據庫
技術分享圖片

好,數據庫在這裏就創建完成了

Azure技術12-高可用--在Azure上創建典型高可用架構應用(1)