潘建裝,IBM資深售前技術顧問

分佈式架構因爲具備成本低、自主研發、靈活兼容和伸縮擴張方面的優勢,備受互聯網公司和創業公司的青睞,一些金融機構也開始探索分佈式架構的解決方案,但在具體實踐中不免還是會遇到魚和熊掌難以兼顧的挑戰,尤其是在滿足一致性的問題上。IBMLinuxONE可以和分佈式架構形成很好的互補,完美地解決分佈式架構落地遇到的重重挑戰。

分佈式架構落地,難關重重

說起分佈式系統的難點,不得不說著名的CAP定律,它是說在分佈式系統中,一致性(C)、可用性(A)和分區容忍性(P)三項,只能滿足兩項,而不能同時滿足。因爲在分佈式環境中,由於節點之間的通信容易出現問題,爲了擴展性,往往不得不犧牲一致性。此外,對於數據庫的設計通常要遵循的四大特性(原子性、一致性、隔離性與持久性),分佈式數據庫也難以兼顧,要嚴格執行,就要在執行性能上花費很大的代價。

後來出現的BASE理論提供了一種解題思路,但也沒有從根本上解決一致性問題。它的核心思想是容許分佈式系統出現短暫性的不一致的狀態,只要能夠在一定時間內,最終達到一致狀態就行。但是如果面對一些重要的系統,它們對一致性的要求非常高,就對分佈式系統提出很大的挑戰。因此,分佈式系統的使命,並不是要放棄一致性,而是要不斷的去追求更高一致性。

但是對於正要轉向分佈式架構的用戶來說,做出抉擇依然是艱難的,因爲在實踐層面他們將面臨的不僅僅是數據不一致和網絡質量無法保證的問題,更多的時候還有業務上的難題。

首先業務的拆分很複雜,包括業務功能和服務解耦,以及應用改造策略等。到底是推倒重來,還是循序漸進?慢慢拆分,對於拆分顆粒度的選擇、分庫分表的策略的定義、遷移數據的完整性,都具有一定的挑戰性。

其次,拆分不容易,合併起來更難,比如全局一致性的備份、批量合併操作、全局跨分片分佈式事務的處理,以及網絡通訊質量的問題,都有很大的挑戰性。

第三,拆分的越多,節點和服務數量也越多,隨之而來的是,系統整體性能瓶頸點和故障點也增多。伴隨着物理服務器和網絡設備數量的不斷增加,機房空間和電力不足的制約,軟件成本的和整體TCO成本的不斷增加,也會逐漸顯現出來。

不難看出,分佈式架構的水很深,選擇分佈式並不容易。但是,如果已經做好了選擇,那麼如何應對分佈式架構帶來的挑戰,就顯得尤爲重要。

當分佈式數據庫遇上開放服務器LinuxONE

解決分佈式架構落地的難題,有一種很好的選擇,就是將分佈式系統與IBMLinuxONE相結合,後者可以很好地應對分佈式架構帶來的種種挑戰。

LinuxONE本質上是一臺開放Linux服務器,其綜合能力遠遠超過其它的Linux服務器,它把開放開源的最好的部分,也就是基於Linux發展出來的開放的軟件技術堆棧,跟企業級計算裏最強的大機硬件平臺做了強強聯合。

基於這種組合打造的LinuxONE,在軟件層因爲採用基於開放開源的技術堆棧,在使用體驗上可以做到同樣的簡單易用,包括應用的開發、交付、混合多雲的管理,以及服務治理管控等等。另外,客戶在Linux方面的已積累的技術力量,同樣可以在LinuxONE上得到充分的複用,並不會帶來額外的技能要求。

更重要的是,LinuxONE除了具備開源開放、穩敏合一、綠色計算和安全可靠的特性外,還有很多獨特的價值,可以很好地幫助分佈式系統來應對各個層面的挑戰。

首先,LinuxONE擁有獨有的內存通訊技術,可以很好的解決分佈式系統節點數量過多,而帶來節點之間通訊不可靠的痛點。

其次,LinuxONE多層級虛擬化和大規模整合能力,不但簡化了運維,還可以大大緩解物理設備激增所以帶來的壓力。

另外,LinuxONE具備最高等級穩定性和安全性,可以爲雲中的核心繫統提供最強的保障。

可以說,當分佈式數據庫遇上LinuxONE,分佈式數據庫對更強一致性的追求,能夠輕鬆得到提升。LinuxONE和分佈式數據庫的組合,就是一對黃金搭檔。LinuxONE在硬件層面,提供了非常強大的底層支撐平臺,從而在"相同的簡單易用"基礎之上,可以帶給客戶"與衆不同的能力和體驗"。

