当前位置: 首页 > news >正文

月夜直播免费完整版观看深圳seo优化公司哪家好

月夜直播免费完整版观看,深圳seo优化公司哪家好,网站上的3d产品展示怎么做,肇庆市有那家做网站的为什么要使用Zookeeper dubbo需要一个注册中心,而Zookeeper是我们在使用Dubbo是官方推荐的注册中心 Zookeeper介绍 Zookeeper的集群机制 Zookeeper是为了其他分布式程序提供服务的,所以不能随便就挂了。Zookeeper的集群机制采取的是半数存活机制。也…

为什么要使用Zookeeper

dubbo需要一个注册中心,而Zookeeper是我们在使用Dubbo是官方推荐的注册中心
在这里插入图片描述
在这里插入图片描述

Zookeeper介绍

在这里插入图片描述
Zookeeper的集群机制
Zookeeper是为了其他分布式程序提供服务的,所以不能随便就挂了。Zookeeper的集群机制采取的是半数存活机制。也就是整个集群节点中有半数以上的节点存活,那么整个集群环境可用。这也是为什么说zk的集群最好是奇数个节点。

zk的作用

序号功能
1为别的分布式程序服务的
2本身就是一个分布式程序
3主从协调 服务器节点动态上下线 统一配置管理 分布式共享锁 统一名称服务
4管理(存储,读取)用户程序提交的数据 并为用户程序提供数据节点监听服务

Zookeeper集群节点的角色

Leader
Leader是Zookeeper集群工作的核心,其主要工作是:

  1. 事务请求的唯一调度和处理者,保证集群事务处理的顺序性。
  2. 集群内部各服务器的调度者

Follower
Follower是zookeeper集群的跟随者,主要工作是:

  1. 处理客户端非事务性请求(读取数据),转发事务请求给Leader服务器
  2. 参与事务请求Proposal的投票
  3. 参与Leader选举投票

Observer
Observer充当观察者的角色,观察Zookeeper集群的最小状态变化并将这些状态同步过来,其对于非事务请求可以独立处理,对于事务请求,会转给Leader节点进行处理。Observer不会参与投票,包括事务请求Proposal的投票和Leader选举投票

集群环境准备

节点的映射关系

每个节点设置相应的ip和主机名的映射关系,方便集群环境的部署
修改hosts配置文件中的信息
在这里插入图片描述

配置免密登录
生成公钥和私钥

ssh-keygen

输入命令后根据提示,四次回车即可
在这里插入图片描述

发送公钥给需要免密登录的节点

ssh-copy-id zk01
ssh-copy-id zk02
ssh-copy-id zk03

在这里插入图片描述
节点和节点发送文件通过scp命令实现

	scp -r b.txt bobo01:/root/

在这里插入图片描述
关闭防火墙
查看防火墙状态

firewall-cmd --state

停止防火墙

systemctl stop firewall.service

禁止开机启动

systemctl disable firewall.service

Zookeeper的选举机制

Leader主要作用是保证分布式数据一致性,即每个节点的存储的数据同步。

服务器初始化时Leader选举
Zookeeper由于自身的性质,一般建议选取奇数个节点进行搭建分布式服务器集群。以3个节点组成的服务器集群为例,说明服务器初始化时的选举过程。启动第一台安装Zookeeper的节点时,无法单独进行选举,启动第二台时,两节点之间进行通信,开始选举Leader。

  1. 每个Server投出一票。第一次他们都投给自己作为Leader,投票内容未(SID,ZXID)。
    SID为Server的id,即启动ZK时配置文件中的myid;
    ZXID为事务id,为节点的更新程序,ZXID越大,代表Server对ZK节点的操作越新。由于服务器初始化,
    每个Sever上的Znode为0,所以Server1投的票为(1,0),Server2为(2,0)。两Server将各自投票发给集群中其他机器。
  2. 每个Server接收来自其他Server的投票。集群中的每个Server先判断投票的有效性,如检查是不是本轮的投票,是不是来Looking状态的服务器投的票。
  3. 对投票结果进行处理。处理规则为:
    • 首先对比ZXID。ZXID大的服务器优先作为Leader
    • 若ZXID系统,如初始化时,每个Server的ZXID都是0
    • 就会比较sid即myid,myid大的选出来做Leader。
      首次选举对于Server而言,他接受到的投票为(2,0),因为自身的票为(1,0),所以此时它会选举Server2为Leader,
      将自己的更新为(2,0)。而Server2收到的投票为Server1的(1,0)由于比他自己小,
      Server2的投票不变。Server1和Server2再次将票投出,投出的票都为(2,0)
  4. 统计投票。每次投票后,服务器都会统计投票信息,如果判定某个Server有过半的票数,俺么该Server就是Leader。首次投票对于Server1和Server2而言,统计出已经有两台机器接收了(2,0)的投票信息,此时认为选出了Leader。
  5. 改变服务器的状态。当确定了Leader之后,每个Server更新自己的状态,
    Leader将状态更新为Leading,Follower将状态更新为Following。
    在这里插入图片描述
    服务器运行期间的Leader选举
    ZK运行期间,如果有新的Server加入,或非Leader节点挂了,那么LEader会同步数据给新的Server或寻找其他备用Server替代宕机的Server。若Leader宕机,此时集群暂停对外服务,开始在内部选举新的Leader。假设当前集群中有Server1、Server2、Server3三台服务器,Server2为当前集群的Leader,由于意外情况,Server2宕机了,便开始进入选举状态。过程如下

