此文章主要讲解 springcloud 中注册中心 Eureka 替代方案 Zookeeper 的相关知识。
Zookeeper 简介
zookeeper 由雅虎研究院开发,是 Google Chubby 的开源实现,后来托管到 Apache,于 2010 年 11 月正式成为 Apache 的顶级项目。
大数据生态系统里的很多组件的命名都是某种动物或者昆虫,比如 Hadoop 就是
,Hive 就是
。
zookeeper 即动物园管理者,顾名思义就是管理大数据生态系统各组件的管理员。
SpringCloud 整合 Zookeeper
安装 Zookeeper
安装教程请看我的那篇dubbo文章。
1 | # 关闭防火墙 |
创建服务提供者
创建子模块
cloud-provider-payment8004
POM 文件
1 |
|
YML 配置文件
1 | server: |
主启动类
1 | package com.itjing.springcloud; |
编写 Controller
在提供者里编写 controller 主要是便于测试。
1 | package com.itjing.springcloud.controller; |
启动 Zookeeper
1 | # 首先注入zookeeper安装目录的bin目录 |
可能出现的问题
启动服务提供者可能会出现以下问题:
如果 zookeeper 的版本和导入的 jar 包版本不一致,启动就会报错,由于 jar 包冲突的问题。
解决这种冲突,需要在 pom 文件中,排除掉引起冲突的 jar 包,添加和服务器 zookeeper 版本一致的 jar 包,
但是新导入的 zookeeper jar 包 又有 slf4j 冲突问题,于是再次排除引起冲突的 jar 包
1 | <!--springcloud 整合 zookeeper 组件--> |
启动测试
先启动服务提供者 8004
在 xshell 中查看
注册成功!!!
默认是临时节点,如果把提供者服务停止了,zookeeper 发了心跳你不回,过一段时间 zookeeper 就会干掉它!
创建服务消费者
创建子模块
cloud-consumerzk-order80
POM 文件
1 |
|
YML 配置文件
1 | server: |
主启动类
1 |
|
业务类
config 类
注入 RestTemplate
1 |
|
Controller
1 |
|
测试
- 启动 zookeeper
- 启动服务提供者 8004
- 启动服务消费者 80
- 访问测试
在 zookeeper 中可以看到,消费者也注册进去了。
访问:http://localhost/consumer/payment/zk,调用成功!
Zookeeper 集群
关于 zookeeper 的集群搭建,目前使用较少,而且在 yml 文件中的配置也是类似,以列表形式写入 zookeeper 的多个地址即可。总而言之,只要配合 zookeeper 集群,以及 yml 文件的配置就能完成集群搭建。
发布时间: 2021-01-15
最后更新: 2024-06-24
本文标题: SpringCloud Alibaba入门到精通(三)- 服务注册中心之Eureka替代方案Zookeeper(不推荐)
本文链接: https://blog-yilia.xiaojingge.com/posts/41c0dfb5.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
