共计 2193 个字符,预计需要花费 6 分钟才能阅读完成。
服务信息
服务列表以接口为维度展现出所提供的服务信息,并依照注册起源接口级 / 利用级进行辨别。
服务详情页面展现接口的提供者与消费者信息和接口的办法等信息。
动静路由
条件路由
条件路由能够编写一些自定义路由规定实现一些服务治理的需要比方黑白名单、读写拆散等。条件路由能够在接口级别和消费者利用级别创立规定。
创立条件路由规定须要填写 interface、version、group 信息(version、group 无则不填),下图展现一个简略的黑名单配置,=> 右边代表消费者匹配条件,左边代表 provider 匹配条件(无代表没有匹配)具体规定详情参考官网(具体请见文末相干链接)。所以配置的含意为 consumer ip 为 192.168.1.3 的消费者没有 provider 提供服务。
标签路由
标签路由通过将某一个或多个服务的提供者划分到同一个分组,束缚流量只在指定分组中流转,从而实现流量隔离的目标,能够作为蓝绿公布、灰度公布等场景的能力根底。在 provider 利用级别上创立规定,对于的动态打标为:
dubbo.provider.tag=tag1
@DubboService(tag = "tag2")
Mesh 路由
Mesh 路由是 3.0 版本推出的新的流量管理策略,反对更多的条件匹配和组合能够轻松实现各种路由性能。将整个流量治理分成 VirtualService 和 DestinationRule 两局部,VirtualService 匹配入口流量,DestinationRule 匹配进口流量。具体规定参考文档(具体请见文末相干链接)。
案例
一个接口 org.test.apache.dubbo.interfaces.HelloService#hi(Integer number) 参数 number 为 Integer 类型,下述规定示意当 number 为偶数匹配 label 为 v1 的 provider(即 url 参数带有 test-version = v1 的服务),当为奇数匹配 label 为 v2 的 provider(即 url 参数带有 test-version = v2 的服务),能够通过 dubbo.application.parameters.test-version = v1 给服务打标,实现一个简略的灰度性能。
apiVersion: service.dubbo.apache.org/v1alpha1
kind: VirtualService
metadata:
name: demo/oddEvenRouter
spec:
dubbo:
- routedetail:
- match:
- method:
argc: 1
args:
- index: 0
num_value:
oneof:
- exact: 0.0
mod: 2.0
type: int
name_match:
exact: hi
name: even-route
route:
- destination:
host: demo
subset: v1
- match:
- method:
argc: 1
args:
- index: 0
num_value:
oneof:
- exact: 1.0
mod: 2.0
type: int
name_match:
exact: hi
name: odd-route
route:
- destination:
host: demo2
subset: v2
services:
- exact: org.test.apache.dubbo.interfaces.HelloService
---
apiVersion: service.dubbo.apache.org/v1alpha1
kind: DestinationRule
metadata:
name: test-route
spec:
host: demo
subsets:
- name: v1
labels:
test-version: v1
- name: v2
labels:
test-version: v2
动静配置
动静配置提供了毋庸重启能够动静调整 RPC 调用行为的一种能力。比方批改超时工夫、权重、负载平衡策略调整等。作用在接口级别和利用级别。下图含意为将超时工夫调整为 6000ms,作用在 conusmer 侧的所有节点。
服务测试
能够通过 admin 后盾测试 dubbo 服务,参数依据元数据内容主动生成 JSON 模板。
服务 Mock
通过在 Admin 后盾进行规定配置,依据服务名和办法名,进行规定的配置。
用户在 Dubbo 援用中引入 Mock 的依赖,通过增加 JVM 启动参数 -Denable.dubbo.admin.mock=true,即可体验在无 Provider 的状况下,实现 Consumer 对 Provider 的模仿调用,返回来自 admin 中配置的模仿数据。
<denpendency>
<groupId>org.apache.dubbo.extensions</groupId>
<artifactId>dubbo-mock-admin</artifactId>
<version>last</version>
</denpendency>
新增性能
- 利用级服务发现
- Mesh 路由
- 服务 Mock
- 权限 SPI 拓展
相干链接
1)官网:
https://dubbo.apache.org/zh/docs/advanced/routing-rule/
2)文档:
https://dubbo.apache.org/zh/docs/concepts/traffic-management/