开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

北京亿库网络科技有限公司 / 微信API网关NodeJSMIT

指数
0
Watch 25 Star 59 Fork 13
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
微信API网关,通过使用微信公众号、服务注册&发现、反向代理等等插件的组合,来有效解决来自不同客户端和服务器请求的统一接入、分发、监控等问题 展开 收起

Loading...
README.md

微信API网关

一、功能说明

本项目是基于koa2框架实现的API网关,使用koa2框架的中间件机制提供插件功能。

通过使用微信公众号、服务注册&发现、反向代理等等插件的组合,来有效解决来自不同客户端和服务器请求的统一接入、分发、监控等问题。

支持自定义插件。

Image text


二、环境说明

NodeJS v8.x.x


三、插件说明

1. 原理说明

接收请求后,通过管道机制,把请求、响应、会话、日志等对象封装成管道对象,逐一传给每个插件,每个插件都是单一职责的,一项功能由多个插件的组合来实现,并且可以调整插件的组合来实现不同的功能,例如,微信网关插件只负责微信消息格式的转换,配合转移请求反向代理插件,完成分发请求至不同服务器的功能

下图为管道机制原理图,其中必须配置和启用反向代理(proxy)插件

Image text

2. 使用说明

参考API网关插件库


四、应用配置说明

复制app_config.js.example为app_config.js,保存到项目根目录中

example中已配置好的插件如下:

具体配置参数如下:

port 应用端口
log
rootPath:日志根路径,可自定义,如,/xxx/xxx/wechat_api_gateway

日志追踪id键,可自定义,下面三个取值为Spring Cloud Sleuth的默认值
traceIdKey:x-b3-traceid,
spanIdKey:x-b3-spanid,
parentSpanIdKey:x-b3-parentspanid
runningMode 运行模式,单机模式(standalone)、集群模式(cluster)
mpConfigName 公众号配置名称,单机模式时,为配置文件名,集群模式时,为redis key
redis
redis配置,单机模式时,忽略,集群模式时,必须配置

ip: IP地址
port:端口
pass:密码
plugins
插件配置列表,配置顺序决定触发顺序

path:插件路径
config_path:插件配置目录
enable:是否启用

点评 ( 1 )

你可以在登录后,发表评论

搜索帮助