全面拥抱开源技术,数据实时集成案例分享

来源:互联网 发布:影视播放软件 编辑:程序博客网 时间:2024/05/22 07:00

随着业界传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的方向。很多企业在建设他们的业务交易和分析系统的项目中,开始关注和选用具有“自我特色”的开源技术和软件作为整体解决方案中的组成部分去实施。

以下案例是国外某客户,包括核心系统在内的众多生产系统中已运行 IBM 软件产品,其核心环节中使用 IBM 数据复制软件,再结合开源软件和工具,实现了从重要的交易业务生产系统中使用 IBM 软件实时地复制数据到目标系统,在目标系统上通过开源软件把数据进行分发、加工处理、交付到数据库分析系统中,实现对业务进行实时分析。

大数据

1)数据实时复制

负责从各个业务系统上实时地复制交易数据,选用IBM Change Data Capture 软件产品来实现。

2)数据采集

负责从目标系统上实时地采集数据,选用 Apache Flume 来实现。

3)数据接入

由于采集数据的速度和数据处理的速度不一定同步,因此添加一个消息中间件来作为缓冲,选用 Apache Kafka。

4)流式计算

对采集到的数据按业务规范进行实时处理和分析,选用 Apache Storm。

5)数据输出

把处理后的结果存放,实现持久化、稳定化和高效化,使用开源的NoSQL数据库。

方案优点

下面,我们对几个开源的核心软件做个简单扼要的说明,相信大家对IBM CDC 都有了一定了解,此处不多花笔墨作说明。

1) Apache Flume

Apache Flume 提供了一个分布式、可靠、和高可用的海量日志采集、聚合和传输的日志收集系统;支持在日志系统中定制各类数据发送方,用于收集数据 Flume 提供对数据进行高效处理,擅长转移大数据量的日志和交易数据;通过通道(channel)无缝连接 Kafka。 

2) Apache Kafka

kafka 是一种高吞吐量的分布式发布订阅消息系统,目标是提供一个发布订阅解决方案,它可以处理消费者规模的网站中的所有动作流数据。

大数据

Kafka 具有如下特性:

  • 提供消息的持久化,即使数以TB的消息存储也能够保持长时间的稳定性能。
  • 令你高吞吐量,即使是非常普通的硬件,kafka也可以支持每秒数十万的消息。
  • 支持通过kafka服务器和消费机集群来分区消息。
  • 支持Hadoop并行数据加载。

3) Apache Storm

Storm 能处理大批量数据,在保证高可靠性的前提下,还可以让处理进行得更加实时,也就是说,所有的信息都会被处理。Storm 同样还具备容错和分布计算这些特性,这就让 Storm 可以扩展到不同的机器上进行大批量的数据处理。

Storm 具有如下特性:

  • 简单的编程模型。类似于MapReduce 降低了并行批处理复杂性,Storm 降低了进行实时处理的复杂性。
  • 可以使用各种编程语言。你可以在Storm 之上使用各种编程语言,默认支持 Clojure、Java、Ruby 和Python。要增加对其他语言的支持,只需实现一个简单的Storm通信协议即可。
  • 水平扩展。计算是在多个线程、进程和服务器之间并行进行的。对于扩展,你只需要添加机器和改变对应的 Topology(拓扑)设置。
  • 容错性。Storm 保证每个消息至少能得到一次完整处理,任务失败时,它会负责从消息源重试消息,会管理工作进程和节点的故障。
  • 本地模式。Storm 有一个“本地模式”,可以在处理过程中完全模拟 Storm 集群。

方案优势

  • 使用流计算处理核心业务数据,包括:交易行情数据、业务日志等重要业务信息,不但能高效处理,还能保证数据的完整性和准确性。
  • 能有效地解决了从 Flume 到 Kafka 实时数据优于单条过快,造成 stormspout 消费 kafka 速率跟不上。手段是通过进行多 tuple 结构优化,对多个 log 打包成一个 tuple 进行发射处理。
  • 提高整个系统运行的可靠性和高可用性。数据处理经过模块化之后,解决了用户最担心的假如当 Storm 挂掉了,数据采集和数据接入还是继续在跑着,数据不会丢失, Storm 起来之后可以继续进行流式计算。
  • 在使用 IBM 产品处理核心业务的数据和信息的基础上,拥抱开源产品,在满足需求前提下进行技术创新,以追求较好的性价比。

总结

大数据

1、IBM 提供云技术及数据服务,积极地支持开源技术和发展方向,无论是IBM现有客户,还是潜在的新客户,都能在结合 IBM 产品和解决方案之内或之外,找到最佳的解决方案,以满足业务要求和支持业务发展;

2、IBM支持广阔范围的开源技术及软件产品集成,为用户建设 IT系统时带来更大的灵活性和扩展性;

3、在 2015年, IBM 公司已被业界评为最具科技创新(most-innovative-companies)公司,帮助客户快速创新,获得最佳经济效益和减低实施风险。

1 0