02使用java脚本向Pxc集群写入数据

本文介绍使用Java脚本向PXC集群进行批量数据写入的方法,包括连接配置、批量插入实现及流量控制策略。探讨了在高并发场景下,如何通过硬件升级、网络优化和合理设置避免流量控制带来的集群性能瓶颈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用java脚本向Pxc集群写入数据

批量写入pxc集群程序

导入mysql驱动包

# 批量插入数据的java脚本

package pxc_demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import com.mysql.jdbc.Driver;


public class Test {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        DriverManager.registerDriver(new Driver());
        String url="jdbc:mysql://10.11.0.210:3306/chinasoft";
        String username="root";
        String password="root";
        Connection con = DriverManager.getConnection(url, username, password);
        String sql = "INSERT INTO students(name) values(?)";
        PreparedStatement pst = con.prepareStatement(sql);
        while(true) {
            for(int i=1;i<=10;i++) {
                pst.setString(1, "Test");
                pst.execute();
            }
            Thread.sleep(1000);
        }
    }

}

在死循环插入数据的时候查询集群的状态,可以看到集群能够很迅速的处理请求,改变批量插入的大小为100,也能正常处理

流量控制

流量控制的相关信息

向pxc集群中添加一个空的新节点,就需要全量同步数据到新节点,如果数据库很大,同步队列会触发流量控制,整个个集群就不可用直到集群同步完成

业务就会中断,正确的做法应该是拷贝数据到新节点

如何避免流控,提升硬件性能,网络带宽,网卡性能

增加线程数

Non_primary脑裂:比如pxc集群部署在a和b两个机房,如果中间线路被挖断, a机房写入数据,查询的时候分配到了b机房,就会出现数据不一致

Pxc为了避免这种情况发生,一个机房当数量少于半数会自动宕机,超过半数就会组成新的集群,机房不要部署相同数量的节点

 

 

转载于:https://www.cnblogs.com/reblue520/p/10338465.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值