行之力则知愈进,知之深则行愈达。上篇我们讲述了开发者模式组件的快速入门,相信大家在实践中也有了深刻的理解,接下来我们来进一步了解开发者模式组件的高级特性。
特性一:自定义路由
含义
开发者模式组件可以自定义服务的优先级,路由时会优先路由到优先级高的服务。
系统操作
新建XXXServicePriorityPolicy类,并实现开发者组件中的接口ServicePriorityPolicy ;假设以IP为172.11.11.11的服务为优先路由的服务,此时可实现接口,把该IP对应的服务优先级置为最高。
配置如下:
public class XxxServicePriorityPolicy implements ServicePriorityPolicy{
// 策略是否匹配
@Override
public boolean support(@NonNullServiceInstance serviceInstance){
return "172.11.11.11".equals(serviceInstance.getHost());
}
// 服务的优先级 优先级越高,优先路由到该服务
@Override
public int serverOrder(@NonNullServiceInstance serviceInstance){
return Ordered.HIGHEST_PRECEDENCE;
}
// 策略优先级,定义多个策略时,优先应用优先级高的
@Override
public int getOrder(){
return Ordered.HIGHEST_PRECEDENCE;
}
}
特性二:平台自定义路由
含义
上篇文章中我们提到一种场景,在实施过程中出现之前测试通过的功能又报错了,原因是其他开发人员启了本地服务,导致线上流量负载到本地去了。
在不做开发者配置启动服务的前提下,平台采用上述特性一的方式更改服务的优先级,那么会优先路由到线上的服务,而不会路由到本地未配置开发者的服务。
优先级排序:开发者自己的服务 > 线上服务 > 默认(无线上和开发者标签) > 其他开发者的服务。
线上服务标识:只需要在服务上进行配置,打上线上服务的标签。
注:开发者路由组件只建议在开发环境使用
系统操作
配置如下:
eureka:
instance:
metadata-map:
# 开发者路由标签
DEVELOPER_ROUTE_TAG: ${HZERO_DEVELOPER_ROUTE_TAG:}
# 开发者路由标签
HZERO_DEVELOPER_ROUTE_TAG:
在线上环境配置线上服务标签
# 开发者路由标签
HZERO_DEVELOPER_ROUTE_TAG: ONLINE
特性三:服务间请求走网关
含义
在实际工作中,本地起的服务要被别的服务访问,必须保证网络的互通,但是很多情况本地和服务器网络是不互通的,这个时候通常是通过搭建VPN解决网络的问题;
其实还有一种解决办法,就是引入开发者模式组件,无需搭建VPN也能绕过网络问题。
注:网关引入开发者,不用做任何配置; 在其他服务中引入开发者需做以下配置
系统操作
配置如下:
hzero:
developer:
# 开启服务间调用走网关
request-transform-to-gateway:true
# 配置网关地址, ip+端口
gateway-url: http://127.0.0.1:8080
# 配置路由信息。在取服务路由信息时会优先取服务治理中的服务路由,对应Redis缓存为 `hadm:routes`。如果是自己的服务没有通过服务治理管理,可以通过一下配置来配置服务的路由信息
service-route:
srm-qam: sqam
服务间走网关的这些请求,会跳过网关中的鉴权逻辑、限流熔断逻辑。
注:对于自定义RestTemplate是无法生效的,但可通过以下配置实现本地调用:
hzero:
admin:
auto-registry:
# 是否开启自动注册的功能,默认为true
enable: false
client:
# 如果不开启服务发现,则需要直接指定admin服务地址,可配置多个admin节点
server-list:
# 网关地址
- 172.20.16.46:8061
上述的开发者高级特性是版本1.8.1才有的功能,目前支持1.7及以上环境引入开发者, 1.7以下版本暂不支持。
通过以上描述,想必大家对开发者模式组件的高级特性都有了一定的了解;接下来,大家可以在线下实践,在实践中熟悉开发者模式组件高级特性。
往期推荐
1汉得企业级数字化PaaS平台 HZERO 1.9.0 版本正式发布!
2汉得aPaaS低代码平台-飞搭 2.3.0 RELEASE正式发布!
3重磅发布 | 汉得iPaaS全域集成平台 集星獭 1.5.0 版本正式发布
4免费试用 | 汉得企业级PaaS平台HZERO Lite安装版 1.9.0 正式发布!
5干货分享 | HZERO系列组件之消息管理组件,满足您的多种发送需求
6干货分享 | HZERO系列组件之开发者模式组件(上),快速入门实战
联系我们
产品试用请登录开放平台。请在 PC 端打开:
https://open.hand-china.com/market-home/trial-center/
产品详情请登录开放平台:
https://open.hand-china.com/document-center/
如有疑问登录开放平台提单反馈:
▲ 更多精彩内容,扫码关注 “四海汉得” 公众号