• 3、ZooKeeper架构


    ZooKeeper总体架构

    应用使用ZooKeeper客户端使用ZooKeeper服务。ZooKeeper客户端负责和ZooKeeper集群的交互。ZooKeeper集群可以有两种模式:standlone模式和quorum模式。处于standlone模式的ZooKeeper集群还有一个独立运行的ZooKeeper节点。处于quorum模式的ZooKeeper集群包含多个ZooKeeper节点

    Session

    ZooKeeper客户端库和ZooKeeper集群中的某个节点创建一个session。客户端可以主动关闭session。另外如果ZooKeeper节点没有在session关联的timeout时间内收到客户端的消息的话,ZooKeeper节点也会关闭session。另外ZooKeeper客户端库如果发现链接的ZooKeeper出错,会自动和其他ZooKeeper节点建立连接

    Quorum模式

    处于Quorum模式的ZooKeeper集群包含多个ZooKeeper节点。下图的ZooKeeper集群有3个节点,其中节点1是leader节点,节点2和节点3是follower节点。leader节点可以处理读写请求,follower只可以处理读请求。follower在接到写请求时会把写请求转发给leader来处理

    数据一致性

    全局可线性化写入:先到达leader的写请求会被先处理,leader决定写请求的执行顺序

    客户端FIFO顺序:来自给定客户端的请求按照发送顺序执行

    3节点Quorum集群==》3个配置文件,dataDir和clientPort配置项要配置不同的值

    server.1=127.0.0.1:3333:3334==》3333是用于quorum通信的端口,3334是用于leader选举的端口

    还要为每个ZooKeeper节点创建myid文件

    启动集群:

    zkServer.sh start-foreground src/main/resources/quorum/zoo-quorum-node1.cfg

    start-foreground选项zkServer.sh在前台运行,把日志直接打到console。如果把日志打到文件的话,这三个zkServer.sh把日志打到同一个文件

    启动客户端使用三节点的集群:zkCli.sh -server 127.0.0.1:2181, 127.0.0.1:2182, 127.0.0.1:2183

  • 相关阅读:
    yum 本地 网络 openstack
    docker 负载均衡
    tomcat + nginx 负载均衡 动静分离 session会话配置
    K8S Ingress 之 traefik-ingress-controller
    CentOS7安装和配置rsync+inotify
    DAS,NAS,SAN在数据库存储上的应用
    inotify+rsync实现实时同步
    NFS网络文件系统
    CentOS7下rsync服务的基本详解和使用
    LVM--逻辑卷管理
  • 原文地址:https://www.cnblogs.com/liushoudong/p/13335017.html
Copyright © 2020-2023  润新知