1 Star 0 Fork 25

Simlan / 微信API网关

forked from 来贝科技 / 微信API网关 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

微信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:是否启用
The MIT License (MIT) Copyright (c) 2018 liamjung Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

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

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
NodeJS
1
https://gitee.com/Simlan/wechat_api_gateway.git
git@gitee.com:Simlan/wechat_api_gateway.git
Simlan
wechat_api_gateway
微信API网关
master

搜索帮助