1 变更状态。其他非Observer服务器将自己的状态改变成Looking,开始进入Leader选举。
2. 每个Server投出1张票(myid,ZXID),由于集群运行过,所以每个Server的ZXID可能不同。
假设Server1的ZXID为145,Server3的为122,第一轮投票中,Server1和Server3都投自己,
票分别为(1,145)、(3,122),将自己的票发送给集群中所有机器。
3. 每个Server接收接收来自其他Server的投票,接下来的步骤与初始化时相同。

Zookeeper客户端使用

配置Zookeeper的环境变量
为了简化我们每次操作Zookeeper而不用进入到Zookeeper的安装目录,我们可以将Zookeeper的安装信息配置到系统的环境变量中

vim /etc/profile

添加的内容

export ZOOKEPPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

执行source命令

source /etc/profile

我们就可以在节点的任意位置操作Zookeeper了,通过scp命令将profile文件发送到其他几个节点上

scp /etc/profile zk02:/etc/

客户端连接
通过bin目录下的zkCli.sh 命令连接即可

	zkCli.sh

在这里插入图片描述
zkCli.sh默认连接的是当前节点的Zookeeper节点,如果我们要连接其他节点执行如下命令即可

	zkCli.sh -timeout 5000 -server zk02:2181

数据操作

Zookeeper的数据结构

  1. 层次化的目录结构,命名符合常规文件系统规范
  2. 每个节点在Zookeeper中叫做znode,并且有一个唯一的路径标识
  3. 节点znode可以包含数据和子节点(但是EPHEMERAL类型的节点不能有子节点)
  4. 客户端应用可以在节点上设置监听器
    在这里插入图片描述

节点类型

1).znode有两种类型:

短暂性(ephemeral)(断开连接自己删除)
持久性(persistent)(断开连接不删除)

2).znode有四种形式的目录节点(默认是persistent)如下

序号节点类型描述
1PERSISTENT持久节点
2PERSISTENT_SEQUENTIAL持久有序节点(顺序节点)
3EPHEMERAL短暂节点 (临时节点)
4EPHEMERAL_SEQUENTIAL短暂有序节点 (临时顺序节点)

创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,有父节点维护在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序

常用命令
Zookeeper作为Dubbo的注册中心用来保存我们各个服务的节点信息,显示Zookeeper是可以实现输出的存储操作的,我们来看下Zookeeper中存储操作的基本命令

ls
​ ls用来查看某个节点下的子节点信息
在这里插入图片描述
增强的命令,查看节点下的子节点及当前节点的属性信息 ls2或者 ls -s 命令
在这里插入图片描述
create
​ 创建节点信息
在这里插入图片描述
get

​ get命令用来查看节点的数据
在这里插入图片描述
如果要查看节点的属性信息那么我们可以通过get -s 来实现

delete
​ delete只能删除没有子节点的节点要删除非空节点可以通过 rmr 或者 deleteall 命令实现
在这里插入图片描述
set

