当前位置: 首页 > news >正文

SpringCloud:Eureka

目录

一、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的依赖

         <!--eureka服务端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>

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、添加依赖

        <!--eureka客户端依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>

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();}

http://www.lryc.cn/news/27871.html

相关文章:

  • 如何获取或设置CANoe以太网网卡信息(SET篇)
  • 【软件测试面试题】项目经验?资深测试 (分析+回答) 我不信你还拿不到offer......
  • tensorflow lite简介-移动设备端机器学习
  • Node.js常用知识
  • 踩坑:maven打包失败的解决方式总结
  • 【C++】位图
  • 蓝桥杯-考勤刷卡
  • 如何利用站内推广和站外推广提高转化率?
  • Java多线程(三)——线程池及定时器
  • Linux命令行安装Oracle19c教程和踩坑经验
  • Linux常用命令等
  • CEC2014:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2014(提供MATLAB代码
  • MyBatis底层原理【源码运行时序图】
  • k8s 系列之 CoreDNS 解读
  • 从测试鸡蛋硬度到跳表的设计
  • 3D立体视觉成像原理介绍【一 】
  • CEC2021:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2021(提供MATLAB代码
  • 0301_对应的南京比特物联网
  • 钡铼技术BL302 ARM工控机QT图形化界面开发的实践
  • Python try except异常处理详解(入门必读)
  • 信息系统基本知识(三)软件工程
  • Linux下软件部署安装管理----rpmbuild打包rpm包部署安装
  • ThreadLocal学会了这些,你也能和面试官扯皮了!
  • 【存储】存储特性
  • Qt使用OpenGL进行多线程离屏渲染
  • Vue基础入门讲义(三)-指令
  • pod资源限制,探针(健康检查)
  • Python | 蓝桥杯进阶第一卷——字符串
  • 2023-03-03 mysql列存储-cpu占用100%-追踪思路
  • JVM—类加载子系统