您现在的位置是:首页 > 文章详情

干货分享 | HZERO系列组件之开发者模式组件(下),组件高级特性

日期:2022-10-20点击:390

图片

行之力则知愈进,知之深则行愈达。上篇我们讲述了开发者模式组件的快速入门,相信大家在实践中也有了深刻的理解,接下来我们来进一步了解开发者模式组件的高级特性。

特性一:自定义路由

含义

开发者模式组件可以自定义服务的优先级,路由时会优先路由到优先级高的服务。

 

系统操作

新建XXXServicePriorityPolicy类,并实现开发者组件中的接口ServicePriorityPolicy ;假设以IP为172.11.11.11的服务为优先路由的服务,此时可实现接口,把该IP对应的服务优先级置为最高。

配置如下:

 public class XxxServicePriorityPolicy implements ServicePriorityPolicy{// 策略是否匹配@Overridepublic boolean support(@NonNullServiceInstance serviceInstance){return "172.11.11.11".equals(serviceInstance.getHost());}// 服务的优先级 优先级越高,优先路由到该服务@Overridepublic int serverOrder(@NonNullServiceInstance serviceInstance){return Ordered.HIGHEST_PRECEDENCE;}// 策略优先级,定义多个策略时,优先应用优先级高的@Overridepublic int getOrder(){return Ordered.HIGHEST_PRECEDENCE;}}

 

特性二:平台自定义路由

含义

上篇文章中我们提到一种场景,在实施过程中出现之前测试通过的功能又报错了,原因是其他开发人员启了本地服务,导致线上流量负载到本地去了。

在不做开发者配置启动服务的前提下,平台采用上述特性一的方式更改服务的优先级,那么会优先路由到线上的服务,而不会路由到本地未配置开发者的服务。

优先级排序:开发者自己的服务 > 线上服务 > 默认(无线上和开发者标签) > 其他开发者的服务。

线上服务标识:只需要在服务上进行配置,打上线上服务的标签。

注:开发者路由组件只建议在开发环境使用

 

系统操作

配置如下:

在Bootstrap.yml中声明配置项

 eureka: instance: metadata-map: # 开发者路由标签 DEVELOPER_ROUTE_TAG: ${HZERO_DEVELOPER_ROUTE_TAG:}

在Values.yaml中声明配置项

 # 开发者路由标签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/

如有疑问登录开放平台提单反馈

https://open.hand-china.com/

图片

图片

▲ 更多精彩内容,扫码关注 “四海汉得” 公众号

原文链接:https://my.oschina.net/u/4580203/blog/5585460
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章