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测试、灰度/金丝雀发布等。
相关文章
2024年黑马程序员Java培训课程解析...
2024-12-18 19:15:10ZooKeeper详解:开源分布式应用编...
2024-12-17 11:57:36Java网络爬虫实现方法及框架选择指南
2024-12-18 00:05:38Java代码解析:字符串大小写转换实现步...
2024-12-17 12:03:04Python技巧:小写字母转大写,简单代...
2024-12-17 02:24:44Java换行方法全解析:控制台输出与文件...
2024-12-20 21:44:02Java类与对象:深入解析OOP中的抽象...
2024-12-16 22:59:45C语言中的指数e:规则与应用解析
2024-12-18 10:38:36b标题:C语言i++和++i操作详解:揭...
2024-12-18 15:55:03Java项目经验集锦:4篇青少年项目解析...
2024-12-18 21:05:09最新文章
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
热门文章
1
SQL多表连接查询全解析:JOIN语句应...
sql多表关联查询在执行SQL多表连接查询时,可以使用JOIN语句将多个表连接在...
2
Java中字符串类型详解:String与...
变量有字符类型,为什么没有字符串类型??基本类型:charshort、int、l...
3
JavaSE与JavaEE:从基础到企业...
javase 和javaee的区别?JavaSE和JavaEE...
4
Java程序员面试必知:核心技术问答与技...
java编程程序员技术面试常见面试?随着互联网的不断发展,Java开发已经成为很...
5
Java.exe与Javaw.exe:区...
程序中java和javaw有什么区别java和javaw的区别:两者都是Java...
6
深入解析:Java中的javax包及其与...
JAVA导入时,什么是javax?awt是java1.0,swing是java2...
7
Java跨平台原理揭秘:一次编写,处处运...
为什么说java程序具有“writeonce,runanywhere”的特点?求...
8
Java项目间类引用与Jar包导入指南
java项目导入jar包方法一:直接复制所需的jar包,然后找到项目的lib路径...
9
Java运行时错误解析:标识符缺失与输出...
java提示需要<标识符>类中的语句只能定义变量或方法!可执行语句只...
10
Java去除字符串前空格:常见方法与技巧...
JAVA怎么【只】去掉字符串【前面的】空格?JAVA中是否去除空格1.Strin...