顺序一致性:严格按照顺序在zookeeper上执行 原子性:所有事物请求的结果,在整个集群的应用情况一致 单一视图:无论从哪个服务器进入集群,看到的东西都是一致的 可靠性:服务端成功响应后,状态会 一直保留 3台的zookeeper集群达到12-13万QPS 客户端在zookeeper注册监听器,zookeeper会给客户端通知…
第十四章:呈现数据 理解输入与输出 标准文件描述符 文件描述符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1.STDIN 代表标准输入.对于终端界面来说,标准输入是键盘 使用输入重定向符号(<)时,Linux会用重定向指定的文件来替换标准输入文件描述符 2.STDOUT 代表标准输出.对于终端界面来说,标准输出是屏幕 3.STDERR 代表标准错误输出.默认情况下,STDOUT文件描述符和STDERR文件描述符指向同样的地方,即显示器. 重定向…
zookeeper是一个自动管理分布式集群的一个工具,以实现集群的高可用. 比如集群中的一个机器挂掉了,没有zookeeper的话就得考虑挂一个机器对剩下集群工作的影响,而有了zookeeper,它就能自动帮你协调这些事儿. 正规的解释如下: zookeeper是 一个开源的针对大型分布式系统的可靠协调系统. 设计目标是:将复杂且容易出错的分布式式一致性服务封装起来,构成一个高效可靠的原语集, 并以简单易用的接口提供给用户使用. 提供的功能包括:发布/订阅,分布式协调/通知,配置管理,集群管理,…
timeout表示会话超时时间,zookeeper靠与客户的心跳来判断会话是否有效(单位毫秒), -r为只读,表示zookeeper如果与半数以上服务器失去连接则会停止服务,如果有-r参数,则会继续保留只读服务 -server ip和端口 connected表示连接成功,输入h获取帮助列表 一般通过对节点的增删改查来完成系统功能…
linux中/opt一般用来存放应用/var目录一般用来存放日志 sample为样例文件,复制一份zoo.cfg文件 配置zoo文件,id为服务器id(整数),host为服务器的ip地址,第一个port为follow的端口,第二个port为leader选举端口,输入任意可用值即可 创建一个zookeeper目录,用来存放日志,而后修改zoo文件中dataDir配置: 在目录下新建一个myid文件,里面写入该服务器的server后的id: 而后再另外两台做相同操作,但是myid中的数字需要作出修改…
所有服务器都会先将自己的服务器信息注册到servers中,然后每台服务器都会尝试注册master,哪台注册成功,则哪台就是master服务器. 所有的服务器都会关注master节点的删除事件,这样通过监听是否发生删除事件来确定master服务器是否宕机,宕机后需要重新选出一台 新机器来作为master: LeaderSelectorZkClient:调度器 Work Server:主工作类 RunningData:描述Work Server基本信息 除了master主动释放和master服务器宕…
46 | 访问网络服务 前导内容:socket 与 IPC 人们常常会使用 Go 语言去编写网络程序(当然了,这方面也是 Go 语言最为擅长的事情).说到网络编程,我们就不得不提及 socket. socket,常被翻译为套接字,它应该算是网络编程世界中最为核心的知识之一了.关于 socket,我们可以讨论的东西太多了,因此,我在这里只围绕着 Go 语言向你介绍一些关于它的基础知识. 所谓 socket,是一种 IPC 方法.IPC 是 Inter-Process Communication 的…
36 | unicode与字符编码 在开始今天的内容之前,我先来做一个简单的总结. Go 语言经典知识总结 在数据类型方面有: 基于底层数组的切片: 用来传递数据的通道: 作为一等类型的函数: 可实现面向对象的结构体: 能无侵入实现的接口等. 在语法方面有: 异步编程神器go语句: 函数的最后关卡defer语句: 可做类型判断的switch语句: 多通道操作利器select语句: 非常有特色的异常处理函数panic和recover. 除了这些,我们还一起讨论了测试 Go 程序的主要方式.这涉及了…
20 | 错误处理 (下) 在上一篇文章中,我们主要讨论的是从使用者的角度看"怎样处理好错误值".那么,接下来我们需要关注的,就是站在建造者的角度,去关心"怎样才能给予使用者恰当的错误值"的问题了. 知识扩展 问题:怎样根据实际情况给予恰当的错误值? 我们已经知道,构建错误值体系的基本方式有两种,即:创建立体的错误类型体系和创建扁平的错误值列表. 先说错误类型体系.由于在 Go 语言中实现接口是非侵入式的,所以我们可以做得很灵活.比如,在标准库的net代码包中,有一…
Hive目的是为了简化MapReduce编程 实际应用中,Hive与Hbase不经常链接…