999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RocketMQ實現異構數據庫同步

2016-02-07 06:06:14歐志芳
網絡安全技術與應用 2016年12期
關鍵詞:數據庫

◆歐志芳

(福富軟件 福建 350001)

基于RocketMQ實現異構數據庫同步

◆歐志芳

(福富軟件 福建 350001)

在進行數據庫升級改造,都需要考慮如何把原有數據庫的數據不丟失、高性能地寫入到新數據庫,特別在涉及異構數據庫同步時,我們更需要有成熟的經驗來借鑒。本文通過對項目的回顧,分享基于分布式消息中間件RocketMQ來實現異構數據庫的同步,總結數據不丟失的高可用實現機制,同時指導應用如何更好地設計與約束來滿足高性能的要求。

分布式消息中間件;RocketMQ;異構數據庫同步

0 引言

異構數據庫同步的類型非常多,可以是關系數據庫到nosql數據庫,可以是關系數據庫到小文件存儲等,同步的方式因為項目的性質、項目的要求等不盡相同。本文主要說明Oracle到Mysql基于相同模型的數據同步。

1 異構數據庫同步的可選方案

主要的同步方案有如下三種:

項目改造核心是不影響原系統業務感知,且出現問題時具備快速解決,所以基本排查了方案一和方案三,采用“數據層AOP+消息中間件”的實現方案。

表1 三種同步方案

2 消息中間件的選型分析

由于本次異構數據庫同步的數據是作為生產使用,對消息中間件的要求比較高,常用的分布式消息中間件主要包含如表2。

系統改造要求數據不能丟失,具備橫向擴展應對突發業務高峰的處理能力,同時還需要考慮改造盡量少地對現有系統的性能造成影響,基于此明確選擇RocketMQ作為異構數據同步的分布式消息中間件。

3 RocketMQ核心組件介紹

3.1 Name Server

表2 常用的分布式消息中間件

Name Server是一個幾乎無狀態節點,可集群部署,節點之間無同步信息。它主要提供broker注冊、Topic路由管理等功能。

3.2 Broker

分布式消息中間件核心組件,提供消息生產、消費,主從同步、數據刷盤等核心功能。可以橫向擴展、在線擴容以提高集群性能。每個Broker與Name Server集群的所有節點建立長連接,并定時注冊Topic等信息。

3.3 Producer

生產者,一般為應用調用API進行消息生產。Producer 與Name Server集群中的其中一個節點(隨機選擇)建立長連接,定期從Name Server取Topic路由信息,并向提供Topic服務的Master建立長連接,且定時向Master發送心跳。Producer 完全無狀態,可集群部署。

3.4 Consumer

消費者,一般為應用調用API進行消息消費。Consumer與Producer一樣,與一個Name Server建立長連接并取Topic路由信息。Consumer與提供Topic服務的Master與Slave建立長連接,既可以從Master訂閱消息,也可以從Slave訂閱消息,訂閱規則由Broker 配置決定。

4 RocketMQ在CRM項目的應用

4.1 異構數據同步方案

首先實現ORACLE應用的數據雙寫,其次數據寫入到分布式消息中間件,最后偵聽消息中間件的數據實現寫入到Mysql數據庫。

4.2 RocketMQ的高可用方案

為了保證寫入消息中間件的數據不丟失,通過集群接入高可用和消息服務高可用來實現。

(1)集群接入高可用(NameServer)

通過多個集群管理服務+故障自動切換,實現集群接入點的高可用。

(2)消息服務高可用(Broker)

通過生產與消費的自動負載均衡,實現Failover,保證某一組服務在全掛的情況下,不影響整體業務。

4.3 應用設計原則與約束

(1)消息模式選擇

消息模式選擇的優先順序為:無序消息>普通有序消息>嚴格有序消息。在業務場景允許的情況下,優先選擇無序消息,或者在業務能變通的情況下,將有序消息轉化為無序消息。

(2)隊列數選擇

Queue分布在Broker中,則能使用Broker的資源,包括存儲、IO等,一般情況下,分布在某個Broker上的Queue比例越大,則占用此broker的資源越多,Topic中的Queue分布到的broker數量越多,則性能越好、存儲越大。若broker的所在機器性能不同,可以通過調整Queue數量,達到資源調優的目的。

(3)消息包體大小限制

建議平均消息包體在50K以下(壓縮后);超過此包體建議通過拆包或者文件方式傳遞數據;過大的包體,會加大網絡超時、網絡擁堵等異常情況出現的概率。

5 結束語

技術的變化日新月異,需要我們時刻關注,并積極考慮如何與項目的需求相結合,或許一個簡單的創新,很多高難度要求就能迎刃而解。本文通過對基于RocketMQ進行Oralce到Mysql的數據同步的過程進行總結,說明通過簡單的新技術引入、規范及應用,不僅可以解決項目的功能要求,還能快速實現對數據不丟失、處理高性能的運營要求。

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 老色鬼久久亚洲AV综合| 亚洲区第一页| 青青青国产在线播放| 国产探花在线视频| 91久久国产综合精品| 久久久亚洲色| 欧美v在线| 91久久偷偷做嫩草影院电| 91啦中文字幕| 女人18毛片水真多国产| 男人天堂亚洲天堂| 国产欧美视频在线观看| 国产本道久久一区二区三区| 色婷婷成人| 2019年国产精品自拍不卡| 视频一本大道香蕉久在线播放 | 国内99精品激情视频精品| 国产乱人免费视频| 国产特级毛片aaaaaaa高清| 欧美福利在线| 国产精品黄色片| 国产91蝌蚪窝| 午夜无码一区二区三区| 国产情侣一区| 一区二区三区国产精品视频| 四虎永久免费地址| 久草热视频在线| 色综合久久综合网| a欧美在线| 91色在线观看| 国产日韩欧美黄色片免费观看| 亚洲第一成年免费网站| 国产SUV精品一区二区| 亚洲一区二区三区麻豆| 中文字幕日韩丝袜一区| 亚洲无码久久久久| 精品国产福利在线| 在线日本国产成人免费的| 国产福利在线免费| 99视频在线观看免费| 男人天堂亚洲天堂| 午夜福利免费视频| 国产在线欧美| 伊在人亚洲香蕉精品播放| 又爽又大又黄a级毛片在线视频| 午夜精品区| 欧美精品v日韩精品v国产精品| 无码日韩精品91超碰| 69国产精品视频免费| 亚亚洲乱码一二三四区| 国产高清在线精品一区二区三区 | 天天色天天综合网| a级毛片免费播放| 亚洲成人一区在线| 亚洲中文字幕久久无码精品A| 国产福利在线观看精品| 男女精品视频| 成年人视频一区二区| 欧美精品xx| 亚洲国产日韩在线成人蜜芽| 久久网欧美| 99免费在线观看视频| 精品1区2区3区| 亚洲人成影院在线观看| 综合亚洲色图| 精品国产中文一级毛片在线看| 都市激情亚洲综合久久| 国产va欧美va在线观看| 久草视频福利在线观看| 久久精品国产精品一区二区| 亚州AV秘 一区二区三区| 高清乱码精品福利在线视频| 亚洲成人黄色在线观看| 久久综合婷婷| 超清无码熟妇人妻AV在线绿巨人 | 成人年鲁鲁在线观看视频| 久久婷婷五月综合97色| 久久五月天综合| 五月天久久综合| 日韩黄色在线| 国产91在线|日本| 国产欧美日韩视频怡春院|