javaguide zookeeper面试题
Zookeeper
啥是Zookeeper干啥的
ZooKeeper 可以被用作注册中心、分布式锁; ZooKeeper 是 Hadoop 生态系统的一员; 构建 ZooKeeper
集群的时候,使用的服务器最好是奇数台。
启动ZK
下载安装解压 不过多赘述
我的zookeeper文件位置
修改配置文件
编辑 conf/zoo.cfg 配置文件:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181
启动指令
在zookeeper目录下的bin目录下使用 zkServer.sh 脚本来启动 Zookeeper:
./zkServer.sh start
使用 jps 命令检查 ZooKeeperServer 是否正在运行:
jps | grep ZooKeeperServer
windows下载安装运行zk
原文章
注意闪退改config目录下文件名称
docker 运行zk
原文章
2182端口 name zookeeper
容器id 93f1ff04def7e6f7782170a393f1b04c92ca587dd86d114b23060cdf4683f520
docker run -d -e TZ="Asia/Shanghai" -p 2182:2182 -v $PWD/data:/data --name zookeeper --restart always zookeeper
Dubbo
RPC
什么是RPC框架
RPC(Remote Procedure Call) 即远程过程调用,通过名字我们就能看出 RPC 关注的是远程调用而非本地调用。
RPC和HTTP协议有什么不同
虽然HTTP协议在互联网通信中非常普遍且灵活,但是它与RPC框架在设计和应用上有一些明显的区别,因此在某些场景下仍然需要使用RPC框架:
性能和效率:RPC框架通常采用二进制传输协议(如Google Protocol Buffers、Apache Thrift等),相比于HTTP协议的文本传输,具有更高的性能和效率。这对于需要大量数据传输或对性能要求较高的场景非常重要。
类型安全和代码生成:RPC框架通常提供了类型安全和代码生成的功能,可以根据服务接口定义自动生成客户端和服务端的代码。这可以避免手动编写和解析数据结构的麻烦,提高开发效率和代码质量。
多语言支持:RPC框架通常支持多种编程语言,可以实现跨语言的服务调用。这对于复杂的分布式系统来说非常重要,因为不同的团队可能使用不同的编程语言来开发服务。
服务治理和监控:RPC框架通常提供了丰富的服务治理和监控功能,包括服务注册与发现、负载均衡、容错处理等。这对于管理大规模的服务集群非常重要,可以提高系统的可靠性和可管理性。
幂等性和事务支持:RPC框架通常支持幂等性和事务机制,可以确保服务调用的可靠性和一致性。这对于需要保证数据一致性和业务逻辑正确性的场景非常重要。
总的来说,尽管HTTP协议在许多场景下可以胜任通信任务,但在一些特定的分布式系统中,RPC框架的性能、效率、类型安全、多语言支持等特点仍然显得非常重要。因此,RPC框架在构建大规模分布式系统时仍然具有广泛的应用前景。
javaguide RPC and Dubbo
Dubbo
什么是Dubbo 干嘛的
一个分布式RPC框架并且提供了注册发现和负载均衡一系列功能
用docker启动dubbo