【20170404】一週技術總結

weixin_34249678發表於2017-04-04

  這裡講的是我在這周內所瞭解的技術動態,我在專案裡遇到的事情。可能對我是新鮮事,對你並不是,對行業來看也不是。


  上次的技術總結是3月8號做的,對於“堅持”這件事,自己做的還是很不足。

  前面的一個月內太多事太多事,搞得自己工作時跟打雞血一樣,上了地鐵、計程車等就困的要睡覺。

         分散式架構,在專案開發中經常會用到的。
         前段時間,收到阿里雲的活動推送,雲資料庫免費。點選看了下,分散式mysql資料庫,讀免費,寫收費,一月費用800多,一年要一萬左右,光是分散式資料庫這塊。
          如果再算上負載均衡、分散式檔案管理、分散式其他服務等等,購買整體一套的雲服務,價格不菲的。
           所以,我們聊聊如何自建分散式架構。


我們自己畫了一個分散式架構拓撲圖。

2942774-4dcf7ef98ec9967f.png
我們的分散式架構拓撲圖

1. web 應用採用Spring mvc 4.0、hibernate ORM框架、安全框架 shiro (登入授權)(session管理)(RBAC許可權控制)

2. Cache層
redis組成叢集快取, 使用ehcache做為本地快取
資料儲存使用Mysql
MySQL,經過實踐檢驗,有大量成熟的案例、解決方案、技術支援,而且是免費的。

3. 負載均衡
LVS+Ngnix,部署高可用7層負載均衡方案

4. Web中介軟體選擇
採用方案:Ngnix + Tomcat免費高效搭配方案

5.分散式檔案同步
rsync資料映象備份工具,配合資料庫組成高可用分散式檔案儲存方案

6.分散式資料庫中介軟體
MYCAT國內最活躍的、效能最好的開源資料庫中介軟體,被很多大型企業使用反饋良好

7.分散式資料庫同步中介軟體

採用方案:開源中介軟體otter
阿里巴巴B2B公司,因為業務的特性,賣家主要集中在國內,買家主要集中在國外,所以衍生出了杭州和美國異地機房的需求,同時為了提升使用者體驗,整個機房的架構為雙A,兩邊均可寫,由此誕生了otter這樣一個產品。

8. 微服務:採用DUBBO是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,是阿里巴巴SOA服務化治理方案的核心框架,每天為2,000+個服務提供3,000,000,000+次訪問量支援,並被廣泛應用於阿里巴巴集團的各成員站點。

注:6和7的關係。比如有三個資料庫,資料庫之前肯定要資料同步,這個是資料庫之間同步用的。

這樣的分散式架構,至少要兩臺伺服器,理想狀態是三臺伺服器。
根據使用人數的增加,通過伺服器的增加,我們可以從容應對大流量、大併發、大資料。
費用的話就是三臺伺服器的成本,至於人力成本,您懂的~~

相關文章