NDC,直译为网易数据运河,为网易互联网各大产品线提供平台化的结构化数据迁移,同步和订阅服务.数据迁移和同步方面,NDC支持常用结构化数据库之间,以及OLTP到OLAP的全量迁移和实时同步。数据订阅方面,NDC将线上数据库的增量更新实时传输到下游应用,可解决复杂业务异步解耦,多机房缓存淘汰等疑难问题.这次分享会为大家简单介绍NDC在结构化数据传输上的一些典型解决方案和基本架构原理,重点聚焦NDC在服务平台化和可插拔的背景下,高可用方面的想法和实践。
应用处景
大年夜应用方视角看来,可以将NDC的应用处景分为三类:第一类是数据迁徙,像DDB到Oracle如许的异构数字迁徙,同时可以解决DDB内部在线扩容问题和迁徙问题。第二类数据同步,场景较为复杂一些,如跨域甚至跨国的数据及时同步,一般不强调异构,须要解决的是高延迟,复杂拓扑治理的问题。第三类数据订阅,经由过程数据来驱动营业,实现营业间异步解耦。
最后,经由过程这些应用处景可以总结出NDC的两个核心需求:第一,获取数据库及时变革的才能。第二,数据快速宣布的才能。如MySQL到Oralce的数据迁徙,须要增量迁徙的速度要比MySQL线上增量更新快,不然相迁徙或者同步永远无法完成,这就考验NDC数据宣布的速度。别的一点,是须要NDC供给完美的高可用筹划,许可数据反复,然则不克不及丢,还要供给一个一向办事的才能。
Center高可用,也就是网易调剂中间的高可用。分享前,马进师长教师先同大年夜家道述了脑列问题。严格地说,经由过程zookeeper或keepalived筹划实现的高可用,并不克不及避免逝世锁情况的产生,为此NDC经由过程又在数据库加锁的方法完全规避了脑裂的可能:具体做法是在每次做运维操作前先测验测验把leader锁住,再把数据掏出,比较和当前的ID是否一致,如不雅一致就可以做响应的运维操作。切主的时刻,也是现场时把leader锁住再更新。经由过程锁的方法可以包管运维操作和切主的过程是互斥的,大年夜而可以避免脑列问题的产生。然则在这之前也有两个根本前提:第一个就是所有的Center是保持在体系库,其次就是体系库是高可用的。
产品形态
NDC的产品形态有两大年夜特点:一是平台化,二是插件化。
平台化,网易自有一个平台化的Web治理对象,重要负责其资本治理和调剂,以及平台化报警监控。
插件化,是对不合数据源、物理端经由过程applier插件进行的敏捷开辟,以及账号体系插件化。NDC作为底层的中心件可以或许支撑不合平台,像网易的公有云,就会依附到NDC。不合帐号体系之间也是不太一样的,当想要接入不合的┞肥号体系,却不做插件化的话,成本也就会比较高,并且会使体系变得比较复杂。所以NDC想到的方檀卷是体系本身不具备用户治理功能,更多是把用户作为一个类型存储到义务的属性里。然后在治理层向外部做数据用户认证。
体系架构
网易是有体系库的,然则不消来做用户治理,反而会在API办事里定义不合的用户监护插件,当不合平台的用户介入到API办过后,网易会调用不合的插件去认证所对应的用户。认证后会将用户打码,经由过程中间的Center记录到人物属性中去,在这里就能实现用户接人道的插件化。Center组件也就是调剂监控中间,今朝应用主备模式实现高可用。
经由过程给履行节点划分节点组,达到物理隔离的效不雅,类似于公有云可用域的概念。数据源NDC今朝支撑DDB、Oracle,SQL Server等,目标端除了关系型数据库以外还支撑Hbase,Greenplum等支撑数据更新的数据仓库。数据订阅就拭浇轹量数据宣布到Kafka,履行节点的每一个迁徙都是自力的过程,如许就可以避免不合过程间的互相竽暌拱响。
义务高可用须要留意的是,须要主动检测源端是否活泼,如不雅发明源端断了,向Center上报,如不雅Center监测源端可用的话就可以将义务进行漂移,把本来Engine上的义务漂移到另一个Engine上;如不雅检测源端是弗采取的,就会测验测验将源端漂移到大年夜库上。
浏览9015次
浏览5256次
浏览8383次
浏览7077次
浏览3271次
浏览9366次
2025-06-20 深圳
2025-04-19 南京
2025-08-15 上海
2025-10-23 上海
打开微信扫一扫,分享到朋友圈