eureka集群搭建/优化

@t@TOC

eureka集群(boot)

前言

CAP实现了ap没有满足c,是因为在启动的时候才去拉;不是数据的强一致性的

第一步引入依赖

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

第二步编写yml文件

spring:
  application:
    #应用名
    name: eureka
三台机器和两台是不一样的,这里着重三台

三台都写,且互相引用
配置host
C:\WINDOWS\system32\drivers\etc

host文件修改注册eureka

在这里插入图片描述

踩坑小指南

出现这个错误
在这里插入图片描述
是自己写的服务器地址没有被eureka注册到

问题:http:localhost:7900/eureka/ ,没有写全http://
解决办法:
http://localhost:7900/eureka/,http://localhost:7901/eureka/,http://localhost:7902/eureka/
写注册地址时注意完整

eureka:
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZones: http://localhost:7900/eureka/,http://localhost:7901/eureka/,http://localhost:7902/eureka/

#yml的写法—隔离 相当于三个eureka文件

---
spring:
  profiles: 7900
eureka:
  instance:
    #每个服务实例的主机名 在电脑host文件中进行配置
    hostname: eureka-7900
server:
  port: 7900
---
spring:
  profiles: 7901
eureka:
  instance:
    hostname: eureka-7901
server:
  port: 7901
---
spring:
  profiles: 7902
eureka:
  instance:
    hostname: eureka-7902
server:
  port: 7902

不清楚可看官方文档
在这里插入图片描述

第三步多个启动idea

1复制启动项目

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

第四步 新建一个项目

1依赖
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
2配置文件
server:
  port: 8080
eureka:
  client:
    service-url:
      defaultZone: http://localhost:7900/eureka
spring:
  application:
    name: api-passenger
3启动类加@EnableEurekaServer

mark开关 作用就是引入EurekaServerAutoConfiguration

在这里插入图片描述

4效果图

优化

第一步 eureka启动过程(源码)

依赖交由boot启动

依赖交由boot启动

boot启动加载标记
boot启动加载标记
加载class文件
一个标记的类
eureka初始化服务器
在这里插入图片描述
生命周期
在这里插入图片描述
优化点start
在这里插入图片描述

第二步 start断点

Eureka 服务器初始化配置

在这里插入图片描述

拉取其他节点

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

第三步 服务阈值

服务阈值优化

例:
a:阈值70% 10台服务,7台挂了(网络抖动) 会自我保护,当有一个新的服务不会剔除,在调用的时候就会出问题
b: 但是有100台机器 3台挂了(网络抖动) 不开自我保护会剔除 97% 达不到阈值,

优化的点
1.服务少的情况不开自我保护,数量少挂了大概率就是挂了
2.微服务多的时候开自我保护,如果不开3台掉了(网络抖动)就会剔除(但不是真掉了,会有问题)

  • 大面积掉了,达到阈值就会触发自我保护机制
  • 定期对没有心跳的服务剔除 定时服务间隔
  • 默认拉取时间为3000,可优化为1000

eureka配置事件和启动事件

在这里插入图片描述

1.自我保护

在这里插入图片描述

2.服务剔除

在这里插入图片描述

3.剔除参数

timer 在运行多线程并发时,一个线程出问题其他线程都会终止
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值