# mini-gateway **Repository Path**: luxing_chen/mini-gateway ## Basic Information - **Project Name**: mini-gateway - **Description**: 一个基于spring cloud gateway的网关,加入了一些接口调用监控、服务依赖 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 4 - **Created**: 2019-12-18 - **Last Updated**: 2024-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mini-gateway #### 介绍 1.基于Spring Cloud Gateway,加入了自定义路由规则并持久化(支持接入Eureka Server自动发现创建新服务路由) 定时刷新路由服务(通过调用MiniRouteDefinitionLocator); 新发现的服务会自动入库记录。 通过配置路由规则,可以实现版本控制、不停服发布、定义熔断超时、请求日志记录等。 2.技术:Spring Cloud Gateway、WebFlux、Kafka(这个是我强加的!) 3.扩展:为不同服务指定filter规则,比如限流(全局使用继承GlobalFilter,特定某个服务限流参考日志ElapsedTimeGatewayFilterFactory)、黑名单 SpringCloud Gateway已经提供了许多Filter,在包org.springframework.cloud.gateway.filter.factory中 ##### Route管理 ###### route服务 1.与Eureka结合,实现服务发现自动创建路由规则 2.路由配置持久化,优先从数据库读取路由配置 3.持久化路由配置高于自动发现服务路由规则 ###### 请求日志 1.通过路由配置开启指定服务的请求日志,展示接口请求、响应信息 2.日志通过Kafka进行中间处理,不直接入库。方便以后对日志进行分析、对服务状态监控,从而优化对应接口(当前项目是直接监听kafka topic入库、更新) U2FsdGVkX1/fDbioPo3X6HtB3ey07mHT7enn5OEY19uxDc7K1wUbZgqgz/hxYyFbFMTbUyliyUCdCQUb7XVFaA== ###### 服务调用关系 1.查看各个服务之间的引用、接口调用关系 2.需要各服务提供支持查询的接口 3.参考ServerRelationService注释代码,提供/api/public/common/service/relation接口 后台地址:http://localhost:18910/gateway/