搭建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)
上一篇 2022年6月1日 下午12:00
下一篇 2022年6月1日 下午12:16


相关推荐

  • Hook 技术「建议收藏」

    Hook 技术「建议收藏」一、原理钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。  钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息

    2022年5月26日
    46
  • 七、分发脚本xsync报错

    七、分发脚本xsync报错一、报错问题Badownerorpermissionson/home/pcz/.ssh/configBadownerorpermissionson/home/pcz/.ssh/configrsync:connectionunexpectedlyclosed(0bytesreceivedsofar)[sender]rsyncerror:unexplainederror(code255)atio.c(226)[sender=3.1.2]Badow

    2022年5月5日
    49
  • Oracle 更改表名称的几种方式

    Oracle 更改表名称的几种方式1:使用命令直接修改(推荐)ALTERTABLEold_table_nameRENAMETOnew_table_name;(大写为系统命令)2:使用rename修改 SQL>selecttnamefromtab;TNAME——————————TESTSQL>renametesttotemp;T

    2022年5月16日
    61
  • DHCP 协议详解

    DHCP 协议详解1DHCP协议1.1DHCP协议理解定义:DHCP:DynamicHostConfigurationProtocol,动态主机配置协议,是一个用于局域网的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配IP地址给用户 用于内部网管理员对所有电脑作中央管理作用:动态分配IP地址,过程自动化,终端无需一一…

    2022年5月24日
    36
  • ubuntu杀死进程命令_ubuntu系统安装教程图解

    ubuntu杀死进程命令_ubuntu系统安装教程图解在用ubuntu的时候遇到几次程序卡死,但是不知道怎么关闭,心想有没有跟window一样的程序管理器存在?所以就去网上找了下解决方式记录一下:1、打开系统监视器:gnome-ststem-monitor然后就可以选择进程结束掉啦。2、如果知道程序名称可以命令杀死:killallXXX杀掉所有的进程killxxx(PID)杀死进程号xxx的进程,查看所有运行进程的命令:ps-aux…

    2026年2月8日
    5
  • Pycharm、Anaconda有什么区别[通俗易懂]

    Pycharm、Anaconda有什么区别[通俗易懂]python自身缺少numpy、matplotlib、scipy、scikit-learn…等一系列包,需要我们安装pip来导入这些包才能进行相应运算(python3.5自带了get-pip.py,不需额外下载安装),在cmd终端输入:pipinstallnumpy就能安装numpy包了。每次都额外安装所需要的包略麻烦,这时候我们可以采用anaconda了。anaconda是一个python发行版,包含了大量的包,使用anaconda无需再去额外安装所需包。安装完anaconda,就相当于安装了Py

    2022年8月28日
    5

发表回复

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

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