SpringCloud整合Zookeeper作为注册中心

17 篇文章 0 订阅
1 篇文章 0 订阅

一、简介

1.默认SpringCloud使用Eureka作为注册中心

2.因为Eureka闭源,所以使用Zookkeeper作为注册中心

3.Zookeeper分布式协调工具,可以实现注册中心,采用临时节点,和生命周期进行关联,如果服务断开连接,该节点会自动被删除

二、搭建注册中心

1.引入依赖

2.编写配置文件

3.使用@EnableDiscoveryClient,将会员服务注册到注册中心

4.同样的建立个订单服务,和会员服务配置一样,并使用EnableDiscoveryClient,就可以调用会员服务

5.同样的用restTemplate来本地,实现rpc调用,@LoadBalanced实现负载均衡

6.@LoadBalanced:会开启以别名方式,去注册中心读取注册信息,本地帮你实现rpc远程调用

7.和Eureka区别是:Zookeeper不用建立注册中心模块,只需要注册自己的模块,就可以调用,因为ZookeeperClient是工具生成的

8.使用不同注册中心,接口调用方式不变,无非变化配置文件和maven依赖信息

9.引入DiscoveryClient接口,传入服务别名参数,可以查看服务注册信息

10.本地负载均衡:本地从Eureka上获取对应的注册信息列表,然后本地实现负载均衡机制

11.负载均衡算法:总请求数%服务器数量,得到实际下标服务器位置

12.手写实现本地负载均衡机制

:实际url(配置定义的,ip地址+端口号)

注意事项:

1.restTemplate底层是用httpClient方式进行本地rpc远程调用

2.如果是@Loadbalanced,参数是:http://别名/方法名,自动实现负载均衡

3.如果没有该注释,则参数是:https://实际url/方法名,可以手动实现负载均衡机制

三、Ribbon本地负载均衡与Nginx服务器负载均衡区别

1.Ribbon本地负载均衡,原理:在调用接口时,会在eureka注册中心上获取注册信息列表,获取到之后,缓存在jvm本地,相当于本地rpc实现远程调用(@Loadbalanced),即是客户端实现负载均衡

2.Nginx是服务器负载均衡,客户端所有请求交给nginx,让由ngnix实现转发请求,即负载均衡是由服务器端实现

3.应用场景:

Ribbon(本地负载均衡)适合在微服务rpc远程调用,比如dubbo、springCloud

ngnix(服务器负载均衡):比如tomcat、jetty

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值