hsf dubbo学习八--延迟连接,粘滞连接,令牌验证,路由规则
来源:互联网 发布:cacti后台sql注入漏洞 编辑:程序博客网 时间:2024/06/06 03:30
延迟连接
用于减少长连接数,当有调用发起时,再创建长连接。只对使用长连接的dubbo协议生效。
<dubbo:protocolname="dubbo"lazy="true"/>
粘滞连接
粘滞连接用于状态服务,尽可能让客户端总是同一提供者发起调用,除非该提供者挂了,再连另一台。
粘滞连接将自动开启延迟连接,以减少长连接数。
<dubbo:protocolname="dubbo"sticky="true"/>
令牌验证
<!--随机token令牌,使用UUID生成-->
<dubbo:provider interface="com.foo.BarService" token="true" />
<!--固定token令牌,相当于密码-->
<dubbo:provider interface="com.foo.BarService" token="123456" />
也可在服务级别设置:
<!--随机token令牌,使用UUID生成-->
<dubbo:service interface="com.foo.BarService" token="true" />
<!--固定token令牌,相当于密码-->
<dubbo:service interface="com.foo.BarService" token="123456" />
还可在协议级别设置:
<!--随机token令牌,使用UUID生成-->
<dubbo:protocol name="dubbo" token="true" />
<!--固定token令牌,相当于密码-->
<dubbo:protocol name="dubbo" token="123456" />
路由则规则
向注册中心写入路由规则(通常由监控中心或治理中心的页面完成)
RegistryFactoryregistryFactory =ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
Registry registry =registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181"));
registry.register(URL.valueOf("condition://0.0.0.0/com.foo.BarService?category=routers&dynamic=false&rule=" +
URL.encode("host= 10.20.153.10 => host = 10.20.153.11") + "));其中:
(1)condition:表示路由规则的类型,支持条件路由规则和脚本路由规则,可扩展,必填。
(2)0.0.0.0:表示对所有IP地址生效,如果只想对某个IP生效,请填入具体IP,必填。
(3)com.foo.BarService:表示只对指定服务生效,必填。
(4)category=router:表示该数据为动态配置类型,必填。
(5)dynamic=false:表示该数据为持久数据,当注册方退出时,数据依然保存在注册中心,必填。
(6)enabled=true:覆盖规则是否生效,可不填,缺省生效。
(7)force=false:当路由结果为空时,是否强制执行,如果不强制执行,路由结果为空的路由规则将自动失效,可不填,缺省为false。
(8)runtime=false:是否在每次调用时执行路由规则 ,否则只在提供者地址列表变更时预先执行并缓存结果,调用时直接从缓存中获取路由结果 。
(9)priority=1:路由规则的优先级,用于排序,优先级越大越靠前执行,可不填,缺省为0.
(10)rule=URL.encode("host=10.20.153.10=>host=10.20.153.11") :表示路由规则的内容,必填。
条件路由规则
基于条件表达式的路由规则 ,如:
host=10.20.153.10=>host=10.20.153.11
规则:
- “=>” 之前的为消费者匹配条件 ,所有参数的消费者的URL进行对比,当消费者满足匹配条件时,对该消费者执行后面的过滤规则。
- “=>” 之后为提供者地址列表的过滤条件,所有参数的提供者的URL进行对比,消费者最终只拿到过滤后的地址列表。
- 如果匹配条件为空,表示对所有消费方应用。
- 如果过滤条件为空,表示禁止访问。
- 服务调用信息,如:method.
- URL本身的字段,如:protocol, host, port等。
- 以及URL上的所有参数,如:application, organization等。
- 等事情“=”表示匹配,不等号“!=”表示不匹配。
- 以逗号“,”分隔多个值
- 以星号结尾,表示通配
- 以美元符“$”开头,表示引用消费者参数,如 :host=$host
- hsf dubbo学习八--延迟连接,粘滞连接,令牌验证,路由规则
- 15.dubbo延迟连接、粘滞连接、令牌验证
- hsf dubbo学习四--连接方式
- Dubbo延迟连接
- Dubbo令牌验证
- Dubbo令牌验证
- hsf dubbo学习七--参数回调,本地存根,延迟暴露,并发控制
- dubbo 令牌验证 源码分析
- 分布式服务框架HSF学习 Dubbo VS HSF
- hsf dubbo学习五--服务分组,多版本,参数验证,结果缓存
- hsf开源dubbo学习-2-配置
- dubbo 粘滞连接 源代码分析
- Linux 路由 学习笔记 之八 策略规则的删除
- 16.dubbo路由规则、配置规则
- hsf开源dubbo学习-1-服务提供者&服务消费者&依赖
- hsf开源dubbo学习三--集群,线程模型
- hsf dubbo学习九--服务降级,优雅停机,日志
- HSF学习
- 如何降低App的待机内存
- exercise14 提示 传递
- 当你孤单你会想起谁
- 常用第三方开源代码库 (thirdparty/common)
- 6. 特定区域处理
- hsf dubbo学习八--延迟连接,粘滞连接,令牌验证,路由规则
- 2017年目标
- win7计算器功能详解
- SIOCADDRT: File exists
- Java读取Excel内容
- LeetCode 450. Delete Node in a BST
- android EditText 自动换行 设置
- exercise15 读取文件
- C语言基础之结构体、共用体、枚举、类型定义typedef