|
|
|
|
公众号矩阵

多云与混合云场景下的数据同步方案之Kafka

现阶段,企业信息系统部署架构 (DA: Deploy architecture)的一大变化是,越来越多的企业在不断将越来越多的应用部署到云上,即业务系统上云的趋势愈演愈烈。

作者: IT明哥 来源:明哥的IT随笔|2021-10-11 07:01

本文转载自微信公众号「明哥的IT随笔」,作者IT明哥。转载本文请联系明哥的IT随笔公众号。

1 企业业务系统部署架构的变化趋势-多云与混合云

现阶段,企业信息系统部署架构 (DA: Deploy architecture)的一大变化是,越来越多的企业在不断将越来越多的应用部署到云上,即业务系统上云的趋势愈演愈烈。

不过企业业务系统上云不是一蹴而就的,也不是单向的一帆风顺的。 这里涉及到新开发的业务系统的主动上云(由于是采用云原生技术栈新开发的业务系统,其上云相对顺畅些),也包括历史遗留系统的迁移上云(单个遗留系统的改造迁移和上云,视乎复杂程度,往往需要一年多甚至更长的时间周期),有时也会有从云端部署回退到私有云或数据中心的情形(上云后不顺畅不适应,也有会退的场景)。

企业所有业务系统的上云,其最终目标,出于各种考量(有业务系统高可用的考量,也有不被云厂商绑定即 vendor-lockin的考量,也有生态系统合作伙伴即经济因素等多种考量),部署架构不会是单一的某个公有云,而是多个公有云和私有云甚至本地数据中心的混合部署形态。

从技术视角看大数据行业的发展趋势

2 多云与混合云部署架构下的难题-数据同步

如上文所说,企业的多个业务系统,长期来看,会是多云与混合云加本地数据中心的混合部署架构;同时由于多个业务系统之间并不是相互隔离的,而是需要协作交互数据的(当然一般不会是直接的 rpc/http 调用),这就涉及到一个难题:多云与混合云部署架构下的数据同步。

如果企业没有公司层面的统一的规划,由各个部门各个项目独自设计与实施的部署方案,其架构会如下图所示:

multi and hybrid cloud deploy architecture

3 多云与混合云部署架构下的数据同步方案 - KAFKA

熟悉 KAFKA 的小伙伴都知道,KAFKA 是 LinkedIn 在 201 0左右为解决企业内部繁杂多向的数据交互而推出的数据总线/中央数据管道解决方案,它简化了 LinkedIn 的数据交互架构:

kafka-in-LinkedIn

在 LinkedIn 将 KAFKA 开源之后,由于其高吞吐低延迟的特性(顺序写和顺序读,ZeroCopy, 端到端的压缩,基于 partition的横向扩展),以及不断进化获得的其它特性(基于多副本的高可用容错机制,EOS 有且仅有一次的语义,生产者幂等性,对ACID事务的支持,分层存储的架构 tiered storage),还有不断丰富扩大的生态系统 (kafka connect, kafka schema registry, 以及高层抽象 kafka stream, ksqlDB),在大数据更加注重数据时效性的今天(实时预警,实时风控,实时数仓等各种场景),在微服务更加注重松耦合的今天(微服务相互之间不再直接相互调用,而是通过同步数据来同步状态),(站在了对的风口上,其地位水涨船高),几乎所有的企业都或多或少在其业务系统中用到了 KAFKA (或其同类竞品如 pulsa)。

既然 KAFKA 可以在企业内部作为数据总线/中央数据管道的解决方案,那么在新时代的多云与混合云部署架构下,其能否起到数据同步的作用呢?

答案是肯定的。

此时其架构如下如所示:

data sync in multi and hybrid cloud - kafka

该架构的要点如下:

  • 本地数据中心部署一个 KAFKA 集群;
  • 云端部署一个 Kafka 集群中;(如果是多云,则每个云部署一个 KAFKA 集群);
  • 本地数据中心的所有应用,其数据都汇总到本地数据中心的 Kafka 集群中;(可以使用 kafka java/scala api 直接写 kafka,也可以使用各种 cdc 工具采集 rdbms 中的 binlog/redolog 进而写到 kafka, 可用的 cdc 工具包括 canal/maxwell/ogg/debezium等,kafka connect生态的各个 connector插件也可以使用 );
  • 使用 kafka 的数据同步工具 MirrorMaker, 在数据中心与各个云端的 kafka 集群间,同步数据;
  • 各个云端的应用,访问其对应的 kafka 集群获取数据;

该架构的优点如下:

  • 多个大厂生产系统验证了可行的多数据中心架构;
  • 持续性的低延迟的数据同步方案;(在高速网络带宽下,延迟可达几百毫秒);
  • 集中式的管理和监控,支持集成多种安全和治理方案;
  • 节约成本;
  • 可以使用 KAFKA 背后的商业公司 Confluent 提供的 Confluent platform,该产品可以在数据中心/私有云/公有云部署,其架构图如下所示:图片

4 知识总结

  • 企业IT基础设施的一大趋势是,上云的趋势愈演愈烈;
  • 企业业务系统上云不是一蹴而就的,也不是单向的一帆风顺的;
  • 未来的企业业务系统的部署架构,不会是单一的某个公有云,而是多个公有云和私有云甚至本地数据中心的混合部署形态;
  • 企业业务系统在多云与混合云部署架构下有个难题,即数据同步;
  • 可以使用 KAFKA 作为多云与混合云部署架构下数据同步的解决方案;
  • 使用 KAFKA 作为多云与混合云部署架构下数据同步的解决方案时,本地数据中心与云端的各个云中都会部署一个 KAFKA 集群;
  • 使用 KAFKA 作为多云与混合云部署架构下数据同步的解决方案时,可以使用 kafka 的数据同步工具 MirrorMaker, 在数据中心与各个云端的 kafka 集群间同步数据;

Ps: 笔者了解到,已经有一些第三方公司,基于该方案推出了其封装版的商业产品,来解决多数据中心间的数据同步。(商机呀小伙伴们,这是块长期的大蛋糕)。

相关资料下载:链接:https://pan.baidu.com/s/1FNAkwXbxQBn0tPINKPXVCg 提取码:kafk

【编辑推荐】

  1. 企业如何为混合云解决方案选择云计算提供商
  2. 在多云中保护机器ID的五种技术
  3. 谷歌 DevOps 报告:使用混合云或多云可促使绩效超额完成
  4. 为什么云计算三巨头不能在混合多云博弈中获胜
  5. 仅仅是空谈与口号吗?浅析多云管理如何加速企业数字化进程
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

带你轻松入门 RabbitMQ

带你轻松入门 RabbitMQ

轻松入门RabbitMQ
共4章 | loong576

50人订阅学习

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

14人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

42人订阅学习

视频课程+更多

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微