2016年4月18日 星期一

微众银行基于自主可控技术的分布式架构实践

參考來源:微众银行基于自主可控技术的分布式架构实践 http://www.infoq.com/cn/presentations/webank-distributed-architecture-practice-based-on-self-controlled-technology

心得

難得看到新銀行的案例分享,新銀行就沒有過去技術的包袱,每個邏輯節點可以作所有業務,但把user分塊,也就是沒有一個資料庫有全部的資料,不同節點之間需要對方的資料就要去查詢。並且同時有Scale up與Scale out的方案,把模組切分的更獨立來架構變得靈活,用Open Source技術與同一機器環境讓運營成本比起傳統銀行少了10+倍。非常值得參考!

筆記

  • 普惠金融:普惠金融體系(Financial Inclusion System)普惠金融體系是指一整套全方位為社會全體人員,尤其是金融弱勢群體提供金融服務的思路、方案和保障措施等。
  • 去IOE:(去掉IBM的小型机、Oracle数据库、EMC存储设备)
  • 微眾銀行WeBank,全虛擬化銀行。開發時間很短,30億資本,半年籌建。
  • 選擇自主可控全分布式架構
  • 分散風險的進化,目前一般銀行的架構是集中式鬆耦合,同一個業務由一個節點或是多個節點服務,但業務之間還是緊耦合,所以只要某業務所屬節點有問題,還是會造成其他業務出問題。後來進化成一個節點包所有業務,但是只服務特定客群
  • 提高冗餘的進化:一般銀行多主節點,沒辦法滿足CAP。最後捨棄高性能,一主兩從,
    取CP
  • 進化後:一個節點是一個邏輯概念,可以做同一客戶群的所有業務,有多台機器,一主二從架構的保持資料一致性與備份。
  • 把服務分成兩大類,對客戶,對內部後台管理,所以有兩種類型節點
  • 一個客戶的業務在一個節點上處理,一個節點可以處理多個客戶,一客戶一開始就指定在哪個節點,客戶創立與查詢用GNS(客戶在哪裡)來做。
  • 雙向擴展
    • 橫向擴展:客戶變多加節點
    • 縱向擴展:同樣的客戶業務變多,升級機器,或是增加節點的機器數量。
  • 規則:客戶變多只能用橫向,一節點五百萬就是五百萬。
  • 分佈式架構平台,參考圖,業務能力、基礎能力(無狀態服務,大數據框架)、基礎資源(資料中心,虛擬機器,網路)。
    這個架構其他業務也可以參考。
  • 所有節點不共享網路、服務器、數據庫存儲。
  • 選擇開源技術與低端服務器,才能做到。
  • 組件都很簡單,一個組件只做簡單的一件事,後續管理才會簡單
  • TDSQL:腾讯云金融级数据库CDB for TDSQL (Cloud DataBase for Tecent Distribute
    SQL)是一个适用于OLTP场景且与MySQL 5.5 、5.6兼容的分布式关系型数据库。
  • OLTP:所謂線上交易處理(OLTP),其英文全名為On-Line Transaction Processing,是傳統關聯式資料庫(Relational Database)之主要應用,係指基礎性的日常事務處理,故算是面對交易的處理系統。
    我理解是即時支援Transation
  • 100+ x86伺服器,用簡單同一的機器,作邏輯分資源模塊。
  • 有網關來限流,讓資料百分百不遺失
  • 通常對於效能的取捨就是性能,需要性能就加機器。
  • 用硬體作Message Queue管理。對於100bytes的message可以做到每秒3500萬筆,確保送達模式就每秒10萬筆
    嚇死人,用硬體作Message Queue第一次聽到
  • 用硬體作Message Queue,就沒辦法加上更多邏輯的實作,反而讓各功能component變得簡單。
  • 全部都用open source
  • 一般銀行一個帳戶20~100元/年,微眾一個帳戶5~3元/年
    省很大!
  • 去IOE,讓大象瘦身可以跳舞。性能無限擴展(!)

DevOps Lessons Learned at Microsoft Engineering 筆記

原文: https://www.infoq.com/articles/devops-lessons-microsoft 筆記 組織 講Microsoft裡面的DevOps 故事描述的是Cloud & Enterprise and the Bing ...