什么是微服务
阐明
1.为了升高代码的耦合性,将我的项目进行拆分,装置功能模块拆分为若该个我的项目,该我的项目称之为微服务;
2.如果采纳微服务的构造,要求服务器如果呈现了故障应该实现自动化的故障有的迁徙(高可用)
微服务架构的设计
外围组件: 注册核心(Zookeeper)
设计图:
搭建注册核心 (Zookeeper)
调用步骤:
1.将服务信息写入到注册核心(1.服务名称 2.服务IP地址 3.端口)
2.注册核心接管到服务器信息,会动静的保护服务列表数据.
3.消费者启动时会链接注册核心.目标获取服务列表数据.
4.注册核心会将服务列表数据同步给消费者,并且保留到消费者本地.当前不便调用.
5.当消费者开始业务调用时,会依据已知的服务信息进行负载平衡操作,拜访服务提供者.
6.当服务提供者宕机时,由与注册核心有心跳检测机制.所以会动静的保护服务列表.
7.当注册核心的服务列表变动时, 则会全网播送 告诉所有的消费者 更新本地服务列表
Zookeeper介绍
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的性能包含:配置保护、域名服务、分布式同步、组服务等。
ZooKeeper的指标就是封装好简单易出错的要害服务,将简略易用的接口和性能高效、性能稳固的零碎提供给用户。
ZooKeeper蕴含一个简略的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3srcrecipes。其中散布锁和队列有Java和C两个版本,选举只有Java版本。