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

【day02】

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

【day02】

day02

Spring cloud Netflix

注册中心配置中心系统容错、限流数据监控 eureka

eureka运行机制:eureka客户端: 高可用

商品高可用:eureka高可用: Feign 远程调用、Ribbin 负载均衡和重试

Feign 集成 Ribbon:Ribbon重试:测试Ribbon重试: Zuul API 网关

系统的调用入口统一的调用入口

Spring cloud Netflix 注册中心

Eureka

配置中心

Spring cloud config
远程调用/负载均衡
Feign
Ribbon

系统容错、限流

Hystrix
容错:
容错的手段:降级
限流:
限流的手段:熔断

数据监控

Hystrix dashboard / Turbine
链路跟踪 Sleuth / Zipkin

eureka

1.搭建eureka服务器:
2.新建 spring 模块:sp05-eureka
添加依赖: eureka server
3.yml
关闭自我保护模式
主机名:eureka1
针对单台服务器:
不向自己注册
不从自己拉取
4.启动类添加注解:@EnableEurekaServer 用来触发 eureka server 的自动配置

eureka运行机制:

1.注册 客户端应用会一次一次地反复注册,直到注册成功为止
2.拉取 客户端应用每隔30秒,拉取一次注册表,来刷新本地缓存的注册表
3.心跳 客户端应用每隔30秒发送一次心跳 服务器连续3次收不到一个模块的心跳,会删除它的注册信息
4.自我保护模式 由于网络故障,15分钟内,85%服务器出现心跳异常,会自动进入保护模式。 所有注册信息都不删除 等待网络恢复后,会自动退出保护模式,恢复到正常模式 开发调试期间,应该禁用保护模式,避免影响测试

eureka客户端:

修改 2,3,4 模块
1.依赖: eureka client
2.yml
服务器注册地址: http://eureka1:2001/eureka
http://eureka1:2001/eureka eureka子路径,是客户端调用的 api 路径

高可用 商品高可用:

在 8001 和 8002 端口,重复启动两个商品服务
命令行参数来设置端口:
命令行参数,可以覆盖 yml 配置的端口
java -jar item.jar --server.port=8001

java -jar item.jar --server.port=8002
idea启动配置中,配置命令参数:
运行配置的下拉菜单 – Edit Configuration
修改 program arguments,添加参数: --server.port=8001
左边的商品启动配置,复制一份,改成 --server.port=8002

eureka高可用:

1.新建两个profile配置文件:
application-eureka1.yml
application-eureka2.yml
2.设置两个 eureka 的启动配置参数:
–spring.progiles.active=eureka1
–spring.progiles.active=eureka2
3.客户端应用连接两个eureka服务:
defaultZone: http://eureka1:2001/eureka,http://eureka2:2002/eureka

Feign 远程调用、Ribbin 负载均衡和重试

修改 04 项目,完成远程调用
1.添加 feign 依赖
2.启动类注解: @EnableFeignClients 触发 Feign 自动配置,扫描远程调用接口,创建动态代理对象
3.定义远程调用接口
ItemClient
UserClient
4.OrderServiceImpl ,完成远程调用

Feign 集成 Ribbon:

默认启用了负载均衡和重试

Ribbon重试:

调用后台服务失败,可以自动进行重试调用
重试参数:
MaxAutoRetries - 单台服务器的重试次数,默认 0
MaxAutoRetriesNextServer - 更换服务器的次数,默认 1
ReadTimeout - 等待响应的超时时间,默认 1000

测试Ribbon重试:

02商品,添加随机延迟代码
04调用02,超时失败,会进行重试

Zuul API 网关 系统的调用入口 统一的调用入口

统一的权限校验
集成 Ribbon
集成 Hystrix
统一的调用入口:
1.新建 spring 模块: sp06-zuul
2.添加依赖:
zuul
eureka client
sp01
3.yml
** 包含深层子路径

只包含一层路径
zuul:
routes:
item-service: /item-service/**
user-service: /user-service/**
order-service: /order-service/**
4.启动类注解: @EnableZuulProxy

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

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

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