这个项目起源于去年,当时该公司试图用微服务构建一个项目。在网关的技术选择上,我们最初确定的是ApiSix网关。如果需要写网关插件,需要基于Lua脚本来写。我和另一个同事当时基于这个写了一个简单的插件,但是开发测试发布都很麻烦,而且使用Lua脚本作为插件开发语言本身也不是我们的强项。
后来我通过其他渠道了解到微软的反向代理组件Yarp已经开发出来了,也有人基于它做了一些项目,所以我决定基于它搭建一个简单的Api网关,只要能满足基本要求就行。
技术用途:
开发框架:Abp Vnext 5.3.2
一项目结构图3360
二。网关执行过程介绍3360
中间件描述,上一个版本的设计是用Abp自己的插件机制实现的,但是这个版本我去掉了这个设计模式。我为什么取消插件设计模式是因为网关会导致具体服务连接太深。在新版本中,我使用网关根据配置的中间件信息向业务服务发起Http请求或Grpc,减少了业务对网关系统的依赖和网关对特定服务的深度依赖。
三。后台管理简介3360
1.账户管理3360登录后台管理账户管理(如果召开新的安装会议,可以使用admin/admin登录)
2.节点管理3360网关部署节点,后台管理可以将配置推送到节点进行动态刷新,可以及时生效。
3.服务治理配置:咨询信息配置。目前,Consul作为服务治理中间件受到支持。
4.认证配置为: Jwt验证配置,支持用户自定义密钥和SSL证书的令牌验证。
5.白名单配置3360网关过滤白名单。当请求地址出现在白名单中时,将不会执行令牌检查。
6.路由管理3360YARP反向代理组件信息配置,支持路由信息集群信息健康检查信息负载均衡策略信息的配置。
7.中间件管理3360配置中间件信息
注:更多函数,可以下载源代码后在本地运行并实际测试。
在下一个项目中,我将建立一个发布平台.从开始设计到完成开发使用,我都会在博客公园发表文章。
1c
发表评论