GoldenGate 微服務架構 VS 傳統架構

2022-01-02 凜冬未至

聲明:此問主要內容翻譯自國外的這篇文章:https://dbasolved.com/2017/08/26/goldengate-classic-vs-microservices-architecture/

感謝原創作者的精彩分享。

Oracle GoldenGate從12c(12.3)版本開始,提供了新的基於微服務體系的軟體系統架構。新的微服務架構提供了很多新的特點和優勢。

我們開始討論GoldenGate新的微服務架構前,我們先來看看GoldenGate傳統的軟體架構是什麼樣的,下圖是GoldenGate傳統的軟體系統架構圖。

在GoldenGate的傳統系統架構中,GoldenGate的設置、管理工作都是通過GoldenGate的命令行接口(GGSCI)來完成的。GoldenGate需要部署在執行數據複製的資料庫伺服器上,我們通過部署在本地的GoldenGate的GGSCI命令行接口完成我們和本地部署的GoldenGate的交互。比如增加、管理GoldenGate的管理進程、數據抽取進程、數據泵進程、數據投遞進程等。在這個傳統的架構中數據通過TCP/IP網絡在源端和目標端完成數據的複製和同步。整體架構採用低耦合的軟體價格,所以GoldenGate可以用於多種場景,實現多種數據複製和同步的拓撲,比如:一對一、一對多、多對一、雙向等複製架構。

GoldenGate這種傳統的軟體架構,也有它的不足和局限。我們為了完成GoldenGate的管理任務,不得不遠程登陸到部署了GoldenGate的伺服器上來完成管理任務,這大大限制了GoldenGate的廣泛使用。

儘管GoldenGate的傳統架構已經被大家所熟知,但是面對現在新技術和新需求的挑戰,Oracle也在不斷地探索,經過不斷的發展和努力終於推出了GoldenGate新的基於微服務體系架構的新的軟體系統。新的體現架構可以基於標準的「RESTfulAPI」方法來構建,這是在數據複製領域的一次新的飛躍。這徹底打破了在GoldenGate的管理、訪問、使用上的限制,讓GoldenGate可以有更廣泛的應用場景。用戶可以通過標準的API來控制和訪問GoldenGate。下圖是GoldenGate新的基於微服務的系統架構圖。

從上圖可以看出,GoldenGate新的微服務架構,去掉了傳統體系架構中的一些組件,增加了一些新的組件,通過這些新的組件,GoldenGate獲得了如下新的優勢:

為了了解GoldenGate新的微服務架構體系,我們需要了解一下GoldenGate新的微服務架構的幾個核心組件:

ServiceManager:
它是一個運行在GoldenGate數據複製環境的每一個伺服器上的監護進程,它可以有三種運行方式:

手動運行

做為後臺服務進程自動運行

可以運行在資料庫的集群環境(XAG)

當它運行的時候,它是我們連接GoldenGate環境的唯一入口點,當我們配置這個進程的時候,我們需要為它分配埠,通過ServiceManager的WEB訪問埠,我們可以看到我們所有的GoldenGate的進程。

AdminServer:

它可以完全替換傳統GoldenGate架構中的GGSCI,通過它我們可以為GoldenGate設置credential store、數據抽取進程、數據投遞進程等。我們大部分的GoldenGate管理工作都是通過它來完成的。同時我們可以通過它下鑽到GoldenGate運行的進程並監控它們的狀態、查看參數文件、檢查進程報告等。通過使用它讓我們對GoldenGate的管理變得越來越簡單。

下圖是兩者的主要區別對比:

DistributionServer:
它是用來替換傳統架構中的數據泵進程的。它可以完成除了數據轉換外的所有數據泵的工作。它也給我們提供了數據複製的可視化的視圖,讓我們清楚地了解GoldenGate數據複製的流向。

ReceiverServer:
這個進程用來替換傳統架構中的Collector進程,它接收來自DistributionServer進程傳輸過來的數據並把它們寫入到遠端的隊列文件中。通過進程運行的概覽頁我們可以清楚地看出數據從哪裡來寫入到哪裡去。

Performance Metrics Server:
這個進程為用戶提供了一個實時監控GoldenGate運行的服務。但是當我們使用這個功能前,需要事先訂購了Oracle Management Pack for GoldenGate組件。我們通過圖形化和多種性能監控的API完成對GoldenGate的監控。

我們看到了GoldenGate新的微服務架構給我們帶來的無限的驚喜,我們可以利用這些新的改變在更廣泛的領域和環境來應用GoldenGate數據複製解決方案。相信我們在本地環境、在雲端和混合雲環境將看到更多的GoldenGate的應用案例。

