栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

随堂笔记第五阶段

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

随堂笔记第五阶段

随堂笔记

http://code.tarena.com.cn/CGBCode/cgb2108/

http://218.247.142.198/CGBCode/cgb2108/

tarenacode

code_2013

Gitee代码仓库

一、Spring Cloud Netflix

  • 注册中心

    • Nacos
    • Eureka
  • 配置中心

    • Nacos
    • Spring Cloud Config / BUS
  • 远程调用、负载均衡

    • Feign、Ribbon
  • 系统容错、限流

    • Sentinel
    • Hystrix
  • API网关

    • Spring Cloud Gateway
    • Zuul
  • 数据监控

    • Sentinel
    • Hystrix Dashboard+Turbine
    • 链路跟踪监控:Sleuth+Zipkin

业务创建结构

  1. 父项目

  2. commons

  3. 业务模块

    1. 新建 spring 模块
    2. pom.xml
    3. application.yml
    4. service
    5. controller
1. Eureka 注册中心

1.1 搭建Eureka注册中心服务

  1. 新建 spring 模块: sp05-eureka

  2. 修改 pom.xml,添加 eureka server

  3. yml

    • 禁用自我保护模式
    • 主机名:eureka1
    • 针对单台服务器,不向自己注册,不从自己拉取注册表
  4. 启动类注解:@EnableEurekaServer 触发eureka server的自动配置

1.2 Eureka的四条运行机制

  • 注册

    客户端一次次的反复连接注册中心进行注册,直到注册成功为止

  • 拉取

    客户端每30秒拉取一次注册表,刷新注册表

  • 心跳

    客户端每30秒发送一次心跳数据,如果服务器端连续三次收不到一个服务的心跳,会删除它的注册信息

  • 自我保护模式

    • 由于网络故障,15分钟内,85%服务器出现心跳异常,会自动进入自我保护模式
    • 保护所有注册信息不删除
    • 等待网络恢复后,可以退出保护模式,恢复正常
    • 开发调试期间应该关闭保护模式,避免影响测试

1.3 Eureka客户端

  1. 修改 hosts 文件 win+r,输入 drivers,进入 etc 目录找到 hosts 文件

    127.0.0.1     eureka1
    127.0.0.1     eureka2
  2. 修改 2,3,4 三个模块,添加 eureka client 依赖

  3. 修改 2,3,4 的 yml 配置,添加 eureka 的连接地址 http://eureka1:port1/eureka

1.4 商品和eureka的高可用

客户端启动多个服务器

通过 springboot 的启动参数 --server.port设置商品的启动端口

  1. 运行的下拉菜单中,选择 edit configuration

  2. 找到商品的启动配置

  3. 修改两个位置

    • 启动配置名称: Sp02-item-8001、Sp02-item-8002

    • 配置启动参数 program arguments:

      • --server.port=8001
      • --server.port=8002

Eureka高可用

  1. 添加 eureka1 和 eureka2 的 profile 配置

  2. 配置两个启动配置

    • Sp05Eureka-2001,添加启动参数:--spring.profiles.active=eureka1
    • Sp05Eureka-2001,添加启动参数:--spring.profiles.active=eureka2
    • 修改 2,3,4,连接两台 eureka 服务器
1.5 订单远程调用

1.5.1 调用过程

  1. 调用方添加 feign 依赖

  2. 启动类添加注解:@EnableFeignClients

  3. 添加两个远程调用接口,接口上添加注解@FeignClients

    • ItemClient
    • UserClient
  4. OrderServiceImpl 中实现远程调用

1.5.2 Feign 集成 Ribbon

  • 负载均衡 -- 默认启用了负载均衡
  • 重试 -- 默认启用了重试
1.6 Ribbon 重试

调用后台服务失败(异常、服务器崩溃、超时),可以自动发起重试调用

重试参数:

  • ribbon.MaxAutoRetries - 单台服务器的重试次数,默认0
  • ribbon.MaxAutoRetriesNextServer - 更换服务器的次数,默认1
  • ribbon.ReadTimeout - 接收响应的超时时间,默认1000
  • ribbon.ConnectTimeout - 与后台服务器建立连接等待超时时间,默认1000
  • ribbon.OkToRetryonAllOperations - 是否对所有类型请求都进行重试,默认只对 GET 请求重试

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678292.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号