SpringCloud微服务全家桶学习笔记
Eureka服务注册
gitee码云仓库
9.其他服务注册框架
(1)zookeeper安装与使用
zookeeper需安装在虚拟机上,建议使用CentOS,安装地址如下:
zookeeper镜像源
选择第一个进入后下载tar包(第二个为源码文件,想研究源码可下载第二个)
下载完成后使用xftp将tar包传输到虚拟机中,使用cd命令到其所在文件夹下,解压tar包
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
进入 解压后的目录: apache-zookeeper-3.8.2-bin
cd apache-zookeeper-3.7.1-bin
启动zookeeper服务
./zkServer.sh start
在配置文件中配置zookeeper服务
在zookeeper的bin目录下输入./zkCli.sh进入客户端
启动服务后可在虚拟机查看服务是否注册成功,ls / 进入根目录可以发现多了一个**[services]**
注册成功!!!
继续深入可查看服务在zookeeper上的基本信息(以json字符串格式展示)
思考:服务节点是临时节点还是持久节点?
临时节点,当服务关闭一段时间未响应后,zookeeper自动剔除服务,当重新启动服务后,又会出现新的注册流水号
为什么现在很少用?
1.维护成本更高
Kafka作为中间件,强依赖于另一个中间件,搭建kafk集群,需要先搭建zookeeper集群。增加运维难度。
2.CP,强一致性
如果 ZooKeeper 集群的某个节点的数据发生变更,则会通知其它 ZooKeeper 节点同时执行更新,就得等着大家(超过半数)都写完了才行,这写入的性能就比较差了。
(2)Consul简介(Go语言开发)
提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。
它具有很多优点。包括: 基于 raft 协议,比较简洁; 支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN 集群 提供图形界面 跨平台,支持 Linux、Mac、Windows
可以干什么?
centOS安装Consul
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install consul
检查安装是否成功
consul -version # 检查版本
whereis consul # 查找安装路径
启动consul客户端
consul agent -dev -ui -client=0.0.0.0
以server方式来启动consul
consul agent -server -ui -bootstrap-expect=3 -data-dir=/tmp/consul -node=consul-1 -client=0.0.0.0 -bind=127.0.0.1 -datacenter=dc1
consul members # 查看当前consul中的所有节点成员
项目配置consul
三个注册中心的异同点: