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

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

[[427949]]

本文转载自微信公众号「明哥的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

 

责任编辑:武晓燕 来源: 明哥的IT随笔
相关推荐

2018-12-07 12:47:06

iPaaS混合云多云

2019-02-27 15:22:15

混合云云计算多云

2020-04-27 09:38:15

Kubernetes多云混合云

2017-10-30 09:03:24

云服务负载混合

2021-06-10 07:35:34

多云管理平台混合云上云

2017-10-27 12:17:24

2021-08-09 05:24:38

云计算红帽Nutanix

2018-06-22 10:11:14

2019-04-30 10:24:24

混合云多云云计算

2018-12-26 15:24:57

IT专业人士混合云云计算

2016-10-13 15:03:27

混合云多云环境微服务

2022-09-05 10:18:55

云技术Kafka混合云

2022-04-28 21:13:07

混合云多云

2018-09-07 10:23:46

云备份混合云存储

2019-03-26 15:53:08

华为云

2020-12-08 10:02:42

混合多云/数据保护/云

2024-02-21 18:54:15

混合云场景接口

2017-08-28 07:43:27

企业部署混合云

2021-04-13 10:33:20

混合云云计算私有云
点赞
收藏

51CTO技术栈公众号