Zookeeper服务注册与发现

打印 上一主题 下一主题

主题 557|帖子 557|积分 1671

目次
Zookeeper安装
创建新支付模块项目
1. 启动zk
2. 创建新的支付模块
1. 创建模块spring_cloud_payment_8004
2. pom依靠
3. 配置文件
4. 主启动类
 5. controller层代码
6. zookeeper服务器启动后,连接客服端
创建新的order模块 
1. 创建项目
2. pom
3. 配置文件
4. 主启动类 
5.  RestTemplate
 6. controller
集群版zk注册


Eureka停止更新了你怎么办?
SpringCloud整合Zookeeper代替Eureka?
官网

现有的关于eureka2.0的开源工作已经停止。作为2.x分支上现有工作存储库的一部分发布的代码库和工件被视为使用风险自负。
Eureka 1.x是Netflix服务发现体系的核心部分,现在还是一个活泼的项目
Zookeeper安装

1. 安装 JDK

2. 拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 体系下

3. 解压到文件 tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz

 4. 移动到module目次
mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7 /opt/module
5. 配置修改
/opt/module/zookeeper-3.5.7/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg;
实行mv zoo_sample.cfg  zoo.cfg

6. mkdir zkData 
7. 打开 zoo.cfg 文件,修改 dataDir 路径 
vim zoo.cfg #修改如下内容
dataDir=/opt/module/zookeeper-3.5.7/zkData

8. 启动 Zookeeper
 在/root/opt/module/apache-zookeeper-3.5.7-bin/bin 目次下实行
./zkServer.sh start   启动
jps -l   查看历程是否启动 
./zkServer.sh status   查看状态
./zkCli.sh   启动客户端
quit   退出客户端
zkServer.sh stop 停止 Zookeeper

创建新支付模块项目

1. 启动zk

在Linux体系上,没有图形化界面,如下启动乐成

systemctl stop firewalld  关闭防火墙
systemctl status firewalld  查看防火墙状态

 
2. 创建新的支付模块

1. 创建模块spring_cloud_payment_8004


2. pom依靠

新增zookeeper pom
  1. <!-- SpringBoot整合zookeeper客户端 -->
  2. <dependency>
  3. <groupId>org.springframework.cloud</groupId>
  4. kartifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
  5. </dependency>
复制代码
保持其他支付模块同等
3. 配置文件

  1. #8004表示注册到zookeeper服务器的支付服务提供者端口号
  2. server:
  3.   port: 8004
  4. #服务别名---- 注册zookeeper到注册中心名称
  5. spring:
  6.   application:
  7.     name: cloud-provider-payment
  8.     datasource:
  9.       type: com.alibaba.druid.pool.DruidDataSource
  10.   cloud:
  11.     zookeeper:
  12.       connect-string: 47.105.184.98:2181
复制代码
4. 主启动类

  1. @SpringBootApplication
  2. @EnableDiscoveryClient
  3. public class PaymentMain8004 {
  4.     public static void main(String[] args) {
  5.         SpringApplication.run(PaymentMain8004.class,args);
  6.     }
  7. }
复制代码
 5. controller层代码

  1. @RestController
  2. @Slf4j
  3. public class PaymentController {
  4.     @Value("${server.port}")
  5.     private String serverPort;
  6.     @GetMapping("/payment/zk")
  7.     public String getZk(){
  8.         return "springcloud with zookeeper: port: "+serverPort+",  "+ UUID.randomUUID().toString();
  9.     }
  10. }
复制代码
6. zookeeper服务器启动后,连接客服端



电脑强制防火墙关闭,掉不通阿里云服务器 ,建议长途与本地防火墙关闭在进行尝试

创建新的order模块 

1. 创建项目

名字: spring_cloud_order_zk_80
2. pom

与其他订单模块同等
3. 配置文件

  1. server:
  2.   port: 80
  3. spring:
  4.   application:
  5.     name: cloud-order-service
  6.   cloud:
  7.   #注册到zookeeper地址
  8.     zookeeper:
  9.       connect-string: 47.105.184.98:2181
复制代码
4. 主启动类 

  1. @SpringBootApplication
  2. @EnableDiscoveryClient
  3. public class OrderZk80 {
  4.     public static void main(String[] args) {
  5.         SpringApplication.run(OrderZk80.class,args);
  6.     }
  7. }
复制代码
5.  RestTemplate

  1. @Configuration
  2. public class RestTemplateConfig {
  3.     @Bean
  4.     @LoadBalanced
  5.     public RestTemplate restTemplate() {
  6.         return new RestTemplate();
  7.     }
  8. }
复制代码
 6. controller

  1. @RestController
  2. @Slf4j
  3. public class Orderzk80Controller {
  4.     public static final String INVOKE_URL = "http://cloud-provider-payment";
  5.     @Resource
  6.     RestTemplate restTemplate;
  7.     @GetMapping("/payment/zk")
  8.     public String getPaymentbyid() {
  9.         log.warn("orderzk80");
  10.         return restTemplate.getForObject(INVOKE_URL + "/payment/zk", String.class);
  11.     }
  12. }
复制代码
集群版zk注册

只需要修改配置文件
  1. server:
  2.   port: 80
  3. spring:
  4.   application:
  5.     name: cloud-order-service
  6.   cloud:
  7.   #注册到zookeeper地址
  8.     zookeeper:
  9.       connect-string: 47.105.184.98:2181
复制代码
这个connect-string指定多个zk地点即可
connect-string: 1.2.3.4,2.3.4.5

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

慢吞云雾缓吐愁

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表