Nepxion Discovery - Spring Cloud Discovery服务注册发现、Ribbon负载均衡、Feign和RestTemplate调用的增强中间件

简介

Nepxion Discovery是一款对Spring Cloud Discovery服务注册发现、Ribbon负载均衡、Feign和RestTemplate调用的增强中间件

  • 支持Eureka、Consul、Zookeeper和阿里巴巴的Nacos四个服务注册发现中心
  • 支持阿里巴巴的Nacos、携程的Apollo和Redis三个远程配置中心
  • 支持Hystrix或者阿里巴巴Sentinel的两个熔断隔离限流降级
  • 支持Spring Cloud Gateway、Zuul网关和微服务三大模块的灰度发布和路由等一系列功能
  • 支持和兼容Spring Cloud Edgware版、Finchley版和Greenwich版三个版本

相关网站

功能包括

  • 灰度发布,基于规则订阅的全链路灰度发布,包括切换发布(版本匹配发布、区域匹配发布)和平滑发布(版本权重发布、区域权重发布)
  • 灰度路由,基于Header传递的全链路灰度路由,包括切换路由(版本匹配路由、区域匹配路由、机器IP和端口匹配路由)和平滑路由(版本权重路由、区域权重路由)。可以在网关过滤器、前端界面、负载均衡策略类三个地方实现路由功能
  • 组合式灰度发布和路由。灰度发布和灰度路由的多种组合式规则和策略,前端灰度&网关灰度路由组合式策略
  • 灰度调用链,基于Header方式和日志方式的全链路灰度调用链
  • 服务隔离,基于组和黑/白名单的全链路服务隔离,包括注册准入隔离(基于黑/白名单,包括组和IP地址的准入、最大注册数限制的准入)、消费端隔离(基于组的负载均衡的隔离、基于黑/白名单的IP地址的隔离)和提供端隔离(基于组的Header传值策略的隔离)
  • 数据库灰度发布,基于多数据源的数据库灰度发布
  • 同城双活多机房切换,基于区域匹配发布或者路由的同城双活多机房切换
  • 灰度路由和发布的自动化测试,基于Spring Boot/Spring Cloud自动化测试,包括普通调用测试、灰度调用测试和扩展调用测试(可扩展出阿里巴巴Sentinel、FF4J功能开关等自动化测试)
  • 支持自定义和编程实现扩展
    • 支持用户自定义和编程“禁止注册”、“禁止被发现”、“禁止被负载均衡”策略
    • 支持用户自定义和编程灰度路由策略
    • 支持用户自定义和编程负载均衡策略类
    • 支持运维调度灰度发布和路由的元数据
    • 支持参数化灰度发布

现有的Spring Cloud微服务很方便引入该中间件,代码零侵入。鉴于Spring Cloud官方对Eureka和Hystrix不再做新功能的迭代,推荐用NacosSentinel,它们对Spring Cloud灰度发布和路由更具出色的兼容性和友好性

参考资料

  1. 项目源码首页