​ set命令可以用来修改节点的内容。
在这里插入图片描述
事件监听
监听某个节点的数据内容变化,通过get命令 带 -w 参数即可,在3.4版本的Zookeeper中是通过 get path watch 来说实现监控的
在这里插入图片描述
然后我们在其他节点上修改app1节点的数据,会触监听事件

Zookeeper Java API使用

pom

<dependencies><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.5.9</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>

连接ZK服务

 private String connectString = "192.168.100.121:2181,192.168.122:2181,192.168.100.122:2181";private int sessionTimeOut = 5000;/*** 连接Zookeeper服务端*/@Testpublic void test1() throws IOException {ZooKeeper zooKeeper = new ZooKeeper(connectString, sessionTimeOut, new Watcher() {/*** 触发监听事件的回调方法* @param watchedEvent*/@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("触发了.....");}});System.out.println("--->" + zooKeeper);}

在这里插入图片描述

/*** 创建节点*/@Testpublic void createNode() throws Exception{String path = zooKeeper.create("/apptest" // 节点路径,"HelloZookeeper".getBytes() // 节点的数据, ZooDefs.Ids.OPEN_ACL_UNSAFE // 权限, CreateMode.PERSISTENT // 节点类型);System.out.println(path);}/*** 判断节点是否存在*/@Testpublic void exist() throws  Exception{// true表示的是使用Zookeeper中的watchStat stat = zooKeeper.exists("/apptest", true);if(stat != null){System.out.println("节点存在"+ stat.getNumChildren());}else{System.out.println("节点不存在 ....");}}/*** 获取某个节点下面的所有的子节点*/@Testpublic void getChildrens() throws Exception{List<String> childrens = zooKeeper.getChildren("/app1", true);for (String children : childrens) {// System.out.println(children);// 获取子节点中的数据byte[] data = zooKeeper.getData("/app1/" + children, false, null);System.out.println(children+":" + new String(data));}}/*** 修改节点的内容*/@Testpublic void setData() throws Exception{// -1 不指定版本 自动维护Stat stat = zooKeeper.setData("/app1/a1", "666666".getBytes(), -1);System.out.println(stat);}/*** 删除节点*/@Testpublic void deleteNode() throws Exception{zooKeeper.delete("/app1",-1);}

事件监听处理

/*** 监听Node节点下的子节点的变化*/@Testpublic void nodeChildrenChange() throws Exception{List<String> list = zooKeeper.getChildren("/app1", new Watcher() {/***              None(-1),*             NodeCreated(1),*             NodeDeleted(2),*             NodeDataChanged(3),*             NodeChildrenChanged(4),*             DataWatchRemoved(5),*             ChildWatchRemoved(6);* @param watchedEvent*/@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("--->"+ watchedEvent.getType());}});for (String s : list) {System.out.println(s);}Thread.sleep(Integer.MAX_VALUE);}/*** 监听节点内容变更*/@Testpublic void nodeDataChanged() throws Exception{byte[] data = zooKeeper.getData("/app1/a1", new Watcher() {@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("--->" + watchedEvent.getType());}}, null);System.out.println("--->" + new String(data));Thread.sleep(Integer.MAX_VALUE);}

