ZooKeeper详解:开源分布式应用编排服务及其可视化工具
创始人
2024-12-17 11:57:36
0 次浏览
0 评论
zookeeper是什么?
动物园管理员是指管理动物的人。
ZooKeeper是一个开源的分布式应用程序编排服务。
这是GoogleChubby的开源实现,是Hadoop和Hbase的关键组件。
这是为分布式应用程序提供一致服务的软件。
提供的功能包括:配置维护、领域服务、分布式同步、群组服务等。
ZooKeeper的目标是封装复杂且容易出错的核心服务,同时为用户提供简单易用的界面和性能高效、稳定的系统功能。
ZooKeeper包含一组简单的原语,提供Java和C接口
ZooKeeper代码版本提供了锁、选举和队列独占分配的接口。
此代码位于$zookeeper_home\src\recipes中。
密钥和分配队列有Java和C两个版本,选举只有Java版本。
其原理:
ZooKeeper基于FastPaxos算法。
Paxos算法存在直接锁定问题,这意味着当有很多人提出交错提交时,就会出现劣势。
做了一些优化并选出了领导者。
只有领导者才能发送提案者。
具体算法可以参见FastPaxos。
因此,想要了解ZooKeeper,首先要了解FastPaxos。
ZooKeeper的基本操作流程:1、选举TeamLeader。
2.数据同步。
3、Leader选举过程中的算法有很多种,但需要满足的选举标准是相同的。
4、leader必须有最高的执行ID,类似于root。
5.集群中的大多数机器响应并接受选定的Leader。

两款开源ZooKeeper可视化工具
两个用于简化ZooKeeper管理的开源ZooKeeper工具提供了直观的交互式界面来简化ZooKeeper管理。子奎一个GitHub开源项目,拥有2.2Kstar,内置pierweb可视化界面。
用户下载源代码后;通过修改config.cfg配置服务端口和zkServer地址;运行mavencleaninstall将其打包为jar文件;运行java-jarzkui-2.0-SNAPSHOT.jar或者运行编译器中的main函数。
启动内置码头服务。
要管理ZooKeeper,请登录http://localhost:9090/用户名:管理员;密码:使用管理员。
PrettyZoo是另一个开源项目,以其漂亮的界面和2.1K颗星而闻名。
用户可以下载Windows安装包;安装完成后,双击桌面图标启动;创建一个zk地址并提供多个连接保存,点击左下角保存。
点击节点后,节点列表连接后的数据概览,包括元数据和数据。
节点变化实时更新,无需手动重启。
这两个工具从命令行界面和Web界面开始;用于ZooKeeper管理支持多种方式,简化操作流程,提高效率。
java中间件?
中间件在后端开发中发挥着重要作用,它集成了分布式系统中常用的关键功能,包括消息队列、事务处理、安全机制、网络编排、HTTP服务器、Web服务等,提供了复杂的统一开发环境。。
简单来说,中间件是对分布式系统中通用功能进行抽象的一组程序,位于操作系统和应用软件之间,提供服务功能。
流行的开源中间件包括Kafka消息队列、RabbitMQ、ActiveMQ、RocketMQ、NginxWeb服务器、OpenResty、Tomcat、weblogic、jetty等应用服务中间件、Redis缓存中间件、Memcached、RPC框架Tars、Dubbo、gRP等。
C.Thrift、mycat数据库中间件、Shardingjdbc、ELKB日志系统中间件(Elasticsearch、Logstash、Kibana、Beats)、Apollo配置中心中间件、Zookeeper、OAPI网关统一配置管理中间件、Seata事务处理中间件、JDTX等。
学习中间件首先要掌握市场上常用的或者招聘中提到的几个网关,比如Nginx、Kong、Zuul、CachingRedis、Memcached、OsCache、EhCache网关、ElasticSearch和Solr搜索引擎、Hystrix和Reliability4断路器、DNS负载均衡器、F5、LVS、Nginx、OpenResty、HAproxy、Eureka注册中心、Zookeeper、Redis、Etcd、Consul、身份验证JWT、SpringSecurity、消费队列RabbitMQ、Kafka、RocketMQ、Activea、Redis、系统监控Gratana、Prometheus、Intluxdb、Telegraf、Lepus、OSS文件系统、NFS、FastDFS、MogileFs、Maven构建工具、Gradle、Docker集成部署、Jenkins、Git、Maven、Disconf分布式配置、Apollo、SpringCloudConfig、Diamond、LoadRunner压力测试、JMeter、AB、webbench、MySQL、Redis、MongoDB、PostgresQL、Memcache、HBase等网络组件包括VPC(虚拟专用网络)、弹性公网、CDN、DRDS数据库中间件、Mycat、360Atlas、Cobar、Dubbo分布式框架、Motan、SpringCloud、xxL-JOB分布式作业处理、Elastic-Job等。
、Saturn、Quartz、Pinpoint分布式跟踪、CAT、zipkin、Elasticsearch分布式日志、logstash、Kibana、redis、kafka、release发布策略、蓝绿部署、A/B测试、灰度/金丝雀发布等。
相关文章

Java重载与重写:详细解析及区别对比
2025-01-14 08:20:22
Java标识符命名规范解析
2025-03-09 10:13:29
揭秘Java前端与后端:技术区别与核心组...
2024-12-15 19:09:22
C语言字符数组与字符串差异解析
2024-12-16 10:25:35
Java平台详解:从SE到EE,探索Ja...
2024-12-19 21:30:37
JavaSE、JavaEE与JavaME...
2024-12-14 17:54:41
Java核心技术卷一卷二对比:深度解析基...
2024-12-24 22:17:56
Java集合框架详解:接口、类及常用实现...
2024-12-14 22:17:23
C语言实现二维数组第一行与第三行交换方法...
2024-12-24 12:11:01
C语言教程:绘制心形图案与输出I LOV...
2024-12-24 10:36:47最新文章
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
04
2025-04
热门文章
1
Java字符串分割技巧:轻松获取逗号前的...
java任意一个字符串,当它碰到第一个逗号时,返回逗号前面的字符串,例如:str...
2
SQL多表连接查询全解析:JOIN语句应...
sql多表关联查询在执行SQL多表连接查询时,可以使用JOIN语句将多个表连接在...
3
Java中字符串类型详解:String与...
变量有字符类型,为什么没有字符串类型??基本类型:charshort、int、l...
4
JavaSE与JavaEE:从基础到企业...
javase 和javaee的区别?JavaSE和JavaEE...
5
Java程序员面试必知:核心技术问答与技...
java编程程序员技术面试常见面试?随着互联网的不断发展,Java开发已经成为很...
6
Java.exe与Javaw.exe:区...
程序中java和javaw有什么区别java和javaw的区别:两者都是Java...
7
深入解析:Java中的javax包及其与...
JAVA导入时,什么是javax?awt是java1.0,swing是java2...
8
Java基础教程:深入理解File和Pa...
java中if(!file.exists())什么意思?”“在Java >...
9
Java字符串搜索与位置定位技巧解析
在java中求一个字符串在另一个字符串中多次出现的位置。用indexOf方法怎么...
10
Java静态资源加载机制解析:静态方法与...
java静态资源(静态方法,静态属性)是程序一运行就加载到jvm中,还是当被调用...