搭建Eurake服务「建议收藏」

搭建Eurake服务「建议收藏」Eureka注册中心Eureka的作用消费者该如何获取服务提供者具体信息?服务提供者启动时向eureka注册自己的信息eureka保存这些信息消费者根据服务名称向eureka拉取提供者信息如果有多个服务提供者,消费者该如何选择?服务消费者利用负载均衡算法,从服务列表中挑选一个消费者如何感知服务提供者健康状态?服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状eureka会更新记录服务列表信息,心跳不正常会被剔除消费者就可以拉取到最新的信息

大家好,又见面了,我是你们的朋友全栈君。

Eureka注册中心

Eureka的作用
在这里插入图片描述

  • 消费者该如何获取服务提供者具体信息?
    • 服务提供者启动时向eureka注册自己的信息
    • eureka保存这些信息
    • 消费者根据服务名称向eureka拉取提供者信息
  • 如果有多个服务提供者,消费者该如何选择?
    • 服务消费者利用负载均衡算法,从服务列表中挑选一个
  • 消费者如何感知服务提供者健康状态?
    • 服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状
    • eureka会更新记录服务列表信息,心跳不正常会被剔除
    • 消费者就可以拉取到最新的信息

一、 搭建EurekaServer:

  1. 引入eureka-server依赖
<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
  1. 添加@EnableEurekaServer注解
package cn.test.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;


@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication { 
   
    public static void main(String[] args) { 
   
        SpringApplication.run(EurekaApplication.class, args);
    }
}

  1. 在application.yml中配置Eureka地址
server:
  port: 10086                                       # 服务端口
spring:
  application:
    name: eurekaserver                              # Eureka的名称
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka    # Eureka的地址信息(Eureka集群的地址)

二、 服务注册

  1. 引入eureka-client依赖
<!-- Eureka客户端依赖 -->
<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  1. 在application.yml中配置eureka地址
spring: 
  application:
    name: orderservice
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/    # Eureka的地址信息(Eureka集群的地址)

如果要为一个服务注册多个实例,在idea中可以进行如下操作:
首先找到左下角的Services小窗口:
在这里插入图片描述
如果找不到,那么请参考链接https://blog.csdn.net/Andy5789/article/details/106781950/
找到以后就是我上面图中显示的那样,接着比如我要开多个UserApplication实例,那么如下操作:
选中UserApplication,右键Copy Configuration
在这里插入图片描述
在这里插入图片描述
然后apply→ok
接着就能看到刚刚copy的那个了
在这里插入图片描述

右键,run即可(注意访问端口要跟EurekaApplication的端口对应)
在这里插入图片描述
如果要删除copy的实例,建议delete,不然采用stop策略可能端口还在占用中,就需要cmd解决端口占用问题,参考:https://blog.csdn.net/zy_19971028/article/details/107091437

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137850.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QDir中mkdir和mkpath的区别

    QDir中mkdir和mkpath的区别QDir 中 mkdir 和 mkpath 的区别 mkdir 原型 boolQDir mkdir constQString amp dirName constCreates directorycal Returnstrueo otherwiseret Ifthedirecto

    2026年1月26日
    1
  • axios安装与基本方法

    axios安装与基本方法安装:1.npm安装:npminstallaxios2.在主入口文件main.js中引用:importaxiosfrom’axios’Vue.use(axios);3.在组件文件中的methods里使用:getNewsList(){this.axios.get(‘api/getNewsList’).then((response)=>{this.newsList=response.data.data;}).cat

    2025年6月1日
    4
  • 批处理for命令的用法_批处理for命令详解

    批处理for命令的用法_批处理for命令详解for/?1.对一组文件中的每一个文件执行某个特定命令。for%variablein(set)docommand[command-parameters]for%%variablein(set)docommand [command-parameters]%variable指定一个单一字母可替换的参数。set表示字符串或变量,当表示多个变量时,中间可以,空格等隔开…

    2025年11月10日
    5
  • java编程用啥软件_java编程要用什么软件[通俗易懂]

    java编程用啥软件_java编程要用什么软件[通俗易懂]第一题:packagecom.mtv.test;publicclassTestMain{publicstaticvoidprintFor(inti){intm,n,j;for(j=1;j<=i;j++){for(m=0;m<9-j;m++){System.out.print(“”);}for(n=1;n<=j;n++){System.out.print(n+…

    2022年7月9日
    22
  • aic准则和bic准则_用户故事准则

    aic准则和bic准则_用户故事准则aic准则和bic准则免责声明:这篇文章摘自内部Codurance文档,该文档用于帮助我们的学徒学习我们的工作方式。我们都知道每个项目都是不同的,而且我们绝不能在任何地方应用完全相同的技术和实践。但是,以下文字不仅作为基础,而且还是我们所有人涉及用户故事时的指南。有很多关于用户故事的好书和帖子。这篇文章绝不是该领域所有良好实践的总结。用户故事是收集需求,就需要完成的事情达成共识…

    2022年5月24日
    47
  • Linux安装Tomcat

    Linux安装TomcatLinux安装Tomcat

    2022年4月22日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号