SpringCloud:Eureka
创始人
2024-05-28 16:15:55

目录

一、eureka的作用

二、搭建Eureka服务端

三、添加客户端

四、服务发现


提供者与消费者

服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)

服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)

提供者与消费者角色其实是相对的,一个服务可以同时是服务提供者和服务消费者

一、eureka的作用

1、消费者该如何获取服务提供者具体信息?

1、服务提供者启动时向eureka注册自己的信息

2、eureka保存这些信息

3、消费者根据服务名称向eureka拉取提供者信息

2、如果有多个服务提供者,消费者该如何选择?

1、服务消费者利用负载均衡算法,从服务列表中挑选一个

3、消费者如何感知服务提供者健康状态?

1、服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状态

2、eureka会更新记录服务列表信息,心跳不正常会被剔除

3、消费者就可以拉取到最新的信息

二、搭建Eureka服务端

1、创建项目,引入spring-cloud-starter-netflix-eureka-server的依赖

         org.springframework.cloudspring-cloud-starter-netflix-eureka-server

2、启动类添加注解:@EnableEurekaServer

3、添加配置文件:application.yml

server:port: 10086 # 服务端口
spring:application:name: eurekaserver # eureka的服务名称
eureka:client:service-url:  # eureka的地址信息defaultZone: http://127.0.0.1:10086/eureka

4、启动服务,点击连接进入后台 

 

三、添加客户端

1、添加依赖

        org.springframework.cloudspring-cloud-starter-netflix-eureka-client

2、写配置文件

spring:application:name: eurekaserver # eureka的服务名称
eureka:client:service-url:  # eureka的地址信息defaultZone: http://127.0.0.1:10086/eureka

3、启动服务

 

模拟部署实例

在启动的服务中点击copy

 修改名字和端口

 

 

四、服务发现

服务拉取是基于服务名称获取服务列表,然后在对服务列表做负载均衡

1.修改Service的代码,修改访问的url路径,用服务名代替ip、端口︰

//String url = "http://localhost:8081/user/" + order.getUserId();
String url = "http://userservice/user/" + order.getUserId();

 2、在项目的启动类Application中的RestTemplate添加负载均衡注解:@LoadBalanced

    /*** 创建RestTemplate 并注入spring容器* @return*/@Bean@LoadBalancedpublic RestTemplate restTemplate(){return new RestTemplate();}

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...