All Projects → weweibuy → gateway

weweibuy / gateway

Licence: other
Springcloud gateway 的样例工程, 封装了一些常用的网关功能,如鉴权,数据级权限控制,验签,动态路由,日志,流控,降级等

Programming Languages

java
68154 projects - #9 most used programming language
FreeMarker
481 projects

Projects that are alternatives of or similar to gateway

go-zero
A cloud-native Go microservices framework with cli tool for productivity.
Stars: ✭ 23,294 (+145487.5%)
Mutual labels:  gateway
Banklink
PHP payment library to easily integrate Baltic banklinks (supports old and new iPizza protocol), E-commerce gateaway (Estcard, Nets Estonia), Liisi Payment Link and Pocopay.
Stars: ✭ 34 (+112.5%)
Mutual labels:  gateway
pier
The Interchain gateway core implementation
Stars: ✭ 44 (+175%)
Mutual labels:  gateway
tuyagateway
Local Python Gateway for Tuya devices
Stars: ✭ 102 (+537.5%)
Mutual labels:  gateway
GateWay
🥗OpenIoTHub Gateway for mobile(网关移动应用)
Stars: ✭ 25 (+56.25%)
Mutual labels:  gateway
TarsGateway
No description or website provided.
Stars: ✭ 46 (+187.5%)
Mutual labels:  gateway
node-lumi-aqara
Control your Xiaomi Smart Home devices with this Lumi Aqara library
Stars: ✭ 45 (+181.25%)
Mutual labels:  gateway
showcase
A Full Stack Journey with Micro Services and Micro Front Ends. Using dapr, kubernetes, react module federation and web assembly,
Stars: ✭ 45 (+181.25%)
Mutual labels:  gateway
threema-msgapi-sdk-python
Threema Gateway Message SDK for Python
Stars: ✭ 37 (+131.25%)
Mutual labels:  gateway
Zwave2Mqtt-docker
Docker container for Zwave2Mqtt Gateway and Control Panel app
Stars: ✭ 29 (+81.25%)
Mutual labels:  gateway
kong-init
Declarative configuration tool for Kong
Stars: ✭ 38 (+137.5%)
Mutual labels:  gateway
GatewayService
GatewayService (Ocelot).
Stars: ✭ 19 (+18.75%)
Mutual labels:  gateway
tentacool
REST API to manage Linux networking via netlink
Stars: ✭ 63 (+293.75%)
Mutual labels:  gateway
api-gateway
Node.js API gateway that works as single entry point for all clients in a MicroService architecture pattern.
Stars: ✭ 26 (+62.5%)
Mutual labels:  gateway
redap
HTTP-to-LDAP Gateway
Stars: ✭ 27 (+68.75%)
Mutual labels:  gateway
consul-api-gateway
The Consul API Gateway is a dedicated ingress solution for intelligently routing traffic to applications running on a Consul Service Mesh.
Stars: ✭ 88 (+450%)
Mutual labels:  gateway
omise-magento
Omise Magento Plugin
Stars: ✭ 32 (+100%)
Mutual labels:  gateway
chirpstack-gateway-os
Yocto based gateway images including ChirpStack components.
Stars: ✭ 101 (+531.25%)
Mutual labels:  gateway
serial2mqtt
Serial to MQTT adapter serivce
Stars: ✭ 21 (+31.25%)
Mutual labels:  gateway
docker-kong-oidc
Kong + OIDC plugins
Stars: ✭ 83 (+418.75%)
Mutual labels:  gateway

gateway

SpringCloud Gateway 的样例工程,使用响应式编程,包含功能:

  • 鉴权
  • 数据级权限控制
  • 验签
  • 动态路由
  • 日志与APM
  • 流控,降级
注意: 该项目对 weweibuy-framework项目有依赖,直接打开会报错,需要先下载:

weweibuy-framework 然后 mvn install
本地启动时设置环境变量: -Dspring.profiles.active=dev

1. 鉴权:

支持功能:

2. 数据级权限控制:

参考: DataPermissionGatewayFilterFactory

3. 验签:

对业务请求参数无侵入,无需特意改变请求/响应报文的验签
支持功能:

  • GET请求验签
  • Json请求验签
  • application/x-www-form-urlencoded 验签
  • 文件上传请求验签

参考: SystemRequestParamGatewayFilterFactory VerifySignatureGatewayFilterFactory

4. 动态路由:

基于JDBC + Mybatis 动态路由,路由/断言/过滤参数灵活配置:
数据库脚本: router.sql
功能实现:
参考: JdbcRouteDefinitionLocator JdbcRouterManger
查询与刷新路由服务端点: JdbcRouterManger

5. 日志与 APM

基础的日志输出功能,类似AccessLog;
日志参考: AccessLogFilter
APM参考: AddTraceHeaderGatewayFilterFactory

6. 流控,降级

参考: Sentinel SentinelGatewayFilterFactory

7. 负载均衡

ILoadBalancer对服务有自己的缓存,定时(默认30s)到注册中心更新缓存的服务信息. 当服务下线时,如果本地缓存不清除,将导致将请求转发到一个不可用的服务上,直到下次定时更新服务. 可以通过注册中心监听服务健康状态(例如consul的watches),通知一个MQ服务,gateway监听MQ消息刷新本地缓存服务信息 参考: RocketServerChangeListener

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].