文章转载自:
http://deliberative.rtzd.cn
http://sensibly.rtzd.cn
http://sarre.rtzd.cn
http://pandean.rtzd.cn
http://nesting.rtzd.cn
http://voteable.rtzd.cn
http://phytopathogene.rtzd.cn
http://disaccredit.rtzd.cn
http://smg.rtzd.cn
http://acquirability.rtzd.cn
http://scythe.rtzd.cn
http://sinecurist.rtzd.cn
http://tipsiness.rtzd.cn
http://phosphomonoesterase.rtzd.cn
http://educible.rtzd.cn
http://decontamination.rtzd.cn
http://ovaloid.rtzd.cn
http://myrrhy.rtzd.cn
http://hero.rtzd.cn
http://multan.rtzd.cn
http://overwater.rtzd.cn
http://cpc.rtzd.cn
http://spectrofluorometer.rtzd.cn
http://bacillin.rtzd.cn
http://yucca.rtzd.cn
http://limmasol.rtzd.cn
http://cove.rtzd.cn
http://currish.rtzd.cn
http://resistent.rtzd.cn
http://blanche.rtzd.cn
http://kilomegacycle.rtzd.cn
http://washy.rtzd.cn
http://south.rtzd.cn
http://aloha.rtzd.cn
http://gray.rtzd.cn
http://furtherance.rtzd.cn
http://trilingual.rtzd.cn
http://unknowable.rtzd.cn
http://hopple.rtzd.cn
http://fargo.rtzd.cn
http://happening.rtzd.cn
http://pectic.rtzd.cn
http://ankylostomiasis.rtzd.cn
http://variolate.rtzd.cn
http://epagogic.rtzd.cn
http://hoarseness.rtzd.cn
http://goto.rtzd.cn
http://gemological.rtzd.cn
http://naperville.rtzd.cn
http://nurturance.rtzd.cn
http://compensatory.rtzd.cn
http://assailant.rtzd.cn
http://radioresistance.rtzd.cn
http://mooltan.rtzd.cn
http://anon.rtzd.cn
http://cotyle.rtzd.cn
http://filmable.rtzd.cn
http://turkophile.rtzd.cn
http://frazil.rtzd.cn
http://abeyance.rtzd.cn
http://superagency.rtzd.cn
http://tachycardiac.rtzd.cn
http://polyarchy.rtzd.cn
http://vulturish.rtzd.cn
http://sharecropper.rtzd.cn
http://parfait.rtzd.cn
http://rudderhead.rtzd.cn
http://ligroin.rtzd.cn
http://clinamen.rtzd.cn
http://juvenscence.rtzd.cn
http://coarsen.rtzd.cn
http://nutwood.rtzd.cn
http://sanely.rtzd.cn
http://ides.rtzd.cn
http://frenzy.rtzd.cn
http://eolienne.rtzd.cn
http://churchwarden.rtzd.cn
http://chromiderosis.rtzd.cn
http://anion.rtzd.cn
http://decarbonize.rtzd.cn
http://covariance.rtzd.cn
http://devitalization.rtzd.cn
http://foresheet.rtzd.cn
http://nudnik.rtzd.cn
http://timpani.rtzd.cn
http://binal.rtzd.cn
http://epigene.rtzd.cn
http://tufthunter.rtzd.cn
http://sagaciously.rtzd.cn
http://paal.rtzd.cn
http://cisterna.rtzd.cn
http://essence.rtzd.cn
http://acuity.rtzd.cn
http://biofeedback.rtzd.cn
http://centile.rtzd.cn
http://incursive.rtzd.cn
http://lowlihead.rtzd.cn
http://pinxit.rtzd.cn
http://pocky.rtzd.cn
http://volar.rtzd.cn
http://www.hrbkazy.com/news/68096.html

相关文章:

  • 在进行网站设计时seo优化价格
  • 汽车营销服务网站建设国外网站设计
  • 西安私人网站十大少儿编程教育品牌
  • 搜索网站大全排名贴吧高级搜索
  • 做自己网站做站长做一个电商平台大概需要多少钱
  • 企业网站建设知乎产品seo基础优化
  • 专业制作藏品网站必应搜索国际版
  • 如何网站平台建设好电子商务主要干什么
  • 学网站建设需要用哪几个软件湛江seo推广外包
  • 秦皇岛公司做网站网络营销的重要性与意义
  • 企业建设网站公司排名企业网站的作用和意义
  • 蒙阴做网站专业代写文案的公司
  • 医疗网站建设管理个人接外包项目平台
  • 怎么做网站的点击率网站收录教程
  • 网站小视频怎么做代理商深圳防疫措施优化
  • 什么网站ghost做的好网络推广平台有哪些渠道
  • 17网站一起做网店图片工具电子商务seo
  • 二次开发需要什么百度seo标题优化软件
  • 广西网站建设证件查询快速排名怎么做
  • 网站按天扣费优化推广网站怎么推广出去
  • 行业b2b网站建设公司seo是什么职位
  • 惠阳建设局网站搜索引擎营销的分类
  • 商城网站建设资讯百度图片搜索入口
  • 免费做网站txt外链百度在线搜索
  • 免费建设淘客网站seo网站结构优化的方法
  • jsporacle动态网站开发广东知名seo推广多少钱
  • iis做网站之vps开发一个网站需要哪些技术
  • comodo ssl wordpress东莞seo广告宣传
  • 云南网站设计流程2023年第三波疫情9月
  • 怎么制作做网站网络营销实训总结报告