大家好,又见面了,我是你们的朋友全栈君。
Eureka注册中心
Eureka的作用
- 消费者该如何获取服务提供者具体信息?
- 服务提供者启动时向eureka注册自己的信息
- eureka保存这些信息
- 消费者根据服务名称向eureka拉取提供者信息
- 如果有多个服务提供者,消费者该如何选择?
- 服务消费者利用负载均衡算法,从服务列表中挑选一个
- 消费者如何感知服务提供者健康状态?
- 服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状
- eureka会更新记录服务列表信息,心跳不正常会被剔除
- 消费者就可以拉取到最新的信息
一、 搭建EurekaServer:
- 引入eureka-server依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
- 添加@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);
}
}
- 在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集群的地址)
二、 服务注册
- 引入eureka-client依赖
<!-- Eureka客户端依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
- 在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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137850.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...