微服务的调用思维
传统形式调用问题阐明:
微服务思维-注册核心
微服务概念:架构设计采纳分布式思维,当服务产生故障时,能够实现自动化的故障迁徙.无需认为干涉.
注册核心实现原理:
(1)当服务器启动时,会将服务器的状态(服务名称/IP/端口)一起写入注册核心.
(2)注册核心接管到服务器信息时,会动静的保护服务列表数据.
(3/4)当客户端(消费者)启动时,首先会链接注册核心,获取所有的服务列表数据.并且将服务列表数据保留到本地.
(5)当消费者执行业务调用时,如果有多个服务的生产者时,采纳负载平衡的思维筛选其中的一个服务进行拜访(RPC).
(6)当服务器产生宕机时,因为注册核心有心跳检测机制,所有会动静的保护服务列表数据.会全网播送告诉所有的客户端(消费者)更新服务列表数据.在更新服务列表时,数据的同步会陷入阻塞的状态.
对于微服务思维负载平衡阐明
1.集中式负载平衡
简述:所有的申请都必须有某个服务器进行对立的治理.
eg. Nginx是集中式的负载平衡,然而nginx次要的作用是做反向代理.
2.客户端负载平衡
简述:申请发送之前,每个客户端都十分分明的晓得,本人应该拜访哪台服务器.
在服务器外部.由客户端间接拜访后端服务器,将负载的压力进行了分担.
注册核心-zookeeper介绍与装置、测试
Zookeeper介绍
Zookeeper是一个分布式的、开源的码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的性能包含:配置保护、域名服务、分布式同步、组服务等。
Zookeeper的指标就是封装好简单易出错的要害服务,将简略易用的接口和性能高效、性能稳固的零碎提供给用户。
Zookeeper蕴含一个简略的原语集,提供JAVA和C的接口。
Zookeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中散布锁和队列有JAVA和C两个版本。选举只有Java版本。
总结:Zookeeper负责服务的协调调度.当客户端发动申请时,返回正确的服务器地址.
Zookeeper下载与装置
官网:http://mirrors.hust.edu.cn/ap...
注:zookeeper是用JAVA开发的,装置前必须有JDK
1.解压文件
2.批改配置文件
在zk根目录下创立文件夹data/log mkdir data log
跳入conf目录中批改配置文件,复制配置文件并且批改名称
cp zoo sample.cfg zoo.cfg
3.启动zk
须要在bin目录中进行
启动 sh zkServer.sh start 或者 ./zkServer.sh start
终止 sh zkServer.sh stop
查看状态 sh zkServer.sh status
Zookeeper集群装置
1.筹备文件夹
在zookeeper根目录中创立新的文件夹zkCluster.
2.创立zk1/zk2/zk3 文件夹.
3.在每个文件夹里创立data/log文件夹.
mkdir {zk,zk2,zk3}/{data,log}
4.增加myid文件
别离在zk1/zk2/zk3中的data文件夹中创立新的文件myid.其中的内容顺次为1/2/3,与zk节点号对应.
5.编辑myid文件,定义编号.
6.编辑配置文件
将zoo_sample.cfg 复制为zoo1.cfg之后批改配置文件.
7.批改zoo1.cfg
配置实现后将zoo1.cfg复制2份.之后须要批改对应的文件夹目录和不同的端口即可.
8.zk集群测试
逐个启动: sh zkServer.sh start zoo1.cfg
敞开指令: sh zkServer.sh stop zoo1.cfg
查看状态: sh zkServer.sh status zoo1.cfg
查看主从关系,从机状况阐明.
从机
主机
对于zookeeper集群阐明
Zookeeper集群leader负责监控集群状态,follwer次要负责客户端链接获取服务列表信息.同时参加投票.
对于集群的相干概念
1.几台服务器能够搭建集群
公式:存活节点>N/2
算数计算:
1个节点 1-1 > 1/2 假的 不能搭建集群
2个节点 2-1 > 2/2 假的 不能搭建集群
3个节点 3-1 > 3/2 真的 能够搭建集群
论断:集群最小单位3台.
2.集群个别都是奇数台为什么?
3个节点 3-1 > 3/2 真的 能够搭建集群 容许宕机1台
4个节点 4-1 > 4/2 真的 能够搭建集群 容许宕机1台
阐明: 因为搭建偶数台和搭建奇数台的容灾成果雷同的,所以个别都是奇数个.
3.集群中的脑裂景象?
简述:因为集群工作过程中主机意外宕机之后集群开始进行选举.如果呈现屡次间断平票状态时,则可能呈现脑裂景象.脑裂景象产生的概率是:1/8=12.5%.
如何无效升高脑裂景象产生:减少节点的数量.
对于zk集群选举的标准
简述:zk集群选举规定是myid最大值优先的算法,如果选举完结,则残余的节点当新主机的从机.
考题1: 如果顺次启动1-7台zk节点
问1: 谁当主机? 4
问2: 谁永远不能入选主机? 1,2,3
zk工作原理阐明
Zookeeper集群中leader(主机)负责监控集群状态同步数据,follower(从机)次要负责客户端链接获取服务列表信息.同时参加投票.