相關焦點

  • 分布式系統(微服務架構)的一致性和冪等性問題相關概念解析
    1.2 微服務應用的分布式一致性問題微服務架構下,原有的單體應用按功能被拆分成一個個微服務應用,每個微服務應用被部署在不同的機器節點上,只完成原有單體應用的某一部分功能,操作屬於該業務功能的資料庫或表。彼此之前通過網絡通信的方式協調彼此之間的工作,作為整體共同對外提供服務,因而一個業務功能的實現,可能會涉及到多個微服務的調用,操作物理上不同的多個資料庫或表。
  • 應用系統軟體架構設計
    一、背景軟體系統架構是關於軟體系統的結構、行為、屬性、組成要素及其之間交互關係的高級抽象。任何軟體開發項目,都會經歷需求獲取、系統分析、系統設計、編碼研發、系統運維等常規階段,軟體系統架構設計就位於系統分析和系統設計之間。做好軟體系統架構,可以為軟體系統提供穩定可靠的體系結構支持平臺,還可以支持最大粒度的軟體復用,降低開發運維成本。
  • 深度解密系統架構背後的技術,雲+社區沙龍online「架構演進」乾貨整理
    既要應對龐大的用戶量、日均數十億 PV 的高並發、PB 級別的數據存儲等問題的挑戰,同時又要求保證系統的高可用和彈性伸縮,並且能夠根據需要進行快速迭代擴展,令人頭疼的系統架構到底應該怎麼做? 多年發展下,網際網路架構經歷了從簡到繁的演進過程,從單體架構到集群架構、分布式架構再到微服務架構,每一種架構都是為了解決問題而生。
  • 四種JavaEE架構簡介
    回復 1024 有特別禮包來源:blog.csdn.net/rj151YY/article/details/84383550上一篇:一篇讓你搞懂 Nginx1、傳統三層架構(all in one項目)傳統三層架構大致可以分為表現層,業務層和持久層(數據訪問層)。
  • 【SDCC 2016成都站實錄】網際網路應用架構&運維技術與實戰峰會(附PPT下載)
    《京東咚咚微服務架構從理論認識到實踐落地》主題分享,他結合京東IM軟體咚咚五年來四個階段架構變遷的發展實踐,主要從微服務理論認識、咚咚面向業務架構、咚咚面向平臺架構和實踐微服務的一些疑問和思考四個方面進行闡述,分享其中一些思考、經驗和教訓。
  • 17次直播回看,50節架構師訓練營幹貨重放 | 架構師之路
    (1)每秒100w請求,秒殺架構(2)千萬粉絲,feed架構(3)千萬同時在線,IM架構(4)每秒100w檢索,搜尋引擎內核架構(5)MQ內核細節(6)RPC內核細節(7)資料庫架構(8)多機房多活架構與細節(9)分布式調用鏈追蹤架構與細節每次
  • 淺談5 種典型的雲原生架構反模式
    反模式是隨著項目的推進演變而來的,主要的原因,如重大需求調整,但架構沒有對應的變化,性能和安全需求對當前架構的硬性改變,團隊或組織強行調整技術等。
  • 埠和適配器架構——DDD好幫手
    在本文中我們不是在討論微服務架構,也不是討論基礎設施架構,這裡的架構指:在單個應用(進程)中代碼是如何組織起來實現一個端到端的用戶請求的它與框架無關,不管你是使用ORM框架或是JDBC,這不是架構的關鍵差異點一個例子是三層架構,展現層負責接收用戶指令、渲染視圖;業務邏輯層負責處理"業務邏輯";數據層負責和資料庫打交道,保存和讀取數據。
  • 通用型系統架構設計(多圖)
    系統架構圖:系統採用四層架構設計一、展現層Web前端基於HTML/HTML5
  • 架構師的抽象能力
    在 2017 年的一次架構師峰會上,來自拍拍貸的資深架構師楊波老師就講到:架構的本質是管理複雜性,抽象、分層、分治和演化思維是工程師
  • 什麼是架構 | 企業系統的架構設計方法
    傳統意義的系統開發分為系統架構師和系統分析師兩個角色,但是隨著網際網路的快速發展,如今系統建設越來越趨向兩個角色結合起來,那麼網際網路時代架構師有如下職責:架構師是軟體開發活動中的眾多角色之一,它可能是一個人、一個小組,也可能是一個團隊,我們分析的是架構師這個角色,能勝任這個角色的才是架構師,那麼在這個角色上能做得更加出色的就是好的架構師。以上架構師職責是整體上的描述,在細分領域有不同的分類。
  • Istio入門實戰與架構原理——使用Docker Compose搭建Service Mesh
    通過搭建Istio控制平面,部署Bookinfo應用,最後配置路由規則,展示Istio基本的功能和架構原理。本文涉及的名詞、用到的埠比較多。Don't panic.準備工作Service Mesh架構在微服務架構中,通常除了實現業務功能的微服務外,我們還會部署一系列的基礎組件。這些基礎組件有些會入侵微服務的代碼。比如服務發現需要微服務啟動時註冊自己,鏈路跟蹤需要在HTTP請求的headers中插入數據,流量控制需要一整套控制流量的邏輯等。
  • Spring Cloud Stream:全新事件驅動型微服務框架
    該版本包括幫助開發人員和運營人員開發並實施數據微服務的各種新功能和新改版。在開始討論新功能之前,先讓我們通過回顧企業架構數據的當前狀態及發展方向來展開討論。歷經多年開發的軟體組件需要始終如一的精細檢查。由於數十年的陳舊遺留影響了整體架構,大型企業面臨適應現代開發方法和實踐的挑戰。細微化、遞增和連續變化是數位化改造和不斷創新的關鍵。
  • 如何畫出優秀的軟體架構圖?
    如果有同樣的困惑,本文將介紹一種畫圖的方法論,來讓架構圖更清晰。架構就是對系統中的實體以及實體之間的關系所進行的抽象描述,是一系列的決策。架構是結構和願景。系統架構是概念的體現,是對物/信息的功能與形式元素之間的對應情況所做的分配,是對元素之間的關係以及元素同周邊環境之間的關系所做的定義。做好架構是個複雜的任務,也是個很大的話題,本篇就不做深入了。有了架構之後,就需要讓干係人理解、遵循相關決策。
  • 那些優秀的軟體架構圖,都是怎麼畫的?
    布局怎麼畫都不滿意……如果有同樣的困惑,本文將介紹一種畫圖的方法論,來讓架構圖更清晰。架構就是對系統中的實體以及實體之間的關系所進行的抽象描述,是一系列的決策。系統架構是概念的體現,是對物/信息的功能與形式元素之間的對應情況所做的分配,是對元素之間的關係以及元素同周邊環境之間的關系所做的定義。做好架構是個複雜的任務,也是個很大的話題,本篇就不做深入了。
  • 面試官:你給我畫一下秒殺系統的架構圖!
    公司離微眾比較近,就在金蝶那邊,下班了溜過去,跟面試官吧啦了一會八股文,好傢夥,沒一會就掏出了一張紙:來畫一下你們現在這個爬蟲系統的架構圖!當時系統的部署架構長這樣吧, 比上面的看起來還簡單一點。這玩意能叫架構嗎? 攤牌了, 我不會畫!現在想起來,真的太憋屈了,年輕啊!那如果現在來回頭看的話,能怎麼畫呢?單體系統的部署架構圖
  • 數據中心網絡架構
    三層網絡在傳統的大型數據中心,網絡通常是三層結構。
  • CNN的架構介紹
    近年來,卷積神經網絡在語音識別、人臉識別、通用物體識別、運動分析、自然語言處理等領域均有突破。CNN在應用中有多種架構類型。一、LeNetLeNet架構是卷積神經網絡最早並且最基本的形式之一,適用於手寫數字的識別。LeNet現在主要是指LeNet5,但是也包括LeNet-1、LeNet-4等模型結構。
  • 大數據架構hadoop .
    大數據分析大分類Hadoop平臺對業務的針對性較強,為了讓你明確它是否符合你的業務,現粗略地從幾個角度將大數據分析的業務需求分類,針對不同的具體需求,應採用不同的數據分析架構。按照數據分析的實時性,分為實時數據分析和離線數據分析兩種。實時數據分析一般用於金融、移動和網際網路B2C等產品,往往要求在數秒內返回上億行數據的分析,從而達到不影響用戶體驗的目的。
  • 微服務網關 | Zuul1.0和2.0我們該如何選擇?
    Netflix 部署了超過 80+ 的 Zuul2 雲網關集群,流量經過 Zuul2 集群被路由到後端超過 100+ 的微服務,且每秒鐘經過 Zuul2 集群的請求超過 100 萬。作為架構師,我們不能盲目追時髦,技術的選擇必須基於實踐和理性的分析,基於我之前對 Zuul1 的一線落地實戰經驗,也基於我近期對 Zuul2 的一些調研,我會在本文中對 Zuul1 和 Zuul2 做一個比較客觀的編程模型和優劣分析,同時給出我的個人建議。