分布式之协调服务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配置文件分析
分布式之协调服务Zookeeper专题第一讲的更多相关文章
- 分布式协调服务Zookeeper集群搭建
分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...
- 分布式协调服务Zookeeper扫盲篇
分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协 ...
- ZooKeeper -- 分布式开源协调服务
ZooKeeper是一个为分布式应用所设计的开源协调服务,适用于大型的分布式系统,可以提供统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等服务.ZooKeeper支持Java和C两种编程 ...
- 分布式协调服务Zookeeper集群之ACL篇
分布式协调服务Zookeeper集群之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zookeeper ACL相关知识概览 1>.zookeeper官方文档(h ...
- 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比
分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的J ...
- 搞懂分布式技术3:初探分布式协调服务zookeeper
搞懂分布式技术3:初探分布式协调服务zookeeper 1.Zookeepr是什么 Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅,负载均衡, ...
- 分布式协调服务ZooKeeper工作原理
分布式协调服务ZooKeeper工作原理 原创 2016-02-19 杜亦舒 性能与架构 性能与架构 性能与架构 微信号 yogoup 功能介绍 网站性能提升与架构设计 大数据处理框架Hadoop.R ...
- 1.9 分布式协调服务-Zookeeper(一)
前言 分布式环境的特点 分布性 并发性 程序运行过程中,并发性操作是很常见的.比如同一个分布式系统中的多个节点,同时访问一个共享资源.数据库.分布式存储 无序性 进程之间的消息通信,会出现顺序不一致问 ...
- 分布式协调服务-Zookeeper
什么是 zookeeper? Zookeeper 是google的chubby一个开源实现,是hadoop的分布式协调服务 它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 ...
随机推荐
- CentOS7安装后无法使用鼠标选中
运行命令:yum install gpm* 安装gpm 启动gpm服务:service gpm start 运行systemctl enable gpm.servicere 添加到后台服务. 备注: ...
- vue+npm+Element插件+路由
首先安装node.js 之后使用管理员输入命令 然后,就可以使用 npm 命令安装了: npm install -g @vue/cli安装完后,打开命令行窗口,会有一个 vue 命令:vue -v v ...
- 分布式存储ceph部署(2)
一.部署准备: 准备5台机器(linux系统为centos7.6版本),当然也可以至少3台机器并充当部署节点和客户端,可以与ceph节点共用: 1台部署节点(配一块硬盘,运行ceph-depo ...
- 改进后的socket轮子,欢迎挑战
运行环境.net core2.1 下载地址
- 使用throw和throws 引发异常
1.throw 用在方法内抛出异常,通常可以自行使用try catch进行异常处理 如果不自行处理的话,需要在方法上使用throws抛出异常 public static void testAge(){ ...
- C语言JS引擎
基础知识 SpiderMonkey 简介 和其他的 JavaScript 引擎一样,SpiderMonkey 不直接提供像 DOM 这样的对象,而是提供解析,执行 JavaSccript 代码,垃圾回 ...
- golang 操作ceph object storage
ceph的object storage 提供了和amazon s3兼容的接口以供客户访问. 在ceph的官网上,可以看到它提供了多种语言的访问范本,例如python的(http://docs.ceph ...
- 记一次排查mysql数据库连接未关闭问题的过程
在一些项目中由于一些特殊原因仍然保留着显示的获取数据库连接(Connection).提交事务.回滚事务.关闭连接等操作:其中关闭连接是比较容易疏忽又比较难在前期发现的问题. 我是如何排查连接未关闭的问 ...
- dockerfile文件命令详解
Dockerfile 一般分为四部分:基础镜像信息.维护者信息.镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释: Dockerfile的指令根据作用可以分为两种:构建指令 ...
- mysql注入语句
一.sql注入语句 爆破所有数据库: (select group_concat(schema_name) from information_schema.schemata) 获取数据库所有表: (se ...