首页 > 编程知识 正文

oracle实时同步kafka,canal实战

时间:2023-05-03 13:43:22 阅读:161537 作者:2851

文章目录业务场景zk保证了呼叫服务器的高可用性,同时只有一个呼叫服务器在实际工作。 群集环境zookeeper部署配置下载:解压缩修复配置并分别在三台计算机上验证引导zk kafka部署配置canal部署配置下载(https://github.com/Alibaba/canal/releases ) )。

转载自: https://www.Jian Shu.com/p/c0b 19f9f 140

工作场景

公司是做社交生意的。 在一些商业场景中,会向用户发送不同类型的收益。 然后,用户可以在APP上看到自己的各种摘要收益和收益详情。 在项目运营初期,由于用户少,收入细目少,所以用户在APP上获取收入汇总时没有绩效问题。 而且随着用户数量的增加、业务的扩展,用户收入数据越来越多,每次用户访问收入汇总信息时,实时用sql汇总查询都面临着性能问题。

解决方案

答:离线聚合缓存

b )汇总表业务逻辑实时【消息队列等】填写汇总表

C:mysql canal kafka实时计算

A方案问题:实时性不足,用户获得收益后,存在明细,但未添加到汇总信息中。 另外,有时会使用业务中可用的余额进行支付,无法完全满足用户和业务的需求。

B方案问题:业务结合,各业务线要关注数据实时问题。 业务线变多的话,一部分场景有可能会被忽略。

C方案:业务被解除结合,业务开发时无需过度关注收益汇总问题。 实时性强,成功生成收入数据,在用户看到之前几乎是毫秒水平

mysql canal kafka实时计算介绍

当用户的收入数据写入mysql时,canal监视对mysql的写入,分析喜欢的大山日志并写入kafka。 消费者(python )消费kafka消息,根据具体业务将数据汇总成汇总表,app直接阅读汇总表记录即可。

zk保证了呼叫服务器的高可用性,同时只有一个呼叫服务器实际在工作。 群集环境所有缺省的jdk环境都设置为OK

192.168.0.81(ZK/kafka/canal ) 192.168.0.82 (KK/kafka/0.82 ) ZK/kafka/canal ) 192.168.0.83 ) ZK/Kafka

下载: wget https://www.Apache.org/dist/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz解压tar-zxvveper zoo.cfgtick time=2000 init limit=10 sync limit=5data logdir=/opt/zookeeper/dataclientport=2181 auto purge.snapretaincount=500 auto purge.purge interval=24 server.1=192.168.0.81336028888833333

在192.168.0.81中,在echo '1' myid192.168.0.82中,在echo '2' myid192.168.0.83中,echo '3' myid分别在三台机器上启动验证. zkServer.sh status# 4,重新启动./zkServer.sh restart kafka配置下载相应的版本并解压缩到/usr/local/kafka目录中

修改配置文件/usr/local/Kafka/config/server.properties

主要构成项目

192.168.0.81上的broker.id=1advertised.listeners=plaintext :///192.168.0.81:9092 zookeeper.connect=192.168.0.8:2181192.168.0.82上的broker.id=2advertised.lised 192.168.0.823: 192.168.0.82:2181、192.168.0.8:2181192.168.0.83上的broker.id=3advertised 192.168.0.833: 192.168.0.8233602181、192.168.0.8:2181开始: cd /usr/local/kafka/喜悦之山;/Kafka-server-start.sh-daemon config/server.properties Kafka的相关操作请参阅其他文章

canal部署配置下载(https://github.com/Alibaba/canal/releases )安装,仅需要服务器端软件包

tarzxvfcanal.deployer-1.1.3-snapshot.tar.gz-c/opt/canal配置/usr/local/canal/conf/canal.prties

主要构成项目:

canal.id=1(在192.168.0.81中为1,在1,192.168.0.82中为2,实现canal的HA ) canal.ZK servers=192.168.0.8133602181, 192.168.0.8:2181与canal.server mode=Kafka canal.destinations=test # canal.properties中同级目录下的test目录同步的表根据情况修改canal.MQ.servers=192.168.0.8133602181、192.168.0.8233602181配置/usr/instance.properties canal.instance.master.address=192.168.0.3033603306 canal.instance.dbusername=canalcanalce tabasename=test#需要同步的数据库canal.instance.filter.regex=test.commission canal.MQ.topic=commission canal.MEX

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。