负载均衡 负载均衡作用在客户端,是高并发、高可用系统必不可少的关键组件,目标是尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。 Java Chassis的负载均衡作用于微服务消费者,需要微服务应用集成负载均衡模块,启用loadbalance处理链。
降级:在本实践中,假设前台请求剧增,导致系统响应缓慢甚至可能崩溃,在这样的场景下,我们可以在fusionweather对forecast使用降级策略,对forecast进行降级处理,只请求比较重要的实时天气weather的数据,保障重要业务功能的正常运行,等流量洪峰过去再进行复原。
使用服务治理 服务治理概述 流量标记 限流 容错 熔断 隔离仓 负载均衡 降级 错误注入 自定义治理 黑白名单 父主题: 使用微服务引擎功能
流量标记 Java Chassis通过Handler实现了基于流量标记治理能力。其中Provider实现了限流、熔断和隔离仓,Consumer实现了重试。
"limit_cpu": 0.25, "limit_memory": 0.5, "request_cpu": 0.25, "request_memory": 0.5, "mesher": {}, "affinity": {}, "anti_affinity
Java Chassis的限流作用于微服务提供者,需要微服务应用集成流量控制模块,启用qps-flowcontrol-provider处理链。
本章节重点介绍如何使用基于流量特征的服务治理能力。 父主题: 使用服务治理
自定义治理功能可以方便地在不同的场景下使用基于流量的治理能力,比如在网关场景下进行流控,在Java Chassis场景下支持URL匹配等。SDK基于Spring,使用Spring的框架都能够灵活地使用这些API,方法类似。 下面以流控为例,说明如何使用API。
灰度策略 选择“基于流量比例”。 选择流量比例 灰度流量比例:设置为50%,即引入到新版本的流量比例为50%。 当前流量比例:自动调整为50%,即引入到当前版本的流量比例为50%。 灰度实例新增模式 选择“金丝雀(先增后减)”。 首批灰度实例数量 设置为1。
3.x版本配置详情请参考流量特征治理。
启动Metrics Server负载过程中由于无法正常进行弹性伸缩,如果操作过程中流量异常可能会导致组件服务异常。 登录ServiceStage控制台。 选择“环境管理”,进入“环境管理”页面。 单击待操作环境名称,进入环境“概览”页面。 选择“插件管理”。
WEIGHT,按灰度流量进行升级。 CONTENT,按内容进行灰度。 first_batch_weight Integer 首批灰度流量比例,灰度策略为WEIGHT时为必选。
post-start": null, "pre-stop": null }, "scheduler": { "affinity": { "az": [], "node": [], "application": [] }, "anti-affinity
基于流量比例:根据需要灵活动态地调整不同服务版本的流量比例。 基于内容:根据请求的内容控制其流向的服务版本。 *选择流量比例 “灰度策略”选择“基于流量比例”时,根据业务实际情况设置版本流量比例。 灰度流量比例:引入到新版本的流量比例。 当前流量比例:引入到当前版本的流量比例。
各服务具备限流能力,不会被大流量冲垮。 服务使用容器执行环境,IaaS层提供生命周期管理和容器调度。当遇到崩溃问题时,将重新调度并拉起新实例。 父主题: 安全
3.x版本配置详情请参考流量特征治理。
基于流量比例:根据需要灵活动态地调整不同服务版本的流量比例。 基于内容:根据请求的内容控制其流向的服务版本。 *选择流量比例 “灰度策略”选择“基于流量比例”时,根据业务实际情况设置版本流量比例。 灰度流量比例:引入到新版本的流量比例。 当前流量比例:引入到当前版本的流量比例。
灰度策略 选择“基于流量比例”。 选择流量比例 灰度流量比例:设置为50%,即引入到新版本的流量比例为50%。 当前流量比例:自动调整为50%,即引入到当前版本的流量比例为50%。 灰度实例新增模式 选择“金丝雀(先增后减)”。 首批灰度实例数量 设置为1。
3.x版本配置详情请参考流量特征治理。
隔离仓 隔离是一种异常检测机制,常用的检测方法是请求超时、流量过大等。一般的设置参数包括超时时间、同时并发请求个数等。 Java Chassis的隔离作用于微服务消费者,需要微服务应用集成隔离模块,启用bizkeeper-consumer处理链。