LinuxONE的獨門絕技

就像"腳踏風火輪、手拿紅纓槍"的哪吒,他有三頭六臂,還有混天綾和乾坤圈各項技能,LinuxONE也同樣擁有自己的各項獨門技能。我們可以用"3高6黑"來概括LinuxONE的強大能力。

其中,3高是指LinuxONE超越任何其它平臺的3種超高能力,這三種高超能力是"高性能、高可靠和高密度"。

在高性能方面,LinuxONE是所有商用服務器裏性能最高的,它配置了5.2GHz主頻的處理器,以及總量超過11GB的4級CPU大緩存,再加上高達192個的IO插槽,從而爲客戶提供最強大的計算能力和IO處理的能力。

在高可靠方面,LinuxONE提供了N1的全冗餘的體系架構,這裏面涵蓋了CPU、內存、IO、電源、風扇、控制檯等等,從而使得LinuxONE單機就可達到6個9的可靠性。

在高密度方面,LinuxONE除了具備強大的縱向擴展能力外,橫向擴展能力也是很強的,LinuxONE單機可支持85個邏輯分區、支持8000多個虛機,以及2百多萬個容器,對X86而言,可以用"以一頂百"的方式,來實現高密度的集約化部署。

6黑是指LinuxONE所配備的6種黑科技,主要是解決企業級用戶經常會遇到的一些需求,比如數據的壓縮排序和加解密,以及虛擬化環境中各種應用負載或虛擬服務器之間的通訊、隔離、時鐘同步的需求。

LinuxONE之所以能自帶這些黑科技縱橫江湖,那是因爲它在硬件層面做了很多有針對性的優化。比如LinuxONE的芯片壓縮功能,支持高達260GB/s的超大規模吞吐能力,可以幫助用戶節省大量存儲空間、節省網絡帶寬、縮短數據傳輸時間等。LinuxONE的內存通訊技術,可以幫助聯機交易端到端的響應時間減少30%,同時TPS提升超過50%!

尤其值得一提的是,在時鐘同步方面,LinuxONE可以確保在同一設備內,所有分區和虛機、以及跨多臺設備集羣的精準同步,可以達到微秒級。這對於分佈式數據庫來說,有很大的價值,因爲分佈式數據庫對於節點間的時間同步,往往有着非常苛刻的要求。

無可替代的價值

在BASE理論中,最終一致性是對分佈式系統中數據不一致的中間狀態的妥協,如何提升一致性,使得分佈式數據庫可以更好支持企業級的關鍵業務,是國內分佈式數據庫廠商普遍的追求。LinuxONE的價值也在於此,在分佈式數據庫環境下,LinuxONE支持以"大而少"的部署方式,以"快又穩"的技術實現,可以大幅減少各類不穩定問題的發生。

大而少:當有了更高一致性的約束之後,分佈式的數據庫不是節點數越多越好的,這個時候LinuxONE的高主頻、大緩存的設計,就顯得尤爲重要。它可以用更大的、更少的節點來部署分佈式數據庫,這種部署方式可以大大減少節點數量、節點的不穩定性,節點之間的通訊量,以及減少節點之間因時鐘同步而出現問題的頻率,同時還可以減少跨分片分佈式事務的發生。此外,LinuxONE還支持秒級之內激活微碼的方式,可以在不中斷業務的前提下,在線極大程度地縱向擴容節點,從而減少節點數量的增加,滿足數據再平衡的需求。

快又穩:LinuxONE的各種黑科技,不僅可以大幅提升性能,還能大大增強節點和網絡通訊的穩定性,以及節點之間以微秒級的精準時鐘同步,這些恰恰幫助分佈式數據庫解決了在一致性方面所面臨的幾個主要的麻煩。

簡又省:不管是大而少,還是小而多,LinuxONE能夠以"以一頂百"的方式,做到高密度集約化部署,簡化運維的同時,還實現了更爲可持續的發展模式。這種高密度集約化部署,在幫助分佈式系統簡化運維、提升最佳數據一致性水平的同時,還以更穩健和更節省的綠色計算的方式,幫助用戶推進分佈式架構的轉型和創新。

當分佈式數據庫遇上了LinuxONE,這一對黃金搭檔的結合,可以幫助用戶在選擇分佈式架構時,創造無限可能。

相關文章