上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 21 下一页
摘要: Spring Cloud Gateway的核心概念 Route 路由,它是网关的基础元素,包含ID、目标URI、断言、过滤器组成,当前请求到达网关时,会通过Gateway Handler Mapping,基于断言进行路由匹配,当断言为true时,匹配到路由进行转发 Predicate,断言,它可以允 阅读全文
posted @ 2020-12-15 16:17 snail灬 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 网关的由来 在微服务架构中,每个服务都是一个可以独立开发和运行的组件,而一个完整的微服务架构由一系列独立运行的微服务组成。其中每个服务都只会完成特定领域的功能,比如订单服务提供与订单业务场景有关的功能、商品服务提供商品展示功能等。各个微服务之间通过轻量级通信机制 REST API 或者 RPC 完成 阅读全文
posted @ 2020-12-15 13:54 snail灬 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 创建MyHystrixCommand @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface MyHystrixCommand { /** * 默认超时时间 * @re 阅读全文
posted @ 2020-12-15 11:37 snail灬 阅读(255) 评论(0) 推荐(0) 编辑
摘要: executeCommandAndObserve 定义不同的回调,doOnNext、doOnCompleted、onErrorResumeNext、doOnEach。 调用executeCommandWithSpecifiedIsolation获得执行命令的Observable 若执行命令超时特性开 阅读全文
posted @ 2020-12-15 11:34 snail灬 阅读(173) 评论(0) 推荐(0) 编辑
摘要: Hystrix的核心原理 针对类级别的配置(自定义) 可配置化的降级策略: 信号量/线程 / 超时(1s)、熔断(错误率) HystrixCommandProperty 可以识别的降级边界: @HystrixCommand(Spring AOP) HystrixCommand 抽象类 数据采集: 如 阅读全文
posted @ 2020-12-15 01:49 snail灬 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 熔断的目的是为了起到保护作用(熔断是一种降级策略) 降级 主动降级,促销的时候关闭非核心服务. 被动降级, 熔断降级、限流降级 Hystrix中的三种降级方案 熔断触发降级 @HystrixCommand(commandProperties = { @HystrixProperty(name="ci 阅读全文
posted @ 2020-12-14 19:37 snail灬 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 服务发现 我们继续来研究服务的发现过程,就是客户端需要能够满足两个功能 在启动的时候获取指定服务提供者的地址列表 Eureka server端地址发生变化时,需要动态感知 DiscoveryClient构造时进行查询 DiscoveryClient(ApplicationInfoManager ap 阅读全文
posted @ 2020-12-14 13:08 snail灬 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 多级缓存设计 Eureka Server存在三个变量:(registry、readWriteCacheMap、readOnlyCacheMap)保存服务注册信息,默认情况下定时任务每30s将readWriteCacheMap同步至readOnlyCacheMap,每60s清理超过90s未续约的节点, 阅读全文
posted @ 2020-12-14 11:55 snail灬 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Eureka Server收到请求之后的处理 Eureka Server端如何对请求过来的服务实例数据进行了存储的? 请求入口在: com.netflix.eureka.resources.ApplicationResource.addInstance() 。 这里可以发现,这里所提供的REST服务 阅读全文
posted @ 2020-12-14 11:13 snail灬 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 服务注册触发路径 这个动作在spring boot的启动方法中的refreshContext中完成 SpringApplication.run() -> this.refreshContext(context); -> this.refresh(context); -> ServletWebServ 阅读全文
posted @ 2020-12-14 01:31 snail灬 阅读(168) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 21 下一页