搭建Eureka注册中心

搭建Eureka注册中心

1.新建 spring 模块:eureka

在这里插入图片描述

2.添加依赖: eureka-server

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

3.设置yml文件

spring:
  application:
    name: eureka
# 2001, 3001, 4001, 5001, 6001
server:
  port: 2001
eureka:
  server:
    # 禁用自我保护模式
    enable-self-preservation: false
  instance:
    # 主机名
    hostname: eureka1
  client:
    # 针对单台服务器,不向自己注册,也不从自己拉取
    register-with-eureka: false
    fetch-registry: false

禁用自我保护模式
主机名:eureka1
单台服务器
不向自己注册
不从自己拉取

4.启动类的注解:@EnableEurekaServer 通过注解触发自动配置

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(Sp05EurekaApplication.class, args);
    }

}

四条运行机制:

注册 客户端连接服务器进行注册,会一次一次反复注册,直到注册成功为止
拉取 客户端每30秒拉取一次注册表,刷新本地缓存的注册表
心跳 客户端每30秒发送一次心跳 服务器连续3次收不到一个服务的心跳,会删除它的注册信息
自我保护模式 由于网络中断,大量服务器出现心跳异常 15分钟内,85%服务器出现心跳异常,会进入自我保护模式, 所有的注册信息不删除,等待网络恢复 开发调试期间,可以禁用保护模式,避免影响测试

修改 hosts 文件

win + r,输入 drivers

在 etc 文件夹找到 hosts 文件

用管理员打编辑器,修改 hosts 文件

添加:

127.0.0.1  eureka1
127.0.0.1  eureka2

Eureka客户端:

修改 02, 03, 04

添加 eureka-client
yml配置

eureka:
  client:
    service-url:
      # defaultZone - 默认地点
      # 可以从云服务商购买不同地点的服务器
      defaultZone: http://eureka1:2001/eureka
      #,http://eureka2:2002/eureka

eureka 连接地址: http://eureka1:2001/eureka
/eureka 子路径是客户端调用的 rest api 路径,浏览器无法访问

高可用

有服务器宕机,系统也可以继续正常运行

02商品高可用:

运行配置的下拉菜单,选择 Edit Configration
找到 02 的启动配置
修改配置名称: Sp02Item-8001
Program arguments: --server.port=8001
左侧点 copy configration,复制出来修改成 8002
在这里插入图片描述

05Eureka高可用:

新建两个 profile 配置:
application-eureka1.yml
application-eureka2.yml

# application-eureka1.yml
# 被激活的profile配置和主配置合并加载
# 相同的配置属性,profile配置会覆盖主配置
server:
  port: 2001
eureka:
  instance:
    hostname: eureka1
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://eureka2:2002/eureka
# application-eureka2.yml
# 被激活的profile配置和主配置合并加载
# 相同的配置属性,profile配置会覆盖主配置
server:
  port: 2002
eureka:
  instance:
    hostname: eureka2
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://eureka1:2001/eureka

启动配置:
名称: Sp05Eureka-2001
Program argument: --spring.profiles.active=eureka1
点复制
名称 2002,激活 eureka2
在这里插入图片描述

04 远程调用02和03

在这里插入图片描述

1.04添加依赖: feign

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2.启动类添加注解: @EnableFeignClients 触发自动配置,扫描接口创建动态代理对象

@EnableFeignClients
@SpringBootApplication
public class Sp04OrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(Sp04OrderApplication.class, args);
    }

}

3.远程调用接口

Feign 集成 Ribbon

Ribbon 提供负载均衡和重试功能
Feign集成Ribbon,默认已经启用了负载均衡和重试
Ribbon 重试
向后服务调用时出错(异常,超时),会自动重试调用
重试参数:
MaxAutoRetries - 单台服务器重试次数,默认 0
MaxAutoRetriesNextServer - 更换服务器的次数, 默认 1
ReadTimeout - 等待接收响应的超时时间,1000
OkToRetryOnAllOperations - 是否对所有类型请求都重试,默认只对GET重试
ConnectTimeout - 与后台服务器建立连接的等待超时时间,默认1000

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值