大数据开发中Zookeeper怎么实现简易配置中心
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章给大家介绍大数据开发中Zookeeper怎么实现简易配置中心,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。大数据开发-Zookeeper实现简易配置中心为什么使用Zook
千家信息网最后更新 2025年01月23日大数据开发中Zookeeper怎么实现简易配置中心大数据开发-Zookeeper实现简易配置中心
这篇文章给大家介绍大数据开发中Zookeeper怎么实现简易配置中心,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
大数据开发-Zookeeper实现简易配置中心
为什么使用Zookeeper
Zookeeper是一个分布式的,开放源码的分布式协调服务,常在Ha架构,比如Hadoop、Hbase中使用,它是一个分布式应用提供一致性服务的软件,提供的功能有:配置维护,域名服务,分布式同步,注册中心等,作为配置中心,需要的就是一个稳定的全局一致的配置化中心,而Zk本身提供的原语正好可以满足需求。
1.实现思路
1.创建要给Web项目,将数据库连接池信息交给Zookeeper配置中心来管理,即把配置参数放到Zk的节点信息中.
2.在项目启动时候,从Zookeeper中拉取Mysql的信息参数、
3.当Zk中的数据库连接池信息修改后,自动感知,正确释放之前的连接池,创建新的连接池。
2.实现过程
2.1 启动springboot项目,并从zk中拉取配置
/**
* 1. 启动 web 容器
* 2. 初始化 zookeeper
* 3. 配置数据库连接池
**/
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
initZk();
configHikariSource();
}
//初始化zk
private static void initZk() {
zkClient = new ZkClient("centos:8521");
zkClient.setZkSerializer(new ZkStrSerializer());
zkClient.subscribeDataChanges("/jdbc", new IZkDataListener() {
public void handleDataChange(String path, Object data) {
System.out.println(path + " data is changed, new data " + data);
hikariDataSource.close();
configHikariSource();
}
public void handleDataDeleted(String path) {
System.out.println(path + " is deleted!!");
hikariDataSource.close();
}
});
}
2.2 获取数据库连接池信息进行访问mysql
序列化zk中的数据,将其转为字符串,使用HiKari工具建立连接,操作数据库
/**
* 配置数据库连接池
*
* 1. 从 zookeeper 中获取配置信息
* 2. 更新 hikari 配置
* 3. 执行测试 sql
*/
private static void configHikariSource(){
JDBCConfig myConfig = getJDBCConfig();
updateHikariConfig(myConfig);
try {
executeTestSQL();
} catch (SQLException e) {
e.printStackTrace();
}
}
2.3 监听zk,改变节点数据,释放并创建新的数据库连接
//更新数据库信息
private static void updateHikariConfig(JDBCConfig myConfig) {
HikariConfig config = new HikariConfig();
config.setJdbcUrl(myConfig.getUrl());
config.setUsername(myConfig.getUsername());
config.setPassword(myConfig.getPassword());
config.addDataSourceProperty( "driverClassName" , myConfig.getDriver());
config.addDataSourceProperty( "cachePrepStmts" , "true" );
config.addDataSourceProperty( "prepStmtCacheSize" , "250" );
config.addDataSourceProperty( "prepStmtCacheSqlLimit" , "2048" );
hikariDataSource = new HikariDataSource(config);
}
关于大数据开发中Zookeeper怎么实现简易配置中心就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数据
配置
数据库
信息
分布式
简易
开发
项目
服务
一致
内容
参数
更多
节点
帮助
更新
不错
一致性
全局
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海应用软件开发中心
网络安全几个同步
温江网络安全性
高颜值数据库技术
中国最好的服务器厂
晶科 服务器中毒
牟平区商城软件开发公司
网络安全的高中英语作文
3g网络技术构成
django多数据库查询
数据权限设计 数据库
昆明IOS软件开发人才招聘
搞软件开发超过40岁
网络安全环境图
微企云服务器的应用
交通银行软件开发中心笔面试
网络管理员用服务器
怎样筛选好的软件开发公司
php中写入数据库语句
浪潮服务器能挖矿吗
海康dvr录像机服务器地址
依法管网 网络安全法
执行删除数据库名称
在笔记本电脑上怎么建立数据库
去哪网 滴滴 软件开发
北京大学软件开发专业好
网络安全法第59条规定的内容
连接云服务器售价
海南服务器机柜生产商
pb自动连接sql数据库