1 Star 0 Fork 25

lovedabai / 微信API网关

forked from 来贝科技 / 微信API网关 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 4.21 KB
一键复制 编辑 原始数据 按行查看 历史
老技 提交于 2018-07-30 18:36 . update readme

微信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:是否启用
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/iceyicey/wechat_api_gateway.git
git@gitee.com:iceyicey/wechat_api_gateway.git
iceyicey
wechat_api_gateway
微信API网关
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891