Spring Cloud Eureka独立部署中间件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一,创建高可用的eureka sever

1. 创建eureka server
在这里插入图片描述
2.配置application.properties 和 注解@EnableEurekaServer

#注册的应用名称
spring.application.name=eureka-server

#eureka默认端口
server.port=8761
#eureka.instance.hostname=eureka1
#注册的eureka服务端地址
eureka.client.service-url.defaultZone=http://localhost:8762/eureka

#表示当前服务不注册到eureka
#eureka.client.register-with-eureka=false
#表示不去eurekasever获取服务地址
#eureka.client.fetch-registry=false

# 关闭自我保护模式
#eureka.server.enable-self-preservation=false
#自我保护因子阈值 默认0.85
#eureka.server.renewal-percent-threshold=0.5

在这里插入图片描述
3.高可用,再创建一个eureka server,
配置application.properties 和 注解@EnableEurekaServer

spring.application.name=eureka-server-replica

server.port=8762
#eureka.instance.hostname=eureka2
eureka.client.service-url.defaultZone=http://localhost:8761/eureka

在这里插入图片描述

二,创建eureka client

  1. 创建product,coustom
    在这里插入图片描述
    在这里插入图片描述
    2. 配置application.properties
    service provider
spring.application.name=eureka-product-service

server.port=8080
#注册的eureka服务端地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka,http://localhost:8762/eureka

service consumer

spring.application.name=eureka-user-service

server.port=8081
eureka.client.service-url.defaultZone=http://localhost:8761/eureka,http://localhost:8762/eureka

3.service consumer代码

@RestController
public class TestController {
    @Autowired
    RestTemplate restTemplate;

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
    @GetMapping("/product/{id}")
    public String getTest(@PathVariable String id){
        return restTemplate.getForObject("http://eureka-product-service/product/"+id,String.class);
    }
}

4. service provider 代码

@RestController
public class ProductController {
    @GetMapping("/product/{id}")
    public String getTest(@PathVariable String id){

        return "Success=>>>>"+id;
    }
}

三.访问页面
主备eureka server
在这里插入图片描述在这里插入图片描述

5.调用
在这里插入图片描述

三:QA

System Status

Environment 指定环境,默认为test, 实际使用过程中,可以不用更改
Data center 数据中心
Current time 当前系统时间
Uptime 已运行时长
Lease expiration enabled 是否启用租约过期, 自我保护机制关闭时,该值默认是true, 自我保护机制开启之后为false
Renews threshold server 期望在每分钟中收到的心跳次数
Renews (last min) 上一分钟内收到的心跳次数
DS Replicas

Instances currently registered with Eureka 当前注册到服务注册中心内的服务
No instances available 没有服务被发现
General Info

total-avail-memory
总共可用的内存

environment 环境名称,默认test
num-of-cpus CPU个数
current-memory-usage 当前已经使用内存的百分比
server-uptime 服务在线时间
registered-replicas 相邻集群复制节点
unavailable-replicas 不可用的集群复制节点
available-replicas 可用的相邻集群复制节点
Instance Info

ipAddr 实例IP地址
status 实例状态

Eureka信息面板的红字提醒

Spring Eureka 服务注册中心在三种情况下会出现红色加粗的字体提示:

1)自我保护机制开启时(enable-self-preservation: true):

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

2)自我保护机制关闭时(enable-self-preservation: false):

RENEWALS ARE LESSER THAN THE THRESHOLD. THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.

3)自我保护机制关闭了,但是一分钟内的续约数没有达到85%,可能发生了网络分区,会有如下提示:

THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.

四.eureka server 自我保护机制

在这里插入图片描述
在这里插入图片描述
案例一:
在这里插入图片描述
Renews threshold 5
Renews (last min) 4

计算公式:
客户端的续约间隔默认30s

在这里插入图片描述
Renews (last min) 正常情况下:
=服务总数 * 每分钟续约数量(60s/客户端的续约间隔)
= 3 * 2 = 6

案例二:

在这里插入图片描述
Renews threshold 6
Renews (last min) 8

Renews threshold= 服务总数 * 每分钟续约数量(60s/客户端的续约间隔(默认30s))* 自我保护的续约百分比阈值因子
= 4 * 2 * 0.85 = 6.8 = 6

Renews (last min) = 服务总数 * 每分钟续约数量(60s/客户端的续约间隔(默认30s)) = 4 * 2 = 8

是否开启保护机制

自我保护的续约百分比阈值因子 可以修改

#关闭自我保护模式
eureka.server.enable-self-preservation=false
#自我保护的续约百分比阈值因子
eureka.server.renewal-percent-threshold=0.5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

unix_sky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值