• 分布式之协调服务Zookeeper专题第一讲


    写在前面:

      再谈架构演进:

        1.单体架构->tomcat(war)

          演进:水平拆分(服务拆分,(用户服务,订单服务,商品服务))

               涉及问题:1).服务通信(webservice)

                     2).三态问题(成功、失败,超时等)

                垂直拆分(集群)

               涉及问题:1).地址维护

                    2).负载均衡机制
                    3).服务上下线感知(感知服务节点是否宕机 )

        2.分布式架构

          为了解决上述演进过程的各种问题,提供一个中间件,也就是我们的猪脚Zookeeper

    一、什么是Zookeeper

      1.历史:

        起源于雅虎,为了解决共享资源锁竞争的问题,实现一个分布式锁,是一个分布式协调服务,协调服务的一个顺序性。

      2.数据结构:

        2.1树形目录结构,基于Key-Value的存储,可以作为注册中心来使用,每一个节点上注册一个服务。会有顺序性。

        2.2节点特性:

          同级节点唯一性、临时节点(在客户端建立的会话周期中,创建的的临时节点,会话结束后会自动删除)和持久化节点、有序节点和无序节点、临时节点下不能存在节点

      3.部署方式

        为了高可用,ZK一般采用集群部署,一主两从。而这里就产生了数据同步的问题。就CAP理论而言,zk采用了2pc的分布式事务解决方案以保证最终一致性。

        

    二、zookeeper的安装部署

      1.安装部署

        1.1下载安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/  说明:下载3.5.5在启动时总是遇到如下问题

                     

        1.2解压zookeeper  tar -zxvf zookeeper-3.4.14.tar.gz

        1.3 拷贝一份配置文件 cp zoo_sample.cfg zoo.cfg (zk默认使用zoo.cfg配置文件)

        1.4 启动服务端 sh zkServer.sh start 

        1.5 启动客户端 sh zkCli.sh -server localhost:2182

      2.基本操作

        help

        create/delete/

    三、zoo.fcg配置文件分析

      

  • 相关阅读:
    shell加密为二进制可执行文件
    lua自写限制并发访问模块
    centos虚拟机中挂新硬盘
    lua文件修改为二进制文件
    常用一些命令方法
    常用问题处理方法
    CVE-2010-3333
    Kernel Stack Overflow(转)
    NULL Pointer Dereference(转)
    Linux内核漏洞利用-环境配置(转)
  • 原文地址:https://www.cnblogs.com/java333/p/11107166.html
Copyright © 2020-2023  润新知