检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
原因分析 通常是由于某个第三方软件引入了不匹配的版本依赖。 解决方法 可在开发环境下使用mvn dependency:tree命令查看依赖树,排查微服务开发框架同netty版本是否匹配。 例如,ServiceComb 2.0.1开发框架所匹配的netty依赖版本为4.1.45.Final。
*路径(Path) 设置匹配HTTP请求中的服务地址参数,可选择的匹配规则包括:精确匹配、前缀匹配和正则匹配。 前缀匹配:以前缀作为匹配条件,如输入参数为/opt,则匹配以/opt开头的所有路径。 精确匹配:即完全匹配,如输入参数为/opt,则匹配路径等于/opt的所有路径。 正则匹配:以正则表
match: # 请求匹配规则。0..N个,不配置表示匹配。 attachments: # dubbo attachment匹配 id: #
match: # 请求匹配规则。0..N个,不配置表示匹配。 headers: # http header匹配 id: # 如果
标准重写:对于路径精确匹配或路径正则匹配的路由,进行完整覆盖重写;对于路径前缀匹配的路由,仅重写前缀匹配的部分。 正则重写:根据正则表达式进行重写。 重写路径 输入重写的路径。支持精确重写、前缀重写。使用此值重写原始的路径(或前缀)部分。如果原始路径是根据前缀匹配的,则此字段中提供的值将替换相应匹配的前缀。
按label过滤项导出,格式为:{标签key}:{标签value}。 match 否 String 对label过滤项的匹配选项,如果值为exact,表示严格匹配,包括label个数和内容相等;不填表示包含匹配。 revision 否 Integer 配置的版本号。 用于判断本地缓存配置和配置管理中心的配置差异。
限,添加匹配规则“应用:default”。 设置微服务匹配规则后,单击“确定”。 编辑匹配规则 单击待编辑的匹配规则后的“”,即可根据实际业务需要,重新设置该条匹配规则的“服务组”和“权限动作”。 重新设置服务组匹配规则后,单击“确定”。 删除匹配规则 单击待删除的匹配规则后的“
objects 匹配条件定义。 表7 matches 参数 参数类型 描述 name String 条件名称。 apiPath Object 匹配的PATH。 headers Object 匹配的Headers。 method Array of strings 匹配的Method列表。
权。 匹配规则 单击“ 新增匹配规则”可添加匹配规则,选择域名、设置服务地址、选择请求方法和添加请求头。服务地址支持前缀匹配和精确匹配: 前缀匹配:以前缀作为匹配条件。注意末尾要加上/*,如输入参数为/opt/*,则匹配以/opt开头的所有服务地址。 精确匹配:即完全匹配,如输入
objects 匹配条件定义。 表8 matches 参数 参数类型 描述 name String 条件名称。 apiPath Object 匹配的PATH。 headers Object 匹配的Headers。 method Array of strings 匹配的Method列表。
“路由名称”为“unit-consumer-route”。 “域名”为“*”的路由, 在路由规则中,添加如下路由规则: “服务地址”的匹配类型选择“前缀匹配”,服务地址输入“/”。 “请求方法”选择选择“POST”、“GET”、“DELETE”和“PUT”。 添加目标服务,“目标服务”
object 请求匹配规则。0..N个,不配置表示匹配。 route 否 Array of CreateRoute objects 路由规则列表。 表6 CreateMatch 参数 是否必选 参数类型 描述 headers 否 headers object 匹配的Headers。
headers. reset reason: connection termination。 问题原因 应用网关侧的空闲连接保持时间与服务侧的不匹配。一般来说是服务侧的空闲连接保持时间比应用网关侧的时间长导致的503报错。 解决方案 在连接池中配置idleTimeout,确保网关的id
有问题。自定义治理功能可以方便地在不同的场景下使用基于流量的治理能力,比如在网关场景下进行流控,在Java Chassis场景下支持URL匹配等。SDK基于Spring,使用Spring的框架都能够灵活的使用这些API,方法类似。 下面以流控为例,说明如何使用API。使用API开
method,headers匹配规则。 不同标记规则是或的关系,匹配规则是与的关系。 在match中提供了一系列的算子来对apiPath或者headers进行匹配: exact : 精确匹配。 prefix: 前缀匹配。 suffix: 后缀匹配。 contains: 包含, 目标字符串是否包含模式字符串。
在微服务存在多个版本、多个实例的情况下,需要管理服务之间的路由,达到无损升级、应用拨测等业务目的。Sermant Agent提供了标签路由的能力,标签路由通过匹配dubbo attachment中的信息,把符合规则的流量转发到对应的标签应用中,从而实现标签路由的功能。 此功能目前处于公测阶段,当前仅在华东-上海一支持。
在微服务存在多个版本、多个实例的情况下,需要管理服务之间的路由,达到无损升级、应用拨测等业务目的。Sermant Agent提供了标签路由的能力,标签路由通过匹配http请求头中的信息,把符合规则的流量转发到对应的标签应用中,从而实现标签路由的功能。 此功能目前处于公测阶段,当前仅在华东-上海一支持。
按label过滤项导出,格式为:{标签key}:{标签value}。 match 否 String 对label过滤项的匹配选项。如果值为exact,表示严格匹配,包括label个数和内容相等;不填表示包含匹配。 枚举值: exact 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token
黑名单:表示根据匹配规则匹配到的微服务都不允许访问当前服务。 白名单:表示根据匹配规则匹配到的微服务允许访问当前服务。 匹配规则 使用正则表达式表示。 例如“匹配规则”设置为data*,指在黑名单下匹配到的名称以data开头的服务不允许访问当前服务,或者在白名单下匹配到的名称以data开头的服务允许访问当前服务。
version: 0.0.2 上述配置的具体含义如下: 匹配特定请求由match配置,匹配条件是headers。headers中的字段的匹配支持精准匹配。如果未定义match,则可匹配任何请求。 转发权重定义在routeRule.{targetServiceName}