zoukankan      html  css  js  c++  java
  • zookeeper (一)

    CAP:Consistency(数据强一致性)、Availability(其中一台机器故障其他的可以提供服务)、Partitiontolerance(机器间因网络延迟等问题不能同步,确保都可以提供服务),因为分布式微服务集群基本上是要求的所以一般都是在CP 或者 AP 之间做选择。 CA本来就矛盾。

    BASE:基本可用(Basically Available) 软状态(Soft State) 最终一致性(Eventual Consistency)

    由于BASE理论需要在一致性和可用性方面做出权衡,因此涌现了很多关于一致性的算法和协议:1、两阶段提交 2、三阶段提交 3、Paxos算法 4、Zab协议

    官网下载zookeeper(AP、CP),解压。修改zoo_sample.cfg文件名为zoo.cfg 打开两个窗口:运行服务端:./zkServer.sh start ../conf/zoo.cfg 客户端:./zkCli.sh

    zookeeper单机集群配置:

    分别配置三台服务器:

    mkdir -p /tmp/zookeeper/data_1
    mkdir -p /tmp/zookeeper/data_2
    mkdir -p /tmp/zookeeper/data_3
    
    mkdir -p /tmp/zookeeper/logs_1
    mkdir -p /tmp/zookeeper/logs_2
    mkdir -p /tmp/zookeeper/logs_3
    
    echo "1" > /tmp/zookeeper/data_1/myid
    echo "2" > /tmp/zookeeper/data_2/myid
    echo "3" > /tmp/zookeeper/data_3/myid
    

    zoo1.cfg

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/tmp/zookeeper/data_1
    clientPort=2181
    
    dataLogDir=/tmp/zookeeper/logs_1
    server.1=localhost:2887:3887
    server.2=localhost:2888:3888
    server.3=localhost:2889:3889
    
    

    zoo2.cfg

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/tmp/zookeeper/data_2
    clientPort=2182
    
    dataLogDir=/tmp/zookeeper/logs_2
    server.1=localhost:2887:3887
    server.2=localhost:2888:3888
    server.3=localhost:2889:3889
    
    

    zoo3.cfg

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/tmp/zookeeper/data_3
    clientPort=2183
    
    dataLogDir=/tmp/zookeeper/logs_3
    server.1=localhost:2887:3887
    server.2=localhost:2888:3888
    server.3=localhost:2889:3889
    
    

    服务配置好后 分别启动服务./zkServer.sh start ../conf/zoo1.cfg (配置了三台服务器,当只启动了zookeeper1时会zookeeper.out会出现错误日志,提示无法在选举地址localhost/127.0.0.1:3888打开频道至2,只要启动zookeeper2就好了,这与选举的过半机制有关,配置了三台包括leader本身,那么需要有至少两台启动)

    微服务:更偏向于服务的划分,如用户服务和订单服务分别有自己的服务和数据库,服务间利用rpc调用。
    分布式:更偏向于机器的划分,地区的划分

  • 相关阅读:
    Web性能优化系列(3):如何延迟加载JS
    Web性能优化系列(2):剖析页面绘制时间
    Web性能优化系列(1):Web性能优化分析
    页面制作之开发调试工具(1)
    格式化 SQL 来提高效率
    关于SQL注入,你应该知道的那些事
    jQuery()方法的第二个参数
    JSON简介以及用法代码汇总
    js简单的面试题
    常用meta整理
  • 原文地址:https://www.cnblogs.com/leifonlyone/p/12818801.html
Copyright © 2011-2022 走看看