druid解决高并发的数据库

druid解决高并发的数据库

经验文章nimo972025-07-03 17:40:591A+A-


处理高并发的时候可以解决我们java一个核心问题

java核心问题就是并发问题

解决并发一个是redis

一个是线程池的方式

现在出来是个druid

好像现在解决高并发的方式

进行更换数据库的方式

操作场景

插入频繁

但是更新比较少的方式

我们进行订单秒杀的方式

也是在插入的数量比较多

我们一会测试一下

分组查询的方式

更加适合分组查询的方式

高延时


使用指南

https://dlcdn.apache.org/druid/33.0.0/apache-druid-33.0.0-bin.tar.gz

下载地址


解压文件


配置jdk

必须使用jdk17


if [ -f jdk-17.0.1_linux-x64_bin.tar.gz ];then

echo "file exist"
tar -zxvf jdk-17.0.1_linux-x64_bin.tar.gz

name="jdk-17.0.1"

# -f 是否存在文件
# -d 是否为目录的方式

if [ -d "$name" ];then

echo "flie exist"
mv jdk-17.0.1 jdk

mv jdk-17.0.1 /usr/bin/

echo "file success"

export JAVA_HOME=/usr/bin/jdk
export CLASSPATH=.:$JAVA_HOME/lib/
export PATH=.:$JAVA_HOME/bin:$PATH
source /etc/profile

echo "config success"

java -version

else

echo "file not exist"

fi

else

echo "file not exist"
echo "delete success"

fi

cd /data/apache-druid-33.0.0/

./bin/start-druid -m 16g



启动项目

conf/druid/auto 
./bin/start-druid -m 16g
必须加这个-m
才能启动

启动成功了

使用jdbc操作的方式

 public static void main(String[] args) {
        String url = "jdbc:avatica:remote:url=http://192.168.36.128:8888/druid/v2/sql/avatica/;transparent_reconnection=true";

//        String query = "SELECT COLUMN_NAME,* FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'wikipedia' and TABLE_SCHEMA='druid'";
        String query = "SELECT * FROM INFORMATION_SCHEMA.COLUMNS";

        Properties connectionProperties = new Properties();

        try (Connection connection = DriverManager.getConnection(url, connectionProperties)) {
            try (
                    final Statement statement = connection.createStatement();
                    final ResultSet rs = statement.executeQuery(query)
            ) {
                while (rs.next()) {
                    String columnName = rs.getString("COLUMN_NAME");
                    String ordinal_position = rs.getString("ORDINAL_POSITION");
                    System.out.println(ordinal_position);
                }
            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }


数据出现了



问题

一共89条数据信息查询40多秒


经常出现超时问题


容易经常失败





安装需要关闭防火墙

总结

功能比较全

数据分片

数据聚合

json数据导入

推荐大项目使用小项目不推荐使用

因为延时比较高

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7