{"repo":"hiling/mini-platform","free":true,"listed":false,"github":"https://github.com/hiling/mini-platform","clone":"git clone https://github.com/hiling/mini-platform.git","description":"Mini-Platform致力于更简洁易用的轻量级微服务治理平台。","language":"Java","stars":48,"topics":["gateway","oauth","spring-boot","spring-cloud","microservice","java","spring","microservices","eureka","zuul"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Mini-Platform轻量级微服务平台 - Mini-Platform致力于打造更简洁易用的轻量级微服务治理平台，更易于实施与运维； - 核心技术：SpringBoot、Spring Cloud、OAuth2（自研）、MyBatis、Redis、MySQL； - 核心功能：服务注册与发现、服务网关、负载均衡、统一认证、配置中心、异常处理等； --- mini-config - 配置中心 - 采用Spring Cloud Config作为统一的配置中心 - 所有服务启动均需要读取配置，因此配置中心为第一个启动服务； - 其他服务通过uri访问配置中心，当启动多个节点时，需要通过nginx等做代理达到高可用 --- mini-discovery - 注册中心 - 采用Eureka做服务自动注册与发现； - 所有服务启动均需注册到注册中心，因此注册中心为第二个启动服务； - 注册中心启动多个节点时，可以在配置中心的config-common/common-discovery中配置多个节点地址 --- mini-gateway - API网关 - 采用Zuul做服务网关； - 外部请求均需要通过网关进行转发，因此API网关为第三启动服务； - API网关启动多个节点时，需要通过nginx等做代理达到高可用； - Zuul支持三种路由策略： 1. 支持基于service-id的动态路由策略，支持负载均衡，支持服务的 自动 注册与发现，当服务地址变化后 无需手动配置 ，当后端服务引入Eureka client时可选用； 2. 支持基于url的动态路由策略，支持负载均衡，支持服务的 手动 注册与发现，当服务地址变化后 需要手动配置 ，当后端服务基于传统HTTP调用时可选用； 3. 支持基于默认url的动态路由策略，不支持负载均衡，后端服务需要单独处理负载均衡（如Nginx），支持服务的 手动 注册与发现，配置简单，可在测试中使用； - 支持服务异常重试，建议只开启GET的重试，且确保GET的幂等，否则建议关闭； --- mini-admin - 监控中心 - 采用Spring Boot Admin作为统一的监控中心 - 支持钉钉告警 --- mini-auth - 授权中心 - 为了更简单易用，OAuth Server采用自研实现。 - GrantType支持password、client credentials、refresh token。 - Token支持延迟吊销、滑动过期和绝对过期。 - 用户名密码验证支持直连用户中心数据库验证和调用远程服务验证两种方式。 - 密码模式授权，用于客户端与服务器之间的授权，流程如下： 注：图例为三次请求，1.1-1.3为首次认证；2.1-2.5为通过Access Token访问后端资源；3.1-3.3为使用Refresh Token获取新的Access Token，可用于Access Token过期前刷新Token； 红色字体是Password与Client授权方式不同的地方。 - 客户端模式授权，用于服务器与服务器之间的授权，流程如下： - 微服务模式授权示例，是获取到Access Token后请求后端资源的流程细化，如下： --- Gateway - ACL - Gateway中集成的ACL(访问控制列表)模块，对API进行权限控制。 - 待实现 --- Gateway - RateLimiting - Gateway中集成的限流模块，对API进行流量控制。 - 待实现 --- Gateway - Other -","default_branch":null,"files":null,"tree":[],"storefront":"/r/hiling","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/hiling/mini-platform/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}