[学习微服务-第3天] ServiceComb内置高性能网关服务

本文介绍了ServiceComb内置的Edge Service,它作为微服务系统的接口,处理RESTful请求并转发给内部服务。Edge Service提供简单的框架和配置来搭建,并支持扩展以实现路由规则、认证鉴权等功能。文章详细讲解了如何开发微服务网关,包括配置依赖、定义启动类、添加配置文件以及定制路由规则,如DefaultEdgeDispatcher和URLMappedEdgeDispatcher的使用。此外,还探讨了Edge Service的工作原理,包括其工作流程、工作模式以及如何进行认证鉴权。

Edge Service是ServiceComb提供的JAVA网关服务。Edge Service作为整个微服务系统对外的接口,向最终用户提供服务,接入RESTful请求,转发给内部微服务。Edge Service以开发框架的形式提供,开发者可以非常简单的搭建一个Edge Service服务,通过简单的配置就可以定义路由转发规则。同时Edge Service支持强大的扩展能力,服务映射、请求解析、加密解密、鉴权等逻辑都可以通过扩展实现。

 

Edge Service本身也是一个微服务,需遵守所有微服务开发的规则。其本身可以部署为多实例,前端使用负载均衡装置进行负载分发;也可以部署为主备,直接接入用户请求。开发者可以根据Edge Service承载的逻辑和业务访问量、组网情况来规划。

开发微服务网关

搭建框架

使用ServiceComb的内置Edge Service边缘服务

3步完成搭建微服务网关

↓↓↓

•配置依赖关系

在项目中加入edge-core的依赖,就可以启动Edge Service的功能。Edge Service在请求转发的时候,会经过处理链,因此还可以加入相关的处理链的模块的依赖,下面的实例增加的负载均衡的处理链,这个是必须的。

 

•定义启动类

和开发普通微服务一样,可以通过加载Spring的方式将服务拉起来。

 

•增加配置文件microservie.yaml

Edge Service本身也是一个微服务,遵循微服务查找的规则,自己也会进行注册。注意APPLICAIONT_ID与需要转发的微服务相同。在下面的配置中,指定了Edge Service监听的地址,处理链等信息。其中auth处理链是DEMO项目中自定义的处理链,用于实现认证。同时auth服务本身,不经过这个处理链,相当于不鉴权。

 

定制路由规则

使用Edge Service的核心工作是配置路由规则。场景不同,规则也不同。 路由规则由一系列AbstractEdgeDispatcher组成。Edge Service提供了几个常见的Dispatcher,通过配置即可启用,如果这些Dispatcher不满足业务场景需要,还可以自定义。

•使用DefaultEdgeDispatcher

DefaultEdgeDispatcher是一个非常简单、容易管理的Dispatcher,使用这个Dispatcher,用户不用动态管理转发规则,应用于实际的业务场景非常方便,这个也是推荐的一种管理机制。它包含如下几个配置项:

常见的这些配置项的示例及含义如下:

•[prefix=rest;withVersion=true;prefixSegmentCount=1]微服务xService提供的URL为: /xService/v1/abc,通过Edge访问的地址为/rest/xService/v1/abc,请求只转发到[1.0.0-2.0.0)版本的微服务实例。

•[prefix=rest;withVersion=tru

在go-chassis中注册微服务,集中管理,同一微服务直接的调用接口。 在go-chassis中删除已经注册的微服务。 根据实际的业务需求,可以对压力比较大的微服务进行扩展,扩展成多份,达到分担每个微服务压力的效果。 保存注册时的关键信息到数据库中,包括DevEui、AppEui、AppKey。 保存注册时的关键信息到数据库中,包括DevAddr、AppEui、DevEui、NwkSkey、AppSkey。 系统对OTAA注册的节点发送的Join请求报文进行处理,根据注册信息生成对应的NwksKey、 AppSkey、DevAddr。返回给节点Join应答报文。 处理节点发送的Comfirmed类型消息,并回应Ack消息报文。 处理节点发送的UnComfirmed类型消息。 针对不同的节点类型,根据不同的策略下发给节点Confirmed类型消息,并处理节点回复的Ack消息。 针对不同的节点类型,根据不同的策略下发给节点Confirmed类型的消息。 在终端设备为ClassA 模式的时候,针对网络优化过程中,需要的调节参数、时间同步、链路检测等都可以通过相关MAC指令完成。 在终端设备为ClassB 模式的时候,针对网络优化过程中,需要的调节参数、时间同步、链路检测等都可以通过相关MAC指令完成。 在终端设备为ClassC 模式的时候,针对网络优化过程中,需要的调节参数、时间同步、链路检测等都可以通过相关MAC指令完成。 根据设备传输上行报文中的信号强度,调节速率范围、历史信号强度等信息,算出当前设备所在网络的最优速率。 方案选型 根据设备传输上行报文中的信号强度,调节速率范围、历史信号强度等信息,算出当前设备所在网络的最优速率。 根据网络的网关数量、网络的信号强度、网关的通信属性、设备的属性等相关信息统一均衡,使设备的下行合理的传输给终端设备。 支持LoRaWAN协议1.0.2、1.0.3协议。 组件配置 支持自定义频段接入。 添加产品 支持网关MQTT协议接入,并且支持证书、用户名、密码、主题鉴权认证。这个物联网网关,有现成的吗
最新发布
08-06
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值