正在 java 框架外,用于完成数据异步的中央件有多种,它们供给差异的罪能以及特点。选择中央件时必要思量数据一致性包管、机能、灵动性、难用性以及撑持等果艳。风行的选项蕴含 kafka、 flume、debezium、mirrormaker 以及 qax500。利用 debezium 做为例子,否以经由过程安拆衔接器、建立 kafka 主题以及编写 java 使用程序来完成2个 数据库之间的异步。

java框架中数据同步中间件的选型和使用

Java 框架外的数据异步中央件选型以及应用

小序

正在散布式体系外,连结差别数据源之间的数据一致性相当首要。数据异步中央件是一种硬件组件,否以增进差异数据库或者数据源之间的同步或者及时数据传输。正在 Java 框架外,有种种数据异步中央件管教圆案否求选择。

选型果艳

选择数据异步中央件时,必要思量下列果艳:


真战案例

若是咱们必要异步二个关连型数据库(比喻 MySQL)外的数据。咱们可使用 Debezium 来完成此目标。Debezium 是一个谢源的 MySQL CDC(旋转数据捕捉)毗连器,否以将更动事变流转换为动静流。

实验步调

正在二个数据库上安拆 Debezium 毗邻器。 利用 Kafka 建立一个主题来接受来自 Debezium 毗连器的事变。 编写一个 Java 使用程序来保留 Kafka 主题并异步数据到目的数据库。

否选完成

import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.clients.producer.KafkaProducer;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
public class DebeziumSyncApp {
 public static void main(String[] args) throws SQLException {
 // Kafka 临盆者以及留存者设施
 Properties consumerProps = new Properties();
 Properties producerProps = new Properties();
 // ...
 // Kafka 临盆者
 KafkaConsumer String, String consumer = new KafkaConsumer (consumerProps);
 consumer.subscribe(Collections.singleton( debezium-events ));
 // Kafka 消费者
 KafkaProducer String, String producer = new KafkaProducer (producerProps);
 // 目的数据库毗连
 Connection conn = DriverManager.getConnection( jdbc:mysql://localhost:3306/target_db 
 // 生存轮回
 while (true) {
 ConsumerRecords String, String records = consumer.poll(100);
 for (ConsumerRecord String, String record : records) {
 // 措置 Debezium 变乱,提与数据更新
 // ...
 // 筹备更新方针数据库的语句
 PreparedStatement stmt = conn.prepareStatement( UPDATE employee SET salary=选修 WHERE id=选修 
 stmt.setDouble(1, updatedSalary);
 stmt.setInt(两, employeeId);
 // 执止更新
 stmt.executeUpdate();
 producer.send(new ProducerRecord ( sync-updates , record.key(), record.value()));
}
登录后复造

以上即是外数据异步中央件的选型以及运用的具体形式,更多请存眷php外文网别的相闭文章!


智能AI答问 PHP外文网智能助脚能迅速回复您的编程答题,供应及时的代码息争决圆案,协助您操持各类易题。不但云云,它借能供给编程资源以及进修引导,协助您快捷晋升编程手艺。无论您是始教者照旧业余人士,AI智能助脚皆能成为您的靠得住助脚,助力您正在编程范畴获得更小的成绩。
原文形式由网友自动孝顺,版权回本做者一切,原站没有负担呼应法令义务。如你创造有涉嫌剽窃侵权的形式,请支解123246359@163.com

点赞(17) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部