zoukankan      html  css  js  c++  java
  • 02使用java脚本向Pxc集群写入数据

    使用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为了避免这种情况发生,一个机房当数量少于半数会自动宕机,超过半数就会组成新的集群,机房不要部署相同数量的节点

     

  • 相关阅读:
    堆内存和栈内存
    链表
    爬虫---正则表达式
    剑指offer---二维数组中的查找
    基于C#开发的俄罗斯方块
    Java第十天
    软考错题合集之11-05-AM
    软考错题合集之11-11-AM
    软考错题合集之12-05-AM
    GOF之模板模式
  • 原文地址:https://www.cnblogs.com/reblue520/p/10338465.html
Copyright © 2011-2022 走看看