├── .gitattributes ├── discovery-commons ├── discovery-common │ └── src │ │ ├── test │ │ ├── resources │ │ │ ├── sample.properties │ │ │ ├── sample.json │ │ │ ├── sample.xml │ │ │ └── sample.yaml │ │ └── java │ │ │ └── com │ │ │ └── nepxion │ │ │ └── discovery │ │ │ └── common │ │ │ └── EscapeTest.java │ │ └── main │ │ ├── resources │ │ └── com │ │ │ └── nepxion │ │ │ ├── h2 │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── kubernetes │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── sclb │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── ldap │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── etcd │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── istio │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── redis │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── kafka │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── nacos │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── mysql │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── apollo │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── consul │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── ribbon │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── docker │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── eureka │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── hystrix │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── skywalking │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── caffeine │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── sentinel │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── redisson │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── opentelemetry │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── platform │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── rabbitmq │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── opentracing │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── rocketmq │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ ├── discovery │ │ │ └── resource │ │ │ │ └── logo.txt │ │ │ └── zookeeper │ │ │ └── resource │ │ │ └── logo.txt │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── common │ │ ├── delegate │ │ └── DiscoveryClientDelegate.java │ │ ├── entity │ │ ├── HeadersInjectorType.java │ │ ├── PackagesInjectorType.java │ │ ├── AddressWeightEntity.java │ │ ├── RegionWeightEntity.java │ │ ├── VersionWeightEntity.java │ │ ├── RegisterEntity.java │ │ └── RelationalType.java │ │ ├── future │ │ ├── DiscoveryFutureCallback.java │ │ └── DiscoveryFutureResolver.java │ │ ├── dom4j │ │ └── Dom4JConstant.java │ │ ├── logback │ │ └── LogbackConstant.java │ │ ├── util │ │ ├── XmlUtil.java │ │ ├── EnvironmentUtil.java │ │ ├── IOUtil.java │ │ ├── MathsUtil.java │ │ ├── FormatUtil.java │ │ └── UrlUtil.java │ │ ├── context │ │ └── DiscoveryMetaDataPreInstallation.java │ │ ├── lock │ │ └── DiscoveryLock.java │ │ ├── thread │ │ └── DiscoveryThreadPoolFactory.java │ │ └── exception │ │ └── DiscoveryException.java ├── discovery-common-etcd │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring.factories │ │ │ └── additional-spring-configuration-metadata.json │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── common │ │ └── etcd │ │ ├── operation │ │ └── EtcdSubscribeCallback.java │ │ └── constant │ │ └── EtcdConstant.java ├── discovery-common-apollo │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring.factories │ │ │ └── additional-spring-configuration-metadata.json │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── common │ │ └── apollo │ │ ├── operation │ │ └── ApolloSubscribeCallback.java │ │ └── constant │ │ └── ApolloConstant.java ├── discovery-common-consul │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring.factories │ │ │ └── additional-spring-configuration-metadata.json │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── common │ │ └── consul │ │ ├── operation │ │ └── ConsulSubscribeCallback.java │ │ └── constant │ │ └── ConsulConstant.java ├── discovery-common-nacos │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring.factories │ │ │ └── additional-spring-configuration-metadata.json │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── common │ │ └── nacos │ │ ├── operation │ │ └── NacosSubscribeCallback.java │ │ └── constant │ │ └── NacosConstant.java ├── discovery-common-redis │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── common │ │ └── redis │ │ ├── constant │ │ └── RedisConstant.java │ │ └── operation │ │ └── RedisSubscribeCallback.java └── discovery-common-zookeeper │ └── src │ └── main │ ├── resources │ └── META-INF │ │ ├── spring.factories │ │ └── additional-spring-configuration-metadata.json │ └── java │ └── com │ └── nepxion │ └── discovery │ └── common │ └── zookeeper │ ├── operation │ └── ZookeeperSubscribeCallback.java │ └── constant │ └── ZookeeperConstant.java ├── discovery-springcloud-examples ├── discovery-springcloud-example-service │ └── src │ │ └── main │ │ ├── resources │ │ ├── sentinel-authority.json │ │ ├── META-INF │ │ │ └── spring.factories │ │ ├── sentinel-degrade.json │ │ ├── sentinel-system.json │ │ ├── sentinel-param-flow.json │ │ ├── sentinel-flow.json │ │ └── sentinel.json │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── example │ │ └── service │ │ ├── rest │ │ └── AbstractRestImpl.java │ │ ├── sentinel │ │ ├── MyAFeignFallbackHandler.java │ │ ├── MyBFeignFallbackHandler.java │ │ ├── MyCFeignFallbackHandler.java │ │ ├── MySentinelFlowRuleParser.java │ │ ├── MyRestTemplateBlockHandler.java │ │ └── MyRestTemplateFallbackHandler.java │ │ ├── feign │ │ └── AbstractFeignImpl.java │ │ ├── DiscoveryApplicationA2.java │ │ ├── DiscoveryApplicationB1.java │ │ ├── DiscoveryApplicationB2.java │ │ ├── DiscoveryApplicationC1.java │ │ ├── DiscoveryApplicationC2.java │ │ └── DiscoveryApplicationC3.java ├── discovery-springcloud-example-eureka │ └── src │ │ └── main │ │ ├── resources │ │ └── application.properties │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── eureka │ │ └── example │ │ └── EurekaApplication.java ├── discovery-springcloud-example-gateway │ └── src │ │ └── main │ │ ├── resources │ │ ├── dynamic-route-simple.json │ │ ├── dynamic-route-complete.json │ │ ├── rule.xml │ │ ├── application.properties │ │ └── dynamic-route-customization.json │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── example │ │ └── gateway │ │ └── impl │ │ └── MyFallback.java ├── discovery-springcloud-example-zuul │ └── src │ │ └── main │ │ └── resources │ │ ├── dynamic-route-simple.json │ │ ├── rule.xml │ │ ├── application.properties │ │ └── dynamic-route-complete.json ├── discovery-springcloud-example-admin │ └── src │ │ └── main │ │ ├── resources │ │ ├── application.properties │ │ └── bootstrap.properties │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── admin │ │ └── example │ │ └── AdminApplication.java └── discovery-springcloud-example-console │ └── src │ └── main │ ├── resources │ └── application.properties │ └── java │ └── com │ └── nepxion │ └── discovery │ └── console │ └── example │ └── ConsoleApplication.java ├── discovery-console ├── discovery-console-starter-etcd │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── discovery-console-starter-nacos │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── discovery-console-starter-redis │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── discovery-console-starter-apollo │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── discovery-console-starter-consul │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── discovery-console-starter-zookeeper │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories └── discovery-console-starter │ └── src │ └── main │ ├── resources │ └── META-INF │ │ └── spring.factories │ └── java │ └── com │ └── nepxion │ └── discovery │ └── console │ ├── resource │ ├── AuthenticationResource.java │ ├── VersionResource.java │ ├── InspectorResource.java │ └── FailoverResource.java │ ├── delegate │ └── ConsoleResourceDelegate.java │ └── adapter │ └── ConfigAdapter.java ├── discovery-plugin-strategy ├── discovery-plugin-strategy-starter-sentinel-skywalking │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── com.alibaba.csp.sentinel.init.InitFunc │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── sentinel │ │ └── skywalking │ │ └── monitor │ │ └── SentinelSkyWalkingInitFunc.java ├── discovery-plugin-strategy-starter-sentinel-opentracing │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── com.alibaba.csp.sentinel.init.InitFunc │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── sentinel │ │ └── opentracing │ │ └── monitor │ │ └── SentinelOpenTracingInitFunc.java ├── discovery-plugin-strategy-starter-sentinel-opentelemetry │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── com.alibaba.csp.sentinel.init.InitFunc │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── sentinel │ │ └── opentelemetry │ │ └── monitor │ │ └── SentinelOpenTelemetryInitFunc.java ├── discovery-plugin-strategy-starter-hystrix │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── hystrix │ │ └── constant │ │ └── HystrixStrategyConstant.java ├── discovery-plugin-strategy-starter-sentinel-micrometer │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── services │ │ │ └── com.alibaba.csp.sentinel.metric.extension.MetricExtension │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── sentinel │ │ └── micrometer │ │ └── monitor │ │ └── configuration │ │ └── SentinelMicrometerAutoConfiguration.java ├── discovery-plugin-strategy-starter-skywalking │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── skywalking │ │ └── constant │ │ └── SkyWalkingStrategyConstant.java ├── discovery-plugin-strategy-starter-opentracing │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── opentracing │ │ └── constant │ │ └── OpenTracingStrategyConstant.java ├── discovery-plugin-strategy-starter-opentelemetry │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── opentelemetry │ │ └── constant │ │ └── OpenTelemetryStrategyConstant.java ├── discovery-plugin-strategy-starter-sentinel-limiter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring.factories │ │ │ └── additional-spring-configuration-metadata.json │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── sentinel │ │ └── limiter │ │ ├── adapter │ │ └── SentinelStrategyRequestOriginAdapter.java │ │ └── constant │ │ └── SentinelStrategyLimiterConstant.java ├── discovery-plugin-strategy-starter-sentinel-datasource │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── sentinel │ │ └── datasource │ │ └── parser │ │ ├── SentinelStrategyFlowRuleParser.java │ │ ├── SentinelStrategySystemRuleParser.java │ │ ├── SentinelStrategyDegradeRuleParser.java │ │ ├── SentinelStrategyAuthorityRuleParser.java │ │ └── SentinelStrategyParamFlowRuleParser.java ├── discovery-plugin-strategy-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ ├── matcher │ │ ├── DiscoveryMatcherStrategy.java │ │ └── DiscoveryAntPathMatcherStrategy.java │ │ ├── monitor │ │ ├── StrategyAlarm.java │ │ ├── StrategyLogger.java │ │ ├── StrategyTracer.java │ │ └── StrategyTracerContextListener.java │ │ ├── adapter │ │ ├── DiscoveryEnabledStrategy.java │ │ ├── StrategyVersionFilterAdapter.java │ │ ├── DiscoveryEnabledAdapter.java │ │ ├── StrategyTracerAdapter.java │ │ └── DefaultStrategyVersionFilterAdapter.java │ │ ├── condition │ │ ├── DefaultStrategyTypeComparator.java │ │ └── StrategyCondition.java │ │ ├── wrapper │ │ └── StrategyCallableWrapper.java │ │ ├── injector │ │ ├── StrategyHeadersInjector.java │ │ └── StrategyPackagesInjector.java │ │ ├── filter │ │ └── StrategyEnabledFilter.java │ │ └── event │ │ └── StrategyAlarmEvent.java ├── discovery-plugin-strategy-starter-zuul │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── zuul │ │ ├── filter │ │ ├── ZuulStrategyClearFilter.java │ │ ├── ZuulStrategyFilter.java │ │ └── ZuulStrategyRouteFilter.java │ │ ├── monitor │ │ ├── ZuulStrategyMonitor.java │ │ └── DefaultZuulStrategyMonitor.java │ │ ├── wrapper │ │ └── ZuulStrategyCallableWrapper.java │ │ ├── route │ │ ├── DefaultZuulStrategyRoute.java │ │ └── ZuulStrategyRoute.java │ │ └── event │ │ ├── ZuulStrategyRouteDeletedEvent.java │ │ ├── ZuulStrategyRouteAddedEvent.java │ │ └── ZuulStrategyRouteModifiedEvent.java ├── discovery-plugin-strategy-starter-gateway │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── gateway │ │ ├── filter │ │ ├── GatewayStrategyClearFilter.java │ │ ├── GatewayStrategyRouteFilter.java │ │ └── GatewayStrategyFilter.java │ │ ├── route │ │ ├── DefaultGatewayStrategyRoute.java │ │ └── GatewayStrategyRoute.java │ │ ├── wrapper │ │ └── GatewayStrategyCallableWrapper.java │ │ ├── monitor │ │ ├── GatewayStrategyMonitor.java │ │ └── DefaultGatewayStrategyMonitor.java │ │ └── event │ │ ├── GatewayStrategyRouteDeletedEvent.java │ │ └── GatewayStrategyRouteAddedEvent.java ├── discovery-plugin-strategy-starter-service │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── strategy │ │ └── service │ │ ├── filter │ │ ├── ServiceStrategyFilter.java │ │ ├── ServiceStrategyFilterExclusion.java │ │ └── ServiceStrategyRouteFilter.java │ │ ├── wrapper │ │ └── ServiceStrategyCallableWrapper.java │ │ ├── monitor │ │ ├── ServiceStrategyMonitorAdapter.java │ │ └── ServiceStrategyMonitor.java │ │ ├── annotation │ │ ├── ServiceStrategy.java │ │ └── ServiceMonitorIgnore.java │ │ └── decorator │ │ └── ServiceStrategyRequestDecoratorFactory.java └── discovery-plugin-strategy-starter-sentinel-monitor │ └── src │ └── main │ └── resources │ └── META-INF │ └── additional-spring-configuration-metadata.json ├── discovery-plugin-admin-center ├── discovery-plugin-admin-center-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── admincenter │ │ └── resource │ │ ├── GitResource.java │ │ ├── StrategyResource.java │ │ ├── VersionResource.java │ │ ├── InspectorResource.java │ │ ├── ConfigResource.java │ │ ├── SentinelParamResource.java │ │ ├── RouterResource.java │ │ ├── GitResourceImpl.java │ │ ├── ZuulStrategyRouteResource.java │ │ └── GatewayStrategyRouteResource.java ├── discovery-plugin-admin-center-starter-swagger │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── admincenter │ │ └── resource │ │ ├── GitResource.java │ │ ├── StrategyResource.java │ │ ├── VersionResource.java │ │ ├── InspectorResource.java │ │ ├── ConfigResource.java │ │ ├── SentinelParamResource.java │ │ ├── RouterResource.java │ │ ├── GitResourceImpl.java │ │ ├── ZuulStrategyRouteResource.java │ │ └── GatewayStrategyRouteResource.java └── pom.xml ├── discovery-plugin-config-center ├── discovery-plugin-config-center-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── configcenter │ │ └── loader │ │ ├── ConfigLoader.java │ │ ├── RemoteConfigLoader.java │ │ └── LocalConfigLoader.java ├── discovery-plugin-config-center-starter-etcd │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── discovery-plugin-config-center-starter-apollo │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── configcenter │ │ └── apollo │ │ └── adapter │ │ └── ApolloApplicationInfoAdapter.java ├── discovery-plugin-config-center-starter-consul │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── discovery-plugin-config-center-starter-nacos │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── discovery-plugin-config-center-starter-redis │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── spring.factories └── discovery-plugin-config-center-starter-zookeeper │ └── src │ └── main │ └── resources │ └── META-INF │ └── spring.factories ├── discovery-plugin-framework ├── discovery-plugin-framework-starter-parser │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── framework │ │ └── parser │ │ ├── PluginConfigParser.java │ │ └── PluginConfigDeparser.java ├── discovery-plugin-framework-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── framework │ │ ├── adapter │ │ ├── ApplicationInfoAdapter.java │ │ └── PluginConfigAdapter.java │ │ ├── listener │ │ ├── Listener.java │ │ ├── loadbalance │ │ │ ├── AbstractLoadBalanceListener.java │ │ │ └── LoadBalanceListener.java │ │ ├── discovery │ │ │ ├── DiscoveryListener.java │ │ │ └── AbstractDiscoveryListener.java │ │ └── register │ │ │ ├── RegisterListener.java │ │ │ └── AbstractRegisterListener.java │ │ ├── loadbalance │ │ ├── weight │ │ │ ├── WeightRandomProcessor.java │ │ │ ├── RuleWeightRandomLoadBalance.java │ │ │ ├── StrategyWeightRandomLoadBalance.java │ │ │ ├── MapWeightRandomProcessor.java │ │ │ └── ArrayWeightRandomProcessor.java │ │ ├── DiscoveryEnabledLoadBalance.java │ │ └── WeightRandomLoadBalance.java │ │ └── event │ │ ├── PluginPublisher.java │ │ ├── RuleClearedEvent.java │ │ ├── ParameterChangedEvent.java │ │ ├── VersionClearedEvent.java │ │ └── RuleUpdatedEvent.java └── pom.xml ├── discovery-plugin-register-center ├── discovery-plugin-register-center-starter-nacos │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── additional-spring-configuration-metadata.json │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── registercenter │ │ └── nacos │ │ └── constant │ │ └── NacosConstant.java ├── discovery-plugin-register-center-starter-consul │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── registercenter │ │ └── consul │ │ └── constant │ │ └── ConsulConstant.java ├── discovery-plugin-register-center-starter-eureka │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── registercenter │ │ └── eureka │ │ └── constant │ │ └── EurekaConstant.java └── discovery-plugin-register-center-starter-zookeeper │ └── src │ └── main │ ├── resources │ └── META-INF │ │ └── spring.factories │ └── java │ └── com │ └── nepxion │ └── discovery │ └── plugin │ └── registercenter │ └── zookeeper │ └── constant │ └── ZookeeperConstant.java ├── .gitignore ├── discovery-plugin-test ├── discovery-plugin-test-starter-automation │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring.factories │ │ │ └── additional-spring-configuration-metadata.json │ │ └── java │ │ └── com │ │ └── nepxion │ │ └── discovery │ │ └── plugin │ │ └── test │ │ └── automation │ │ ├── application │ │ └── TestApplication.java │ │ ├── annotation │ │ └── DTest.java │ │ └── constant │ │ └── TestConstant.java └── pom.xml ├── .github └── workflows │ └── maven.yml ├── install.bat └── version.bat /.gitattributes: -------------------------------------------------------------------------------- 1 | # Declare files that will always have UNIX line endings on checkout. 2 | *.sh text eol=lf -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/test/resources/sample.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=discovery-springcloud-example-a 2 | server.port=1100 -------------------------------------------------------------------------------- /discovery-commons/discovery-common-etcd/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.common.etcd.configuration.EtcdAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common-apollo/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.common.apollo.configuration.ApolloAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common-consul/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.common.consul.configuration.ConsulAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common-nacos/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.common.nacos.configuration.NacosAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common-redis/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.common.redis.configuration.RedisAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/h2/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,--. ,--. 2 | | '--' | 3 | | .--. | 4 | | | | | 5 | `--' `--' 6 | ,---. 7 | '.-. \ 8 | .-' .' 9 | / '-. 10 | '-----' -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/resources/sentinel-authority.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "resource": "sentinel-resource", 4 | "limitApp": "1.0&zhangsan", 5 | "strategy": 0 6 | } 7 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common-zookeeper/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.common.zookeeper.configuration.ZookeeperAutoConfiguration -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter-etcd/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.console.etcd.configuration.EtcdConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter-nacos/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.console.nacos.configuration.NacosConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter-redis/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.console.redis.configuration.RedisConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter-apollo/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.console.apollo.configuration.ApolloConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter-consul/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.console.consul.configuration.ConsulConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-skywalking/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.init.InitFunc: -------------------------------------------------------------------------------- 1 | com.nepxion.discovery.plugin.strategy.sentinel.skywalking.monitor.SentinelSkyWalkingInitFunc -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter-zookeeper/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.console.zookeeper.configuration.ZookeeperConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-opentracing/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.init.InitFunc: -------------------------------------------------------------------------------- 1 | com.nepxion.discovery.plugin.strategy.sentinel.opentracing.monitor.SentinelOpenTracingInitFunc -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.admincenter.configuration.AdminAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-opentelemetry/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.init.InitFunc: -------------------------------------------------------------------------------- 1 | com.nepxion.discovery.plugin.strategy.sentinel.opentelemetry.monitor.SentinelOpenTelemetryInitFunc -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.configcenter.configuration.ConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.context.ApplicationContextInitializer=\ 2 | com.nepxion.discovery.plugin.example.service.context.MyApplicationContextInitializer -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.admincenter.configuration.AdminAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter-parser/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.framework.configuration.PluginParserAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-hystrix/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.strategy.hystrix.configuration.HystrixStrategyAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter-etcd/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.configcenter.etcd.configuration.EtcdConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter-apollo/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.configcenter.apollo.configuration.ApolloConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter-consul/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.configcenter.consul.configuration.ConsulConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter-nacos/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.configcenter.nacos.configuration.NacosConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter-redis/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.configcenter.redis.configuration.RedisConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-micrometer/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.metric.extension.MetricExtension: -------------------------------------------------------------------------------- 1 | com.nepxion.discovery.plugin.strategy.sentinel.micrometer.monitor.metric.SentinelMicrometerMetricExtension -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-skywalking/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.strategy.skywalking.configuration.SkyWalkingStrategyAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-opentracing/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.strategy.opentracing.configuration.OpenTracingStrategyAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/kubernetes/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,--. ,--. 2 | | .' / 3 | | . ' 4 | | |\ \ 5 | `--' '--' 6 | ,---. 7 | | o | 8 | .' '. 9 | | o | 10 | `---' 11 | ,---. 12 | ' .-' 13 | `. `-. 14 | .-' | 15 | `-----' -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter-zookeeper/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.configcenter.zookeeper.configuration.ZookeeperConfigAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-opentelemetry/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.strategy.opentelemetry.configuration.OpenTelemetryStrategyAutoConfiguration -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/resources/sentinel-degrade.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "resource": "sentinel-resource", 4 | "limitApp": "default", 5 | "count": 2, 6 | "timeWindow": 10, 7 | "grade": 0, 8 | "passCount": 0 9 | } 10 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/test/resources/sample.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "resource": "sentinel-resource", 4 | "controlBehavior": 0, 5 | "count": 1, 6 | "grade": 1, 7 | "limitApp": "default", 8 | "strategy": 0 9 | } 10 | ] -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-limiter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.strategy.sentinel.limiter.configuration.SentinelStrategyLimiterAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-datasource/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.strategy.sentinel.datasource.configuration.SentinelStrategyDataSourceAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-micrometer/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.nepxion.discovery.plugin.strategy.sentinel.micrometer.monitor.configuration.SentinelMicrometerAutoConfiguration -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/resources/sentinel-system.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "resource": null, 4 | "limitApp": null, 5 | "highestSystemLoad": -1.0, 6 | "highestCpuUsage": -1.0, 7 | "qps": 200.0, 8 | "avgRt": -1, 9 | "maxThread": -1 10 | } 11 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/test/resources/sample.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {"discovery-springcloud-example-a":"1.0", "discovery-springcloud-example-b":"1.0", "discovery-springcloud-example-c":"1.0;1.2"} 5 | 6 | -------------------------------------------------------------------------------- /discovery-commons/discovery-common-apollo/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "apollo.namespace", 5 | "type": "java.lang.String", 6 | "defaultValue": "application", 7 | "description": "Apollo namespace." 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/sclb/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,---. 2 | ' .-' 3 | `. `-. 4 | .-' | 5 | `-----' 6 | ,-----. 7 | ' .--./ 8 | | | 9 | ' '--'\ 10 | `-----' 11 | ,--. 12 | | | 13 | | | 14 | | '--. 15 | `-----' 16 | ,-----. 17 | | |) /_ 18 | | .-. \ 19 | | '--' / 20 | `------' -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/ldap/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,--. 2 | | | 3 | | | 4 | | '--. 5 | `-----' 6 | ,------. 7 | | .-. \ 8 | | | \ : 9 | | '--' / 10 | `-------' 11 | ,---. 12 | / O \ 13 | | .-. | 14 | | | | | 15 | `--' `--' 16 | ,------. 17 | | .--. ' 18 | | '--' | 19 | | | --' 20 | `--' -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/etcd/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .---' 3 | | `--, 4 | | `---. 5 | `------' 6 | ,--------. 7 | '--. .--' 8 | | | 9 | | | 10 | `--' 11 | ,-----. 12 | ' .--./ 13 | | | 14 | ' '--'\ 15 | `-----' 16 | ,------. 17 | | .-. \ 18 | | | \ : 19 | | '--' / 20 | `-------' -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/istio/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,--. 2 | | | 3 | | | 4 | | | 5 | `--' 6 | ,---. 7 | ' .-' 8 | `. `-. 9 | .-' | 10 | `-----' 11 | ,--------. 12 | '--. .--' 13 | | | 14 | | | 15 | `--' 16 | ,--. 17 | | | 18 | | | 19 | | | 20 | `--' 21 | ,-----. 22 | ' .-. ' 23 | | | | | 24 | ' '-' ' 25 | `-----' -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | com.nepxion.discovery.plugin.framework.context.PluginEnvironmentPostProcessor 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.framework.configuration.PluginAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | com.nepxion.discovery.plugin.strategy.context.StrategyEnvironmentPostProcessor 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.strategy.configuration.StrategyAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/redis/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .--. ' 3 | | '--'.' 4 | | |\ \ 5 | `--' '--' 6 | ,------. 7 | | .---' 8 | | `--, 9 | | `---. 10 | `------' 11 | ,------. 12 | | .-. \ 13 | | | \ : 14 | | '--' / 15 | `-------' 16 | ,--. 17 | | | 18 | | | 19 | | | 20 | `--' 21 | ,---. 22 | ' .-' 23 | `. `-. 24 | .-' | 25 | `-----' -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-nacos/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "spring.application.nacos.service.id.filter.enabled", 5 | "type": "java.lang.Boolean", 6 | "defaultValue": true, 7 | "description": "Whether nacos service id filter is enabled." 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-eureka/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # Spring cloud config 2 | spring.application.name=discovery-springcloud-example-eureka 3 | server.port=9528 4 | 5 | # Eureka config for discovery 6 | eureka.instance.metadataMap.group=example-eureka-group 7 | eureka.client.serviceUrl.defaultZone=http://localhost:9528/eureka/ 8 | eureka.instance.preferIpAddress=true -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-gateway/src/main/resources/dynamic-route-simple.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "route0", 4 | "uri": "lb://discovery-springcloud-example-a", 5 | "predicates": [ 6 | "Path=/discovery-springcloud-example-a/**,/x/**,/y/**" 7 | ], 8 | "filters": [ 9 | "StripPrefix=1" 10 | ] 11 | } 12 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/kafka/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,--. ,--. 2 | | .' / 3 | | . ' 4 | | |\ \ 5 | `--' '--' 6 | ,---. 7 | / O \ 8 | | .-. | 9 | | | | | 10 | `--' `--' 11 | ,------. 12 | | .---' 13 | | `--, 14 | | |` 15 | `--' 16 | ,--. ,--. 17 | | .' / 18 | | . ' 19 | | |\ \ 20 | `--' '--' 21 | ,---. 22 | / O \ 23 | | .-. | 24 | | | | | 25 | `--' `--' -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/resources/sentinel-param-flow.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "resource": "sentinel-resource", 4 | "limitApp": "default", 5 | "grade": 1, 6 | "paramIdx": 0, 7 | "count": 1, 8 | "controlBehavior": 0, 9 | "maxQueueingTimeMs": 0, 10 | "burstCount": 0, 11 | "durationInSec": 1, 12 | "paramFlowItemList": [], 13 | "clusterMode": false 14 | } 15 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/nacos/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,--. ,--. 2 | | ,'.| | 3 | | |' ' | 4 | | | ` | 5 | `--' `--' 6 | ,---. 7 | / O \ 8 | | .-. | 9 | | | | | 10 | `--' `--' 11 | ,-----. 12 | ' .--./ 13 | | | 14 | ' '--'\ 15 | `-----' 16 | ,-----. 17 | ' .-. ' 18 | | | | | 19 | ' '-' ' 20 | `-----' 21 | ,---. 22 | ' .-' 23 | `. `-. 24 | .-' | 25 | `-----' -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/resources/sentinel-flow.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "resource": "sentinel-resource", 4 | "limitApp": "default", 5 | "grade": 1, 6 | "count": 1, 7 | "strategy": 0, 8 | "refResource": null, 9 | "controlBehavior": 0, 10 | "warmUpPeriodSec": 10, 11 | "maxQueueingTimeMs": 500, 12 | "clusterMode": false, 13 | "clusterConfig": null 14 | } 15 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/mysql/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,--. ,--. 2 | | `.' | 3 | | |'.'| | 4 | | | | | 5 | `--' `--' 6 | ,--. ,--. 7 | \ `.' / 8 | '. / 9 | | | 10 | `--' 11 | ,---. 12 | ' .-' 13 | `. `-. 14 | .-' | 15 | `-----' 16 | ,-----. 17 | ' .-. ' 18 | | | | | 19 | ' '-' '-. 20 | `-----'--' 21 | ,--. 22 | | | 23 | | | 24 | | '--. 25 | `-----' -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-nacos/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.context.ApplicationContextInitializer=\ 2 | com.nepxion.discovery.plugin.registercenter.nacos.context.NacosApplicationContextInitializer 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.registercenter.nacos.configuration.NacosAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-consul/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.context.ApplicationContextInitializer=\ 2 | com.nepxion.discovery.plugin.registercenter.consul.context.ConsulApplicationContextInitializer 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.registercenter.consul.configuration.ConsulAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-eureka/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.context.ApplicationContextInitializer=\ 2 | com.nepxion.discovery.plugin.registercenter.eureka.context.EurekaApplicationContextInitializer 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.registercenter.eureka.configuration.EurekaAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-zookeeper/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.context.ApplicationContextInitializer=\ 2 | com.nepxion.discovery.plugin.registercenter.zookeeper.context.ZookeeperApplicationContextInitializer 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.registercenter.zookeeper.configuration.ZookeeperAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/apollo/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,---. 2 | / O \ 3 | | .-. | 4 | | | | | 5 | `--' `--' 6 | ,------. 7 | | .--. ' 8 | | '--' | 9 | | | --' 10 | `--' 11 | ,-----. 12 | ' .-. ' 13 | | | | | 14 | ' '-' ' 15 | `-----' 16 | ,--. 17 | | | 18 | | | 19 | | '--. 20 | `-----' 21 | ,--. 22 | | | 23 | | | 24 | | '--. 25 | `-----' 26 | ,-----. 27 | ' .-. ' 28 | | | | | 29 | ' '-' ' 30 | `-----' -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-gateway/src/main/resources/dynamic-route-complete.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "route0", 4 | "uri": "lb://discovery-springcloud-example-a", 5 | "predicates": [ 6 | "Path=/discovery-springcloud-example-a/**,/x/**,/y/**" 7 | ], 8 | "filters": [ 9 | "StripPrefix=1" 10 | ], 11 | "order": 0, 12 | "metadata": {} 13 | } 14 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common-redis/src/main/java/com/nepxion/discovery/common/redis/constant/RedisConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.redis.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @author JiKai Sun 10 | * @version 1.0 11 | */ 12 | 13 | public class RedisConstant { 14 | 15 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/delegate/DiscoveryClientDelegate.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.delegate; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface DiscoveryClientDelegate { 13 | T getDelegate(); 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/entity/HeadersInjectorType.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.entity; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public enum HeadersInjectorType { 13 | TRANSMISSION, 14 | TRACER, 15 | ALL; 16 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/future/DiscoveryFutureCallback.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.future; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface DiscoveryFutureCallback { 13 | T callback() throws Exception; 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/consul/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,-----. 2 | ' .--./ 3 | | | 4 | ' '--'\ 5 | `-----' 6 | ,-----. 7 | ' .-. ' 8 | | | | | 9 | ' '-' ' 10 | `-----' 11 | ,--. ,--. 12 | | ,'.| | 13 | | |' ' | 14 | | | ` | 15 | `--' `--' 16 | ,---. 17 | ' .-' 18 | `. `-. 19 | .-' | 20 | `-----' 21 | ,--. ,--. 22 | | | | | 23 | | | | | 24 | ' '-' ' 25 | `-----' 26 | ,--. 27 | | | 28 | | | 29 | | '--. 30 | `-----' -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/ribbon/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .--. ' 3 | | '--'.' 4 | | |\ \ 5 | `--' '--' 6 | ,--. 7 | | | 8 | | | 9 | | | 10 | `--' 11 | ,-----. 12 | | |) /_ 13 | | .-. \ 14 | | '--' / 15 | `------' 16 | ,-----. 17 | | |) /_ 18 | | .-. \ 19 | | '--' / 20 | `------' 21 | ,-----. 22 | ' .-. ' 23 | | | | | 24 | ' '-' ' 25 | `-----' 26 | ,--. ,--. 27 | | ,'.| | 28 | | |' ' | 29 | | | ` | 30 | `--' `--' -------------------------------------------------------------------------------- /discovery-commons/discovery-common-nacos/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "nacos.timout", 5 | "type": "java.lang.Integer", 6 | "defaultValue": 30000, 7 | "description": "Nacos timout." 8 | }, 9 | { 10 | "name": "spring.cloud.nacos.config.timout", 11 | "type": "java.lang.Integer", 12 | "defaultValue": 30000, 13 | "description": "Spring Cloud Nacos config timout." 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | .classpath 4 | .springBeans 5 | .factorypath 6 | # Mobile Tools for Java (J2ME) 7 | .mtj.tmp/ 8 | 9 | *.class 10 | *.classpath 11 | *.project 12 | *.springBeans 13 | bin/ 14 | log/ 15 | test-output/ 16 | 17 | # Package Files # 18 | *.jar 19 | *.war 20 | *.ear 21 | *.zip 22 | *.tar.gz 23 | *.rar 24 | *.swp 25 | *.log 26 | *.ctxt 27 | # nodejs local modules 28 | .tags* 29 | .idea/ 30 | *.iml 31 | .gradle/ 32 | .settings/ 33 | target/ 34 | hs_err_pid* -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | com.nepxion.discovery.console.context.ConsoleEnvironmentPostProcessor 3 | 4 | org.springframework.context.ApplicationContextInitializer=\ 5 | com.nepxion.discovery.console.context.ConsoleApplicationContextInitializer 6 | 7 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 8 | com.nepxion.discovery.console.configuration.ConsoleAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common-etcd/src/main/java/com/nepxion/discovery/common/etcd/operation/EtcdSubscribeCallback.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.etcd.operation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Congwei Xu 9 | * @version 1.0 10 | */ 11 | 12 | public interface EtcdSubscribeCallback { 13 | void callback(String config); 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/docker/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .-. \ 3 | | | \ : 4 | | '--' / 5 | `-------' 6 | ,-----. 7 | ' .-. ' 8 | | | | | 9 | ' '-' ' 10 | `-----' 11 | ,-----. 12 | ' .--./ 13 | | | 14 | ' '--'\ 15 | `-----' 16 | ,--. ,--. 17 | | .' / 18 | | . ' 19 | | |\ \ 20 | `--' '--' 21 | ,------. 22 | | .---' 23 | | `--, 24 | | `---. 25 | `------' 26 | ,------. 27 | | .--. ' 28 | | '--'.' 29 | | |\ \ 30 | `--' '--' -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/eureka/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .---' 3 | | `--, 4 | | `---. 5 | `------' 6 | ,--. ,--. 7 | | | | | 8 | | | | | 9 | ' '-' ' 10 | `-----' 11 | ,------. 12 | | .--. ' 13 | | '--'.' 14 | | |\ \ 15 | `--' '--' 16 | ,------. 17 | | .---' 18 | | `--, 19 | | `---. 20 | `------' 21 | ,--. ,--. 22 | | .' / 23 | | . ' 24 | | |\ \ 25 | `--' '--' 26 | ,---. 27 | / O \ 28 | | .-. | 29 | | | | | 30 | `--' `--' -------------------------------------------------------------------------------- /discovery-commons/discovery-common-nacos/src/main/java/com/nepxion/discovery/common/nacos/operation/NacosSubscribeCallback.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.nacos.operation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface NacosSubscribeCallback { 13 | void callback(String config); 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/entity/PackagesInjectorType.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.entity; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public enum PackagesInjectorType { 13 | RPC, 14 | PROVIDER_ISOLATION, 15 | TRACER, 16 | ALL; 17 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | com.nepxion.discovery.plugin.strategy.zuul.context.ZuulStrategyEnvironmentPostProcessor 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.strategy.zuul.configuration.ZuulStrategyAutoConfiguration,\ 6 | com.nepxion.discovery.plugin.strategy.zuul.configuration.ZuulStrategyContextAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common-apollo/src/main/java/com/nepxion/discovery/common/apollo/operation/ApolloSubscribeCallback.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.apollo.operation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface ApolloSubscribeCallback { 13 | void callback(String config); 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-consul/src/main/java/com/nepxion/discovery/common/consul/operation/ConsulSubscribeCallback.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.consul.operation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Congwei Xu 9 | * @version 1.0 10 | */ 11 | 12 | public interface ConsulSubscribeCallback { 13 | void callback(String config); 14 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-hystrix/src/main/java/com/nepxion/discovery/plugin/strategy/hystrix/constant/HystrixStrategyConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.hystrix.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class HystrixStrategyConstant { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-zookeeper/src/main/java/com/nepxion/discovery/common/zookeeper/operation/ZookeeperSubscribeCallback.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.zookeeper.operation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author rotten 9 | * @version 1.0 10 | */ 11 | 12 | public interface ZookeeperSubscribeCallback { 13 | void callback(String config); 14 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/adapter/ApplicationInfoAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface ApplicationInfoAdapter { 13 | String getAppId(); 14 | } -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-consul/src/main/java/com/nepxion/discovery/plugin/registercenter/consul/constant/ConsulConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.registercenter.consul.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class ConsulConstant { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-eureka/src/main/java/com/nepxion/discovery/plugin/registercenter/eureka/constant/EurekaConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.registercenter.eureka.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class EurekaConstant { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | com.nepxion.discovery.plugin.strategy.gateway.context.GatewayStrategyEnvironmentPostProcessor 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.strategy.gateway.configuration.GatewayStrategyAutoConfiguration,\ 6 | com.nepxion.discovery.plugin.strategy.gateway.configuration.GatewayStrategyContextAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyEnvironmentPostProcessor 3 | 4 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 5 | com.nepxion.discovery.plugin.strategy.service.configuration.ServiceStrategyAutoConfiguration,\ 6 | com.nepxion.discovery.plugin.strategy.service.configuration.ServiceStrategyContextAutoConfiguration -------------------------------------------------------------------------------- /discovery-commons/discovery-common-etcd/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "etcd.server.addr", 5 | "type": "java.lang.String", 6 | "description": "Etcd server address." 7 | }, 8 | { 9 | "name": "etcd.username", 10 | "type": "java.lang.String", 11 | "description": "Etcd username." 12 | }, 13 | { 14 | "name": "etcd.password", 15 | "type": "java.lang.String", 16 | "description": "Etcd password." 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-redis/src/main/java/com/nepxion/discovery/common/redis/operation/RedisSubscribeCallback.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.redis.operation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @author JiKai Sun 10 | * @version 1.0 11 | */ 12 | 13 | public interface RedisSubscribeCallback { 14 | void callback(String config); 15 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/entity/AddressWeightEntity.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.entity; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class AddressWeightEntity extends MapWeightEntity { 13 | private static final long serialVersionUID = 8727285274914899508L; 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/entity/RegionWeightEntity.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.entity; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class RegionWeightEntity extends MapWeightEntity { 13 | private static final long serialVersionUID = -9016670651666752093L; 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/entity/VersionWeightEntity.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.entity; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class VersionWeightEntity extends MapWeightEntity { 13 | private static final long serialVersionUID = -2575581771087287645L; 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/test/resources/sample.yaml: -------------------------------------------------------------------------------- 1 | service: 2 | - discovery-guide-service-a 3 | - discovery-guide-service-b 4 | blueGreen: 5 | - expression: "#H['xyz'] == '1'" 6 | route: green 7 | - expression: "#H['xyz'] == '2'" 8 | route: blue 9 | gray: 10 | - expression: "#H['xyz'] == '3'" 11 | weight: 12 | - 90 13 | - 10 14 | - expression: "#H['xyz'] == '4'" 15 | weight: 16 | - 70 17 | - 30 18 | - weight: 19 | - 100 20 | - 0 21 | header: 22 | xyz: 1 -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-skywalking/src/main/java/com/nepxion/discovery/plugin/strategy/skywalking/constant/SkyWalkingStrategyConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.skywalking.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class SkyWalkingStrategyConstant { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter/src/main/java/com/nepxion/discovery/plugin/configcenter/loader/ConfigLoader.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.configcenter.loader; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface ConfigLoader { 13 | String[] getConfigList() throws Exception; 14 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-opentracing/src/main/java/com/nepxion/discovery/plugin/strategy/opentracing/constant/OpenTracingStrategyConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.opentracing.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class OpenTracingStrategyConstant { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/listener/Listener.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.listener; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.core.Ordered; 13 | 14 | public interface Listener extends Ordered { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/filter/ZuulStrategyClearFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public abstract class ZuulStrategyClearFilter extends ZuulStrategyFilter { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-opentelemetry/src/main/java/com/nepxion/discovery/plugin/strategy/opentelemetry/constant/OpenTelemetryStrategyConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.opentelemetry.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class OpenTelemetryStrategyConstant { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/matcher/DiscoveryMatcherStrategy.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.matcher; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface DiscoveryMatcherStrategy { 13 | boolean match(String pattern, String value); 14 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/dom4j/Dom4JConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.dom4j; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class Dom4JConstant { 13 | public static final String ENCODING_UTF_8 = "UTF-8"; 14 | public static final String ENCODING_ISO_8859_1 = "ISO-8859-1"; 15 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/filter/GatewayStrategyClearFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface GatewayStrategyClearFilter extends GatewayStrategyFilter { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-plugin-test/discovery-plugin-test-starter-automation/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.EnvironmentPostProcessor=\ 2 | com.nepxion.discovery.plugin.test.automation.context.TestEnvironmentPostProcessor 3 | 4 | org.springframework.context.ApplicationContextInitializer=\ 5 | com.nepxion.discovery.plugin.test.automation.context.TestApplicationContextInitializer 6 | 7 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 8 | com.nepxion.discovery.plugin.test.automation.configuration.TestAutoConfiguration -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/route/DefaultGatewayStrategyRoute.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.route; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Ning Zhang 9 | * @version 1.0 10 | */ 11 | 12 | public class DefaultGatewayStrategyRoute extends AbstractGatewayStrategyRoute { 13 | 14 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/monitor/StrategyAlarm.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | public interface StrategyAlarm { 15 | void alarm(Map contextMap); 16 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-zuul/src/main/resources/dynamic-route-simple.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "route0", 4 | "serviceId": "discovery-springcloud-example-a", 5 | "path": "/discovery-springcloud-example-a/**" 6 | }, 7 | { 8 | "id": "route1", 9 | "serviceId": "discovery-springcloud-example-a", 10 | "path": "/x/**" 11 | }, 12 | { 13 | "id": "route2", 14 | "serviceId": "discovery-springcloud-example-a", 15 | "path": "/y/**" 16 | } 17 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/hystrix/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,--. ,--. 2 | | '--' | 3 | | .--. | 4 | | | | | 5 | `--' `--' 6 | ,--. ,--. 7 | \ `.' / 8 | '. / 9 | | | 10 | `--' 11 | ,---. 12 | ' .-' 13 | `. `-. 14 | .-' | 15 | `-----' 16 | ,--------. 17 | '--. .--' 18 | | | 19 | | | 20 | `--' 21 | ,------. 22 | | .--. ' 23 | | '--'.' 24 | | |\ \ 25 | `--' '--' 26 | ,--. 27 | | | 28 | | | 29 | | | 30 | `--' 31 | ,--. ,--. 32 | \ `.' / 33 | .' \ 34 | / .'. \ 35 | '--' '--' -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/filter/ZuulStrategyFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.netflix.zuul.ZuulFilter; 13 | 14 | public abstract class ZuulStrategyFilter extends ZuulFilter { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/monitor/StrategyLogger.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface StrategyLogger { 13 | void loggerOutput(); 14 | 15 | void loggerClear(); 16 | 17 | void loggerDebug(); 18 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/logback/LogbackConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.logback; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import ch.qos.logback.core.pattern.color.ANSIConstants; 13 | 14 | public class LogbackConstant extends ANSIConstants { 15 | public static final String ANSI_COLOR = "ansi-color"; 16 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/skywalking/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,---. 2 | ' .-' 3 | `. `-. 4 | .-' | 5 | `-----' 6 | ,--. ,--. 7 | | .' / 8 | | . ' 9 | | |\ \ 10 | `--' '--' 11 | ,--. ,--. 12 | \ `.' / 13 | '. / 14 | | | 15 | `--' 16 | ,--. ,--. 17 | | | | | 18 | | |.'.| | 19 | | ,'. | 20 | '--' '--' 21 | ,---. 22 | / O \ 23 | | .-. | 24 | | | | | 25 | `--' `--' 26 | ,--. 27 | | | 28 | | | 29 | | '--. 30 | `-----' 31 | ,--. ,--. 32 | | .' / 33 | | . ' 34 | | |\ \ 35 | `--' '--' -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/GitResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | public interface GitResource { 15 | Map map(); 16 | 17 | String text(); 18 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/adapter/DiscoveryEnabledStrategy.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.netflix.loadbalancer.Server; 13 | 14 | public interface DiscoveryEnabledStrategy { 15 | boolean apply(Server server); 16 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/GitResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | public interface GitResource { 15 | Map map(); 16 | 17 | String text(); 18 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/adapter/PluginConfigAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.ConfigType; 13 | 14 | public interface PluginConfigAdapter { 15 | ConfigType getConfigType(); 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/adapter/StrategyVersionFilterAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | public interface StrategyVersionFilterAdapter { 15 | List filter(List versionList); 16 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter-parser/src/main/java/com/nepxion/discovery/plugin/framework/parser/PluginConfigParser.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.parser; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.RuleEntity; 13 | 14 | public interface PluginConfigParser { 15 | RuleEntity parse(String config); 16 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/caffeine/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,-----. 2 | ' .--./ 3 | | | 4 | ' '--'\ 5 | `-----' 6 | ,---. 7 | / O \ 8 | | .-. | 9 | | | | | 10 | `--' `--' 11 | ,------. 12 | | .---' 13 | | `--, 14 | | |` 15 | `--' 16 | ,------. 17 | | .---' 18 | | `--, 19 | | |` 20 | `--' 21 | ,------. 22 | | .---' 23 | | `--, 24 | | `---. 25 | `------' 26 | ,--. 27 | | | 28 | | | 29 | | | 30 | `--' 31 | ,--. ,--. 32 | | ,'.| | 33 | | |' ' | 34 | | | ` | 35 | `--' `--' 36 | ,------. 37 | | .---' 38 | | `--, 39 | | `---. 40 | `------' -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter-parser/src/main/java/com/nepxion/discovery/plugin/framework/parser/PluginConfigDeparser.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.parser; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.RuleEntity; 13 | 14 | public interface PluginConfigDeparser { 15 | String deparse(RuleEntity ruleEntity); 16 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/sentinel/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,---. 2 | ' .-' 3 | `. `-. 4 | .-' | 5 | `-----' 6 | ,------. 7 | | .---' 8 | | `--, 9 | | `---. 10 | `------' 11 | ,--. ,--. 12 | | ,'.| | 13 | | |' ' | 14 | | | ` | 15 | `--' `--' 16 | ,--------. 17 | '--. .--' 18 | | | 19 | | | 20 | `--' 21 | ,--. 22 | | | 23 | | | 24 | | | 25 | `--' 26 | ,--. ,--. 27 | | ,'.| | 28 | | |' ' | 29 | | | ` | 30 | `--' `--' 31 | ,------. 32 | | .---' 33 | | `--, 34 | | `---. 35 | `------' 36 | ,--. 37 | | | 38 | | | 39 | | '--. 40 | `-----' -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/filter/ServiceStrategyFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.web.filter.OncePerRequestFilter; 13 | 14 | public abstract class ServiceStrategyFilter extends OncePerRequestFilter { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/redisson/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .--. ' 3 | | '--'.' 4 | | |\ \ 5 | `--' '--' 6 | ,------. 7 | | .---' 8 | | `--, 9 | | `---. 10 | `------' 11 | ,------. 12 | | .-. \ 13 | | | \ : 14 | | '--' / 15 | `-------' 16 | ,--. 17 | | | 18 | | | 19 | | | 20 | `--' 21 | ,---. 22 | ' .-' 23 | `. `-. 24 | .-' | 25 | `-----' 26 | ,---. 27 | ' .-' 28 | `. `-. 29 | .-' | 30 | `-----' 31 | ,-----. 32 | ' .-. ' 33 | | | | | 34 | ' '-' ' 35 | `-----' 36 | ,--. ,--. 37 | | ,'.| | 38 | | |' ' | 39 | | | ` | 40 | `--' `--' -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/condition/DefaultStrategyTypeComparator.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.condition; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.expression.DiscoveryTypeComparator; 13 | 14 | public class DefaultStrategyTypeComparator extends DiscoveryTypeComparator { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/wrapper/StrategyCallableWrapper.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.wrapper; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @author Hao Huang 10 | * @version 1.0 11 | */ 12 | 13 | import java.util.concurrent.Callable; 14 | 15 | public interface StrategyCallableWrapper { 16 | Callable wrapCallable(Callable callable); 17 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/opentelemetry/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,-----. 2 | ' .-. ' 3 | | | | | 4 | ' '-' ' 5 | `-----' 6 | ,------. 7 | | .--. ' 8 | | '--' | 9 | | | --' 10 | `--' 11 | ,------. 12 | | .---' 13 | | `--, 14 | | `---. 15 | `------' 16 | ,--. ,--. 17 | | ,'.| | 18 | | |' ' | 19 | | | ` | 20 | `--' `--' 21 | ,--------. 22 | '--. .--' 23 | | | 24 | | | 25 | `--' 26 | ,------. 27 | | .---' 28 | | `--, 29 | | `---. 30 | `------' 31 | ,--. 32 | | | 33 | | | 34 | | '--. 35 | `-----' 36 | ,------. 37 | | .---' 38 | | `--, 39 | | `---. 40 | `------' -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/platform/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .--. ' 3 | | '--' | 4 | | | --' 5 | `--' 6 | ,--. 7 | | | 8 | | | 9 | | '--. 10 | `-----' 11 | ,---. 12 | / O \ 13 | | .-. | 14 | | | | | 15 | `--' `--' 16 | ,--------. 17 | '--. .--' 18 | | | 19 | | | 20 | `--' 21 | ,------. 22 | | .---' 23 | | `--, 24 | | |` 25 | `--' 26 | ,-----. 27 | ' .-. ' 28 | | | | | 29 | ' '-' ' 30 | `-----' 31 | ,------. 32 | | .--. ' 33 | | '--'.' 34 | | |\ \ 35 | `--' '--' 36 | ,--. ,--. 37 | | `.' | 38 | | |'.'| | 39 | | | | | 40 | `--' `--' -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-zookeeper/src/main/java/com/nepxion/discovery/plugin/registercenter/zookeeper/constant/ZookeeperConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.registercenter.zookeeper.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class ZookeeperConstant { 13 | public static final String ZOOKEEPER_METADATA = "spring.cloud.zookeeper.discovery.metadata"; 14 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/adapter/DiscoveryEnabledAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.plugin.framework.loadbalance.DiscoveryEnabledLoadBalance; 13 | 14 | public interface DiscoveryEnabledAdapter extends DiscoveryEnabledLoadBalance { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-zookeeper/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "zookeeper.connect-string", 5 | "type": "java.lang.String", 6 | "description": "Zookeeper connect string." 7 | }, 8 | { 9 | "name": "zookeeper.retry-count", 10 | "type": "java.lang.Integer", 11 | "defaultValue": 3, 12 | "description": "Zookeeper retry count." 13 | }, 14 | { 15 | "name": "zookeeper.sleep-time", 16 | "type": "java.lang.Integer", 17 | "defaultValue": 3000, 18 | "description": "Zookeeper sleep time." 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/rabbitmq/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .--. ' 3 | | '--'.' 4 | | |\ \ 5 | `--' '--' 6 | ,---. 7 | / O \ 8 | | .-. | 9 | | | | | 10 | `--' `--' 11 | ,-----. 12 | | |) /_ 13 | | .-. \ 14 | | '--' / 15 | `------' 16 | ,-----. 17 | | |) /_ 18 | | .-. \ 19 | | '--' / 20 | `------' 21 | ,--. 22 | | | 23 | | | 24 | | | 25 | `--' 26 | ,--------. 27 | '--. .--' 28 | | | 29 | | | 30 | `--' 31 | ,--. ,--. 32 | | `.' | 33 | | |'.'| | 34 | | | | | 35 | `--' `--' 36 | ,-----. 37 | ' .-. ' 38 | | | | | 39 | ' '-' '-. 40 | `-----'--' -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/StrategyResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface StrategyResource { 13 | boolean validateExpression(String expression, String validation); 14 | 15 | String validateRoute(String routeType, String validation); 16 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/opentracing/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,-----. 2 | ' .-. ' 3 | | | | | 4 | ' '-' ' 5 | `-----' 6 | ,------. 7 | | .--. ' 8 | | '--' | 9 | | | --' 10 | `--' 11 | ,------. 12 | | .---' 13 | | `--, 14 | | `---. 15 | `------' 16 | ,--. ,--. 17 | | ,'.| | 18 | | |' ' | 19 | | | ` | 20 | `--' `--' 21 | ,--------. 22 | '--. .--' 23 | | | 24 | | | 25 | `--' 26 | ,------. 27 | | .--. ' 28 | | '--'.' 29 | | |\ \ 30 | `--' '--' 31 | ,---. 32 | / O \ 33 | | .-. | 34 | | | | | 35 | `--' `--' 36 | ,-----. 37 | ' .--./ 38 | | | 39 | ' '--'\ 40 | `-----' -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/StrategyResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public interface StrategyResource { 13 | boolean validateExpression(String expression, String validation); 14 | 15 | String validateRoute(String routeType, String validation); 16 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/loadbalance/weight/WeightRandomProcessor.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.loadbalance.weight; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import org.apache.commons.lang3.tuple.Pair; 15 | 16 | public interface WeightRandomProcessor { 17 | T random(List> weightList); 18 | } -------------------------------------------------------------------------------- /discovery-plugin-register-center/discovery-plugin-register-center-starter-nacos/src/main/java/com/nepxion/discovery/plugin/registercenter/nacos/constant/NacosConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.registercenter.nacos.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class NacosConstant { 13 | public static final String SPRING_APPLICATION_NACOS_SERVICE_ID_FILTER_ENABLED = "spring.application.nacos.service.id.filter.enabled"; 14 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/filter/GatewayStrategyRouteFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.plugin.strategy.filter.StrategyRouteFilter; 13 | 14 | public interface GatewayStrategyRouteFilter extends GatewayStrategyFilter, StrategyRouteFilter { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/wrapper/ServiceStrategyCallableWrapper.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.wrapper; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.plugin.strategy.wrapper.StrategyCallableWrapper; 13 | 14 | public interface ServiceStrategyCallableWrapper extends StrategyCallableWrapper { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/filter/ZuulStrategyRouteFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.plugin.strategy.filter.StrategyRouteFilter; 13 | 14 | public abstract class ZuulStrategyRouteFilter extends ZuulStrategyFilter implements StrategyRouteFilter { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/monitor/ZuulStrategyMonitor.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.netflix.zuul.context.RequestContext; 13 | 14 | public interface ZuulStrategyMonitor { 15 | void monitor(RequestContext context); 16 | 17 | void release(RequestContext context); 18 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/rocketmq/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .--. ' 3 | | '--'.' 4 | | |\ \ 5 | `--' '--' 6 | ,-----. 7 | ' .-. ' 8 | | | | | 9 | ' '-' ' 10 | `-----' 11 | ,-----. 12 | ' .--./ 13 | | | 14 | ' '--'\ 15 | `-----' 16 | ,--. ,--. 17 | | .' / 18 | | . ' 19 | | |\ \ 20 | `--' '--' 21 | ,------. 22 | | .---' 23 | | `--, 24 | | `---. 25 | `------' 26 | ,--------. 27 | '--. .--' 28 | | | 29 | | | 30 | `--' 31 | ,--. ,--. 32 | | `.' | 33 | | |'.'| | 34 | | | | | 35 | `--' `--' 36 | ,-----. 37 | ' .-. ' 38 | | | | | 39 | ' '-' '-. 40 | `-----'--' -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter/src/main/java/com/nepxion/discovery/console/resource/AuthenticationResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.console.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.AuthenticationEntity; 13 | import com.nepxion.discovery.common.entity.UserEntity; 14 | 15 | public interface AuthenticationResource { 16 | AuthenticationEntity authenticate(UserEntity userEntity); 17 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/loadbalance/weight/RuleWeightRandomLoadBalance.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.loadbalance.weight; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.plugin.framework.loadbalance.WeightRandomLoadBalance; 13 | 14 | public interface RuleWeightRandomLoadBalance extends WeightRandomLoadBalance { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/filter/GatewayStrategyFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.cloud.gateway.filter.GlobalFilter; 13 | import org.springframework.core.Ordered; 14 | 15 | public interface GatewayStrategyFilter extends GlobalFilter, Ordered { 16 | 17 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/adapter/StrategyTracerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | public interface StrategyTracerAdapter { 15 | public String getTraceId(); 16 | 17 | public String getSpanId(); 18 | 19 | public Map getCustomizationMap(); 20 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/wrapper/ZuulStrategyCallableWrapper.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.wrapper; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @author Hao Huang 10 | * @version 1.0 11 | */ 12 | 13 | import com.nepxion.discovery.plugin.strategy.wrapper.StrategyCallableWrapper; 14 | 15 | public interface ZuulStrategyCallableWrapper extends StrategyCallableWrapper { 16 | 17 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/VersionResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | public interface VersionResource { 15 | void update(String version, boolean async); 16 | 17 | void clear(String version, boolean async); 18 | 19 | List view(); 20 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/AbstractLoadBalanceListener.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.listener.loadbalance; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.plugin.framework.listener.BasicListener; 13 | 14 | public abstract class AbstractLoadBalanceListener extends BasicListener implements LoadBalanceListener { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/loadbalance/weight/StrategyWeightRandomLoadBalance.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.loadbalance.weight; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.plugin.framework.loadbalance.WeightRandomLoadBalance; 13 | 14 | public interface StrategyWeightRandomLoadBalance extends WeightRandomLoadBalance { 15 | 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-limiter/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "spring.application.strategy.sentinel.limit.app.enabled", 5 | "type": "java.lang.Boolean", 6 | "defaultValue": false, 7 | "description": "Whether strategy sentinel limit app is enabled." 8 | }, 9 | { 10 | "name": "spring.application.strategy.sentinel.request.origin.key", 11 | "type": "java.lang.String", 12 | "defaultValue": "n-d-service-id", 13 | "description": "Strategy sentinel request origin key, it can be http header value." 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/injector/StrategyHeadersInjector.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.injector; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.HeadersInjectorEntity; 15 | 16 | public interface StrategyHeadersInjector { 17 | List getHeadersInjectorEntityList(); 18 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/VersionResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | public interface VersionResource { 15 | void update(String version, boolean async); 16 | 17 | void clear(String version, boolean async); 18 | 19 | List view(); 20 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-monitor/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "spring.application.strategy.tracer.sentinel.rule.output.enabled", 5 | "type": "java.lang.Boolean", 6 | "defaultValue": true, 7 | "description": "Whether strategy tracer sentinel rule output is enabled." 8 | }, 9 | { 10 | "name": "spring.application.strategy.tracer.sentinel.args.output.enabled", 11 | "type": "java.lang.Boolean", 12 | "defaultValue": false, 13 | "description": "Whether strategy tracer sentinel args output is enabled." 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/wrapper/GatewayStrategyCallableWrapper.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.wrapper; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @author Hao Huang 10 | * @version 1.0 11 | */ 12 | 13 | import com.nepxion.discovery.plugin.strategy.wrapper.StrategyCallableWrapper; 14 | 15 | public interface GatewayStrategyCallableWrapper extends StrategyCallableWrapper { 16 | 17 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-limiter/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/limiter/adapter/SentinelStrategyRequestOriginAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.limiter.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import javax.servlet.http.HttpServletRequest; 13 | 14 | public interface SentinelStrategyRequestOriginAdapter { 15 | String parseOrigin(HttpServletRequest request); 16 | } -------------------------------------------------------------------------------- /.github/workflows/maven.yml: -------------------------------------------------------------------------------- 1 | # This workflow will build a Java project with Maven 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven 3 | 4 | name: build 5 | 6 | on: 7 | push: 8 | branches: [ 6.x.x ] 9 | pull_request: 10 | branches: [ 6.x.x ] 11 | 12 | jobs: 13 | build: 14 | 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - uses: actions/checkout@v2 19 | - name: Set up JDK 8 20 | uses: actions/setup-java@v2 21 | with: 22 | java-version: '8' 23 | distribution: 'adopt' 24 | - name: Build with Maven 25 | run: mvn -B package --file pom.xml -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/monitor/GatewayStrategyMonitor.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.web.server.ServerWebExchange; 13 | 14 | public interface GatewayStrategyMonitor { 15 | void monitor(ServerWebExchange exchange); 16 | 17 | void release(ServerWebExchange exchange); 18 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/loadbalance/DiscoveryEnabledLoadBalance.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.loadbalance; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.netflix.loadbalancer.Server; 15 | 16 | public interface DiscoveryEnabledLoadBalance { 17 | void filter(List servers); 18 | 19 | boolean apply(Server server); 20 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-consul/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "consul.host", 5 | "type": "java.lang.String", 6 | "description": "Consul host." 7 | }, 8 | { 9 | "name": "consul.port", 10 | "type": "java.lang.Integer", 11 | "description": "Consul port." 12 | }, 13 | { 14 | "name": "consul.timeout", 15 | "type": "java.lang.Integer", 16 | "defaultValue": 1, 17 | "description": "Consul timeout, default value is 1 second." 18 | }, 19 | { 20 | "name": "consul.token", 21 | "type": "java.lang.String", 22 | "description": "Consul token." 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/discovery/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,------. 2 | | .-. \ 3 | | | \ : 4 | | '--' / 5 | `-------' 6 | ,--. 7 | | | 8 | | | 9 | | | 10 | `--' 11 | ,---. 12 | ' .-' 13 | `. `-. 14 | .-' | 15 | `-----' 16 | ,-----. 17 | ' .--./ 18 | | | 19 | ' '--'\ 20 | `-----' 21 | ,-----. 22 | ' .-. ' 23 | | | | | 24 | ' '-' ' 25 | `-----' 26 | ,--. ,--. 27 | \ `.' / 28 | \ / 29 | \ / 30 | `-' 31 | ,------. 32 | | .---' 33 | | `--, 34 | | `---. 35 | `------' 36 | ,------. 37 | | .--. ' 38 | | '--'.' 39 | | |\ \ 40 | `--' '--' 41 | ,--. ,--. 42 | \ `.' / 43 | '. / 44 | | | 45 | `--' -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter/src/main/java/com/nepxion/discovery/console/delegate/ConsoleResourceDelegate.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.console.delegate; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.RuleEntity; 13 | 14 | public interface ConsoleResourceDelegate { 15 | RuleEntity getRemoteRuleEntity(String group, String serviceId); 16 | 17 | boolean updateRemoteRuleEntity(String group, String serviceId, RuleEntity ruleEntity); 18 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/injector/StrategyPackagesInjector.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.injector; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Xun Zhong 9 | * @author Haojun Ren 10 | * @version 1.0 11 | */ 12 | 13 | import java.util.List; 14 | 15 | import com.nepxion.discovery.common.entity.PackagesInjectorEntity; 16 | 17 | public interface StrategyPackagesInjector { 18 | List getPackagesInjectorEntityList(); 19 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/resources/com/nepxion/zookeeper/resource/logo.txt: -------------------------------------------------------------------------------- 1 | ,-------. 2 | `--. / 3 | / / 4 | / `--. 5 | `-------' 6 | ,-----. 7 | ' .-. ' 8 | | | | | 9 | ' '-' ' 10 | `-----' 11 | ,-----. 12 | ' .-. ' 13 | | | | | 14 | ' '-' ' 15 | `-----' 16 | ,--. ,--. 17 | | .' / 18 | | . ' 19 | | |\ \ 20 | `--' '--' 21 | ,------. 22 | | .---' 23 | | `--, 24 | | `---. 25 | `------' 26 | ,------. 27 | | .---' 28 | | `--, 29 | | `---. 30 | `------' 31 | ,------. 32 | | .--. ' 33 | | '--' | 34 | | | --' 35 | `--' 36 | ,------. 37 | | .---' 38 | | `--, 39 | | `---. 40 | `------' 41 | ,------. 42 | | .--. ' 43 | | '--'.' 44 | | |\ \ 45 | `--' '--' -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/InspectorResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.InspectorEntity; 15 | 16 | public interface InspectorResource { 17 | InspectorEntity inspect(InspectorEntity inspectorEntity); 18 | 19 | String inspect(List service); 20 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/util/XmlUtil.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.util; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.dom4j.Dom4JReader; 13 | 14 | public class XmlUtil { 15 | public static boolean isXmlFormat(String xml) { 16 | try { 17 | Dom4JReader.getDocument(xml); 18 | 19 | return true; 20 | } catch (Exception e) { 21 | return false; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/filter/ServiceStrategyFilterExclusion.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import javax.servlet.http.HttpServletRequest; 13 | import javax.servlet.http.HttpServletResponse; 14 | 15 | public interface ServiceStrategyFilterExclusion { 16 | boolean isExclusion(HttpServletRequest request, HttpServletResponse response); 17 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-etcd/src/main/java/com/nepxion/discovery/common/etcd/constant/EtcdConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.etcd.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Congwei Xu 9 | * @version 1.0 10 | */ 11 | 12 | public class EtcdConstant { 13 | public static final String ETCD_SERVER_ADDR = "etcd.server.addr"; 14 | public static final String ETCD_USERNAME = "etcd.username"; 15 | public static final String ETCD_PASSWORD = "etcd.password"; 16 | public static final String ETCD_CLIENT_ROUND_ROBIN = "round_robin"; 17 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/context/DiscoveryMetaDataPreInstallation.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.context; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.LinkedHashMap; 13 | import java.util.Map; 14 | 15 | public class DiscoveryMetaDataPreInstallation { 16 | private static Map metadata = new LinkedHashMap(); 17 | 18 | public static Map getMetadata() { 19 | return metadata; 20 | } 21 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/InspectorResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.InspectorEntity; 15 | 16 | public interface InspectorResource { 17 | InspectorEntity inspect(InspectorEntity inspectorEntity); 18 | 19 | String inspect(List service); 20 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/filter/ServiceStrategyRouteFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.core.Ordered; 13 | 14 | import com.nepxion.discovery.plugin.strategy.filter.StrategyRouteFilter; 15 | 16 | public abstract class ServiceStrategyRouteFilter extends ServiceStrategyFilter implements StrategyRouteFilter, Ordered { 17 | 18 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-zuul/src/main/resources/rule.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/monitor/StrategyTracer.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | public interface StrategyTracer { 15 | void spanBuild(); 16 | 17 | void spanOutput(Map contextMap); 18 | 19 | void spanError(Throwable e); 20 | 21 | void spanFinish(); 22 | 23 | String getTraceId(); 24 | 25 | String getSpanId(); 26 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-gateway/src/main/resources/rule.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /discovery-commons/discovery-common-apollo/src/main/java/com/nepxion/discovery/common/apollo/constant/ApolloConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.apollo.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.ctrip.framework.apollo.core.ConfigConsts; 13 | 14 | public class ApolloConstant implements ConfigConsts { 15 | public static final String APOLLO_BOOTSTRAP_NAMESPACES = "apollo.bootstrap.namespaces"; 16 | public static final String APOLLO_NAMESPACE = "apollo.namespace"; 17 | public static final String SEPARATE = ","; 18 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/lock/DiscoveryLock.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.lock; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | public interface DiscoveryLock { 15 | // 尝试获取锁 16 | boolean tryLock(String key); 17 | 18 | // 持有锁 19 | void lock(String key); 20 | 21 | // 释放锁 22 | void unlock(String key); 23 | 24 | // 获取被持有的所有锁名称列表 25 | List getHeldLocks(); 26 | 27 | // 进程结束时销毁锁 28 | void destroy() throws Exception; 29 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/ConfigResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.ConfigType; 15 | 16 | public interface ConfigResource { 17 | ConfigType getConfigType(); 18 | 19 | void update(String config, boolean async); 20 | 21 | void clear(boolean async); 22 | 23 | List view(); 24 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/LoadBalanceListener.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.listener.loadbalance; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.plugin.framework.listener.Listener; 15 | import com.netflix.loadbalancer.Server; 16 | 17 | public interface LoadBalanceListener extends Listener { 18 | void onGetServers(String serviceId, List servers); 19 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/ConfigResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.ConfigType; 15 | 16 | public interface ConfigResource { 17 | ConfigType getConfigType(); 18 | 19 | void update(String config, boolean async); 20 | 21 | void clear(boolean async); 22 | 23 | List view(); 24 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/SentinelParamResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowRule; 15 | 16 | public interface SentinelParamResource { 17 | void updateParamFlowRules(String rule); 18 | 19 | void clearParamFlowRules(); 20 | 21 | List viewParamFlowRules(); 22 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/route/DefaultZuulStrategyRoute.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.route; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.cloud.netflix.zuul.filters.ZuulProperties; 13 | 14 | public class DefaultZuulStrategyRoute extends AbstractZuulStrategyRoute { 15 | public DefaultZuulStrategyRoute(String servletPath, ZuulProperties zuulProperties) { 16 | super(servletPath, zuulProperties); 17 | } 18 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/filter/StrategyEnabledFilter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.filter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import org.springframework.core.Ordered; 15 | 16 | import com.netflix.loadbalancer.Server; 17 | 18 | public interface StrategyEnabledFilter extends Ordered { 19 | void filter(List servers); 20 | 21 | boolean apply(List servers, Server server); 22 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/SentinelParamResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowRule; 15 | 16 | public interface SentinelParamResource { 17 | void updateParamFlowRules(String rule); 18 | 19 | void clearParamFlowRules(); 20 | 21 | List viewParamFlowRules(); 22 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-consul/src/main/java/com/nepxion/discovery/common/consul/constant/ConsulConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.consul.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Congwei Xu 9 | * @version 1.0 10 | */ 11 | 12 | public class ConsulConstant { 13 | public static final String CONSUL_HOST = "consul.host"; 14 | public static final String CONSUL_PORT = "consul.port"; 15 | public static final String CONSUL_TIMEOUT = "consul.timeout"; 16 | public static final String CONSUL_TOKEN = "consul.token"; 17 | public static final int CONSUL_DEFAULT_TIMEOUT = 1; 18 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-gateway/src/main/java/com/nepxion/discovery/plugin/example/gateway/impl/MyFallback.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.gateway.impl; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.web.bind.annotation.RequestMapping; 13 | import org.springframework.web.bind.annotation.RestController; 14 | 15 | @RestController 16 | public class MyFallback { 17 | @RequestMapping("/fallback") 18 | public String fallback() { 19 | return "Spring Cloud Gateway Fallback"; 20 | } 21 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/condition/StrategyCondition.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.condition; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | import com.nepxion.discovery.common.entity.StrategyConditionEntity; 15 | 16 | public interface StrategyCondition { 17 | boolean isTriggered(StrategyConditionEntity strategyConditionEntity); 18 | 19 | boolean isTriggered(StrategyConditionEntity strategyConditionEntity, Map map); 20 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/loadbalance/WeightRandomLoadBalance.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.loadbalance; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.netflix.loadbalancer.Server; 15 | 16 | public interface WeightRandomLoadBalance { 17 | T getT(); 18 | 19 | int getWeight(Server server, T t); 20 | 21 | boolean checkWeight(List serverList, T t); 22 | 23 | Server choose(List serverList, T t); 24 | } -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter/src/main/java/com/nepxion/discovery/console/resource/VersionResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.console.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.ResultEntity; 15 | 16 | public interface VersionResource { 17 | List updateVersion(String serviceId, String version, boolean async); 18 | 19 | List clearVersion(String serviceId, String version, boolean async); 20 | 21 | List viewVersion(String serviceId); 22 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/monitor/ServiceStrategyMonitorAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | import org.aopalliance.intercept.MethodInvocation; 15 | 16 | public interface ServiceStrategyMonitorAdapter { 17 | Map getCustomizationMap(ServiceStrategyMonitorInterceptor interceptor, MethodInvocation invocation, Map parameterMap, Object returnValue); 18 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-admin/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # Spring cloud config 2 | spring.application.name=discovery-springcloud-example-admin 3 | server.port=9728 4 | 5 | # Eureka config for discovery 6 | eureka.instance.metadataMap.group=example-admin-group 7 | eureka.instance.metadataMap.version=1.0 8 | 9 | # Consul config for discovery 10 | spring.cloud.consul.discovery.tags=group=example-admin-group,version=1.0 11 | 12 | # Zookeeper config for discovery 13 | spring.cloud.zookeeper.discovery.metadata.group=example-admin-group 14 | spring.cloud.zookeeper.discovery.metadata.version=1.0 15 | 16 | # Nacos config for discovery 17 | spring.cloud.nacos.discovery.metadata.group=example-admin-group 18 | spring.cloud.nacos.discovery.metadata.version=1.0 -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/matcher/DiscoveryAntPathMatcherStrategy.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.matcher; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.util.AntPathMatcher; 13 | 14 | public class DiscoveryAntPathMatcherStrategy implements DiscoveryMatcherStrategy { 15 | private AntPathMatcher matcher = new AntPathMatcher(); 16 | 17 | @Override 18 | public boolean match(String pattern, String value) { 19 | return matcher.match(pattern, value); 20 | } 21 | } -------------------------------------------------------------------------------- /discovery-plugin-test/discovery-plugin-test-starter-automation/src/main/java/com/nepxion/discovery/plugin/test/automation/application/TestApplication.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.test.automation.application; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | 15 | @SpringBootApplication 16 | public class TestApplication { 17 | public static void main(String[] args) { 18 | new SpringApplicationBuilder(TestApplication.class).run(args); 19 | } 20 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/util/EnvironmentUtil.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.util; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.apache.commons.lang3.StringUtils; 13 | import org.springframework.core.env.ConfigurableEnvironment; 14 | import org.springframework.core.env.StandardEnvironment; 15 | 16 | public class EnvironmentUtil { 17 | public static boolean isStandardEnvironment(ConfigurableEnvironment environment) { 18 | return StringUtils.equals(environment.getClass().getName(), StandardEnvironment.class.getName()); 19 | } 20 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/test/java/com/nepxion/discovery/common/EscapeTest.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.EscapeType; 13 | 14 | public class EscapeTest { 15 | public static void main(String[] args) { 16 | String value = "#H['a'] == '1' && #H['b'] <= '2' && #H['c'] != '3'"; 17 | 18 | value = EscapeType.escape(value, true); 19 | System.out.println(value); 20 | 21 | value = EscapeType.escape(value, false); 22 | System.out.println(value); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter/src/main/java/com/nepxion/discovery/console/resource/InspectorResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.console.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | import java.util.Map; 14 | 15 | public interface InspectorResource { 16 | String inspect(String protocol, String portal, String path, List service, Map header, List filter); 17 | 18 | List> inspectToList(String protocol, String portal, String path, List service, Map header, List filter); 19 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/resources/sentinel.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "resource": "sentinel-resource", 4 | "controlBehavior": 0, 5 | "count": 1, 6 | "grade": 1, 7 | "limitApp": "default", 8 | "strategy": 0 9 | }, 10 | { 11 | "resource": "POST:http://discovery-springcloud-example-b/invoke", 12 | "controlBehavior": 0, 13 | "count": 1, 14 | "grade": 1, 15 | "limitApp": "default", 16 | "strategy": 0 17 | }, 18 | { 19 | "resource": "POST:http://discovery-springcloud-example-c/invoke", 20 | "controlBehavior": 0, 21 | "count": 1, 22 | "grade": 1, 23 | "limitApp": "default", 24 | "strategy": 0 25 | } 26 | ] -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter-apollo/src/main/java/com/nepxion/discovery/plugin/configcenter/apollo/adapter/ApolloApplicationInfoAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.configcenter.apollo.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.ctrip.framework.foundation.Foundation; 13 | import com.nepxion.discovery.plugin.framework.adapter.ApplicationInfoAdapter; 14 | 15 | public class ApolloApplicationInfoAdapter implements ApplicationInfoAdapter { 16 | @Override 17 | public String getAppId() { 18 | return Foundation.app().getAppId(); 19 | } 20 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/rest/AbstractRestImpl.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service.rest; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | 14 | import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter; 15 | 16 | public class AbstractRestImpl { 17 | @Autowired 18 | private PluginAdapter pluginAdapter; 19 | 20 | public String doRest(String value) { 21 | return pluginAdapter.getPluginInfo(value); 22 | } 23 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/sentinel/MyAFeignFallbackHandler.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service.sentinel; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.stereotype.Component; 13 | 14 | import com.nepxion.discovery.plugin.example.service.feign.AFeign; 15 | 16 | @Component 17 | public class MyAFeignFallbackHandler implements AFeign { 18 | @Override 19 | public String invoke(String value) { 20 | return value + " -> A Feign client sentinel fallback"; 21 | } 22 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/sentinel/MyBFeignFallbackHandler.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service.sentinel; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.stereotype.Component; 13 | 14 | import com.nepxion.discovery.plugin.example.service.feign.BFeign; 15 | 16 | @Component 17 | public class MyBFeignFallbackHandler implements BFeign { 18 | @Override 19 | public String invoke(String value) { 20 | return value + " -> B Feign client sentinel fallback"; 21 | } 22 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/sentinel/MyCFeignFallbackHandler.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service.sentinel; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.stereotype.Component; 13 | 14 | import com.nepxion.discovery.plugin.example.service.feign.CFeign; 15 | 16 | @Component 17 | public class MyCFeignFallbackHandler implements CFeign { 18 | @Override 19 | public String invoke(String value) { 20 | return value + " -> C Feign client sentinel fallback"; 21 | } 22 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/feign/AbstractFeignImpl.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service.feign; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | 14 | import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter; 15 | 16 | public class AbstractFeignImpl { 17 | @Autowired 18 | private PluginAdapter pluginAdapter; 19 | 20 | public String doInvoke(String value) { 21 | return pluginAdapter.getPluginInfo(value); 22 | } 23 | } -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter/src/main/java/com/nepxion/discovery/plugin/configcenter/loader/RemoteConfigLoader.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.configcenter.loader; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.beans.factory.DisposableBean; 13 | 14 | public abstract class RemoteConfigLoader implements ConfigLoader, DisposableBean { 15 | public abstract void subscribeConfig(); 16 | 17 | public abstract void unsubscribeConfig(); 18 | 19 | @Override 20 | public void destroy() throws Exception { 21 | unsubscribeConfig(); 22 | } 23 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/DiscoveryListener.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.listener.discovery; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import org.springframework.cloud.client.ServiceInstance; 15 | 16 | import com.nepxion.discovery.plugin.framework.listener.Listener; 17 | 18 | public interface DiscoveryListener extends Listener { 19 | void onGetInstances(String serviceId, List instances); 20 | 21 | void onGetServices(List services); 22 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/adapter/DefaultStrategyVersionFilterAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | public class DefaultStrategyVersionFilterAdapter implements StrategyVersionFilterAdapter { 15 | @Override 16 | public List filter(List versionList) { 17 | String version = versionList.get(0); 18 | versionList.clear(); 19 | versionList.add(version); 20 | 21 | return versionList; 22 | } 23 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/entity/RegisterEntity.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.entity; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class RegisterEntity extends FilterHolderEntity { 13 | private static final long serialVersionUID = -2097322826969006191L; 14 | 15 | private CountFilterEntity countFilterEntity; 16 | 17 | public CountFilterEntity getCountFilterEntity() { 18 | return countFilterEntity; 19 | } 20 | 21 | public void setCountFilterEntity(CountFilterEntity countFilterEntity) { 22 | this.countFilterEntity = countFilterEntity; 23 | } 24 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-zookeeper/src/main/java/com/nepxion/discovery/common/zookeeper/constant/ZookeeperConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.zookeeper.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author rotten 9 | * @version 1.0 10 | */ 11 | 12 | public class ZookeeperConstant { 13 | public static final String ZOOKEEPER_CONNECT_STRING = "zookeeper.connect-string"; 14 | public static final String ZOOKEEPER_RETRY_COUNT = "zookeeper.retry-count"; 15 | public static final String ZOOKEEPER_SLEEP_TIME = "zookeeper.sleep-time"; 16 | public static final int ZOOKEEPER_DEFAULT_RETRY_COUNT_VALUE = 3; 17 | public static final int ZOOKEEPER_DEFAULT_SLEEP_TIME_VALUE = 3000; 18 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-zuul/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # Spring cloud config 2 | spring.application.name=discovery-springcloud-example-zuul 3 | server.port=1400 4 | 5 | # Eureka config for discovery 6 | eureka.instance.metadataMap.group=example-service-group 7 | eureka.instance.metadataMap.version=1.0 8 | 9 | # Consul config for discovery 10 | spring.cloud.consul.discovery.tags=group=example-service-group,version=1.0 11 | 12 | # Zookeeper config for discovery 13 | spring.cloud.zookeeper.discovery.metadata.group=example-service-group 14 | spring.cloud.zookeeper.discovery.metadata.version=1.0 15 | 16 | # Nacos config for discovery 17 | spring.cloud.nacos.discovery.metadata.group=example-service-group 18 | spring.cloud.nacos.discovery.metadata.version=1.0 19 | 20 | # Management config 21 | management.server.port=5400 -------------------------------------------------------------------------------- /install.bat: -------------------------------------------------------------------------------- 1 | @echo on 2 | @echo ============================================================= 3 | @echo $ $ 4 | @echo $ Nepxion Discovery $ 5 | @echo $ $ 6 | @echo $ $ 7 | @echo $ $ 8 | @echo $ Nepxion Studio All Right Reserved $ 9 | @echo $ Copyright (C) 2017-2050 $ 10 | @echo $ $ 11 | @echo ============================================================= 12 | @echo. 13 | @echo off 14 | 15 | @title Nepxion Discovery 16 | @color 0a 17 | 18 | call mvn clean install -DskipTests 19 | 20 | pause -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-console/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # Spring cloud config 2 | spring.application.name=discovery-springcloud-example-console 3 | server.port=9628 4 | 5 | # Eureka config for discovery 6 | eureka.instance.metadataMap.group=example-console-group 7 | eureka.instance.metadataMap.version=1.0 8 | 9 | # Consul config for discovery 10 | spring.cloud.consul.discovery.tags=group=example-console-group,version=1.0 11 | 12 | # Zookeeper config for discovery 13 | spring.cloud.zookeeper.discovery.metadata.group=example-console-group 14 | spring.cloud.zookeeper.discovery.metadata.version=1.0 15 | 16 | # Nacos config for discovery 17 | spring.cloud.nacos.discovery.metadata.group=example-console-group 18 | spring.cloud.nacos.discovery.metadata.version=1.0 19 | 20 | # Management config 21 | management.server.port=9629 -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-gateway/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # Spring cloud config 2 | spring.application.name=discovery-springcloud-example-gateway 3 | server.port=1500 4 | 5 | # Eureka config for discovery 6 | eureka.instance.metadataMap.group=example-service-group 7 | eureka.instance.metadataMap.version=1.0 8 | 9 | # Consul config for discovery 10 | spring.cloud.consul.discovery.tags=group=example-service-group,version=1.0 11 | 12 | # Zookeeper config for discovery 13 | spring.cloud.zookeeper.discovery.metadata.group=example-service-group 14 | spring.cloud.zookeeper.discovery.metadata.version=1.0 15 | 16 | # Nacos config for discovery 17 | spring.cloud.nacos.discovery.metadata.group=example-service-group 18 | spring.cloud.nacos.discovery.metadata.version=1.0 19 | 20 | # Management config 21 | management.server.port=5500 -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-limiter/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/limiter/constant/SentinelStrategyLimiterConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.limiter.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Weihua Wang 9 | * @author Haojun Ren 10 | * @version 1.0 11 | */ 12 | 13 | public class SentinelStrategyLimiterConstant { 14 | public static final String SPRING_APPLICATION_STRATEGY_SENTINEL_LIMIT_APP_ENABLED = "spring.application.strategy.sentinel.limit.app.enabled"; 15 | public static final String SPRING_APPLICATION_STRATEGY_SENTINEL_REQUEST_ORIGIN_KEY = "spring.application.strategy.sentinel.request.origin.key"; 16 | } -------------------------------------------------------------------------------- /discovery-plugin-test/discovery-plugin-test-starter-automation/src/main/java/com/nepxion/discovery/plugin/test/automation/annotation/DTest.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.test.automation.annotation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.lang.annotation.Documented; 13 | import java.lang.annotation.ElementType; 14 | import java.lang.annotation.Inherited; 15 | import java.lang.annotation.Retention; 16 | import java.lang.annotation.RetentionPolicy; 17 | import java.lang.annotation.Target; 18 | 19 | @Target({ ElementType.METHOD, ElementType.TYPE }) 20 | @Retention(RetentionPolicy.RUNTIME) 21 | @Inherited 22 | @Documented 23 | public @interface DTest { 24 | 25 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-eureka/src/main/java/com/nepxion/discovery/eureka/example/EurekaApplication.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.eureka.example; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 15 | 16 | @SpringBootApplication 17 | @EnableEurekaServer 18 | public class EurekaApplication { 19 | public static void main(String[] args) { 20 | new SpringApplicationBuilder(EurekaApplication.class).run(args); 21 | } 22 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/RegisterListener.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.listener.register; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.cloud.client.serviceregistry.Registration; 13 | 14 | import com.nepxion.discovery.plugin.framework.listener.Listener; 15 | 16 | public interface RegisterListener extends Listener { 17 | void onRegister(Registration registration); 18 | 19 | void onDeregister(Registration registration); 20 | 21 | void onSetStatus(Registration registration, String status); 22 | 23 | void onClose(); 24 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/event/ZuulStrategyRouteDeletedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | public class ZuulStrategyRouteDeletedEvent implements Serializable { 15 | private static final long serialVersionUID = -819386359251658004L; 16 | 17 | private String routeId; 18 | 19 | public ZuulStrategyRouteDeletedEvent(String routeId) { 20 | this.routeId = routeId; 21 | } 22 | 23 | public String getRouteId() { 24 | return routeId; 25 | } 26 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-console/src/main/java/com/nepxion/discovery/console/example/ConsoleApplication.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.console.example; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 15 | 16 | @SpringBootApplication 17 | @EnableDiscoveryClient 18 | public class ConsoleApplication { 19 | public static void main(String[] args) { 20 | new SpringApplicationBuilder(ConsoleApplication.class).run(args); 21 | } 22 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/annotation/ServiceStrategy.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.annotation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.lang.annotation.Documented; 13 | import java.lang.annotation.ElementType; 14 | import java.lang.annotation.Inherited; 15 | import java.lang.annotation.Retention; 16 | import java.lang.annotation.RetentionPolicy; 17 | import java.lang.annotation.Target; 18 | 19 | @Target({ ElementType.TYPE }) 20 | @Retention(RetentionPolicy.RUNTIME) 21 | @Inherited 22 | @Documented 23 | public @interface ServiceStrategy { 24 | 25 | } -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter/src/main/java/com/nepxion/discovery/console/resource/FailoverResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.console.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.FailoverType; 13 | 14 | public interface FailoverResource { 15 | String createFailover(FailoverType failoverType, String group, String failoverValue); 16 | 17 | String clearFailover(FailoverType failoverType, String group); 18 | 19 | String createFailover(FailoverType failoverType, String group, String serviceId, String failoverValue); 20 | 21 | String clearFailover(FailoverType failoverType, String group, String serviceId); 22 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/event/GatewayStrategyRouteDeletedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | public class GatewayStrategyRouteDeletedEvent implements Serializable { 15 | private static final long serialVersionUID = 9073567694566348300L; 16 | 17 | private String routeId; 18 | 19 | public GatewayStrategyRouteDeletedEvent(String routeId) { 20 | this.routeId = routeId; 21 | } 22 | 23 | public String getRouteId() { 24 | return routeId; 25 | } 26 | } -------------------------------------------------------------------------------- /version.bat: -------------------------------------------------------------------------------- 1 | @echo on 2 | @echo ============================================================= 3 | @echo $ $ 4 | @echo $ Nepxion Discovery $ 5 | @echo $ $ 6 | @echo $ $ 7 | @echo $ $ 8 | @echo $ Nepxion Studio All Right Reserved $ 9 | @echo $ Copyright (C) 2017-2050 $ 10 | @echo $ $ 11 | @echo ============================================================= 12 | @echo. 13 | @echo off 14 | 15 | @title Nepxion Discovery 16 | @color 0a 17 | 18 | call mvn versions:set -DgenerateBackupPoms=false -DnewVersion=6.23.0 19 | pause -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/util/IOUtil.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.util; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.FileInputStream; 13 | import java.io.IOException; 14 | import java.io.InputStream; 15 | 16 | public class IOUtil { 17 | public static InputStream getInputStream(String path) throws IOException { 18 | // 从Resource路径获取 19 | InputStream inputStream = IOUtil.class.getClassLoader().getResourceAsStream(path); 20 | if (inputStream == null) { 21 | // 从文件路径获取 22 | inputStream = new FileInputStream(path); 23 | } 24 | 25 | return inputStream; 26 | } 27 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/annotation/ServiceMonitorIgnore.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.annotation; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.lang.annotation.Documented; 13 | import java.lang.annotation.ElementType; 14 | import java.lang.annotation.Inherited; 15 | import java.lang.annotation.Retention; 16 | import java.lang.annotation.RetentionPolicy; 17 | import java.lang.annotation.Target; 18 | 19 | @Target({ ElementType.METHOD, ElementType.TYPE }) 20 | @Retention(RetentionPolicy.RUNTIME) 21 | @Inherited 22 | @Documented 23 | public @interface ServiceMonitorIgnore { 24 | 25 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/thread/DiscoveryThreadPoolFactory.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.thread; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.concurrent.ArrayBlockingQueue; 13 | import java.util.concurrent.ExecutorService; 14 | import java.util.concurrent.ThreadPoolExecutor; 15 | import java.util.concurrent.TimeUnit; 16 | 17 | public class DiscoveryThreadPoolFactory { 18 | public static ExecutorService getExecutorService(String name) { 19 | return new ThreadPoolExecutor(2, 4, 0, TimeUnit.MILLISECONDS, new ArrayBlockingQueue(1), new DiscoveryNamedThreadFactory(name), new ThreadPoolExecutor.DiscardOldestPolicy()); 20 | } 21 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/RouterResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.RouterEntity; 15 | 16 | public interface RouterResource { 17 | RouterEntity getRouterEntity(); 18 | 19 | List getRouterEntityList(String routeServiceId); 20 | 21 | List getRouterEntityList(String routeServiceId, String routeProtocol, String routeHost, int routePort, String routeContextPath); 22 | 23 | RouterEntity routeTree(String routeServiceIds); 24 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common-nacos/src/main/java/com/nepxion/discovery/common/nacos/constant/NacosConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.nacos.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.alibaba.nacos.api.PropertyKeyConst; 13 | 14 | public class NacosConstant extends PropertyKeyConst { 15 | public static final String NACOS_PREFIX = "nacos"; 16 | public static final String NACOS_TIMEOUT = "nacos.timout"; 17 | 18 | public static final String SPRING_CLOUD_NACOS_CONFIG_PREFIX = "spring.cloud.nacos.config"; 19 | public static final String SPRING_CLOUD_NACOS_CONFIG_TIMEOUT = "spring.cloud.nacos.config.timout"; 20 | 21 | public static final long NACOS_DEFAULT_TIMEOUT = 30000; 22 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/exception/DiscoveryException.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.exception; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class DiscoveryException extends RuntimeException { 13 | private static final long serialVersionUID = 7975167663357170655L; 14 | 15 | public DiscoveryException() { 16 | super(); 17 | } 18 | 19 | public DiscoveryException(String message) { 20 | super(message); 21 | } 22 | 23 | public DiscoveryException(String message, Throwable cause) { 24 | super(message, cause); 25 | } 26 | 27 | public DiscoveryException(Throwable cause) { 28 | super(cause); 29 | } 30 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/RouterResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.RouterEntity; 15 | 16 | public interface RouterResource { 17 | RouterEntity getRouterEntity(); 18 | 19 | List getRouterEntityList(String routeServiceId); 20 | 21 | List getRouterEntityList(String routeServiceId, String routeProtocol, String routeHost, int routePort, String routeContextPath); 22 | 23 | RouterEntity routeTree(String routeServiceIds); 24 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-skywalking/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/skywalking/monitor/SentinelSkyWalkingInitFunc.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.skywalking.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author zhang shun 9 | * @version 1.0 10 | */ 11 | 12 | import com.alibaba.csp.sentinel.init.InitFunc; 13 | import com.alibaba.csp.sentinel.slots.statistic.StatisticSlotCallbackRegistry; 14 | 15 | public class SentinelSkyWalkingInitFunc implements InitFunc { 16 | @Override 17 | public void init() throws Exception { 18 | StatisticSlotCallbackRegistry.addEntryCallback(SentinelSkyWalkingProcessorSlotEntryCallback.class.getName(), new SentinelSkyWalkingProcessorSlotEntryCallback()); 19 | } 20 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/event/PluginPublisher.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | 14 | import com.nepxion.eventbus.core.EventControllerFactory; 15 | 16 | public class PluginPublisher { 17 | @Autowired 18 | private EventControllerFactory eventControllerFactory; 19 | 20 | public void asyncPublish(Object object) { 21 | eventControllerFactory.getAsyncController().post(object); 22 | } 23 | 24 | public void syncPublish(Object object) { 25 | eventControllerFactory.getSyncController().post(object); 26 | } 27 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-opentracing/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/opentracing/monitor/SentinelOpenTracingInitFunc.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.opentracing.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author zhang shun 9 | * @version 1.0 10 | */ 11 | 12 | import com.alibaba.csp.sentinel.init.InitFunc; 13 | import com.alibaba.csp.sentinel.slots.statistic.StatisticSlotCallbackRegistry; 14 | 15 | public class SentinelOpenTracingInitFunc implements InitFunc { 16 | @Override 17 | public void init() throws Exception { 18 | StatisticSlotCallbackRegistry.addEntryCallback(SentinelOpenTracingProcessorSlotEntryCallback.class.getName(), new SentinelOpenTracingProcessorSlotEntryCallback()); 19 | } 20 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/AbstractDiscoveryListener.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.listener.discovery; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.cloud.client.discovery.DiscoveryClient; 14 | 15 | import com.nepxion.discovery.plugin.framework.listener.BasicListener; 16 | 17 | public abstract class AbstractDiscoveryListener extends BasicListener implements DiscoveryListener { 18 | @Autowired 19 | protected DiscoveryClient discoveryClient; 20 | 21 | public DiscoveryClient getDiscoveryClient() { 22 | return discoveryClient; 23 | } 24 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-admin/src/main/java/com/nepxion/discovery/admin/example/AdminApplication.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.admin.example; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import de.codecentric.boot.admin.server.config.EnableAdminServer; 13 | 14 | import org.springframework.boot.autoconfigure.SpringBootApplication; 15 | import org.springframework.boot.builder.SpringApplicationBuilder; 16 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 17 | 18 | @SpringBootApplication 19 | @EnableDiscoveryClient 20 | @EnableAdminServer 21 | public class AdminApplication { 22 | public static void main(String[] args) { 23 | new SpringApplicationBuilder(AdminApplication.class).run(args); 24 | } 25 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-opentelemetry/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/opentelemetry/monitor/SentinelOpenTelemetryInitFunc.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.opentelemetry.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.alibaba.csp.sentinel.init.InitFunc; 13 | import com.alibaba.csp.sentinel.slots.statistic.StatisticSlotCallbackRegistry; 14 | 15 | public class SentinelOpenTelemetryInitFunc implements InitFunc { 16 | @Override 17 | public void init() throws Exception { 18 | StatisticSlotCallbackRegistry.addEntryCallback(SentinelOpenTelemetryProcessorSlotEntryCallback.class.getName(), new SentinelOpenTelemetryProcessorSlotEntryCallback()); 19 | } 20 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/AbstractRegisterListener.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.listener.register; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.cloud.client.serviceregistry.ServiceRegistry; 14 | 15 | import com.nepxion.discovery.plugin.framework.listener.BasicListener; 16 | 17 | public abstract class AbstractRegisterListener extends BasicListener implements RegisterListener { 18 | @Autowired 19 | protected ServiceRegistry serviceRegistry; 20 | 21 | public ServiceRegistry getServiceRegistry() { 22 | return serviceRegistry; 23 | } 24 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/sentinel/MySentinelFlowRuleParser.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service.sentinel; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.alibaba.csp.sentinel.datasource.Converter; 15 | import com.alibaba.csp.sentinel.slots.block.flow.FlowRule; 16 | import com.alibaba.fastjson.JSON; 17 | import com.alibaba.fastjson.TypeReference; 18 | 19 | public class MySentinelFlowRuleParser implements Converter> { 20 | @Override 21 | public List convert(String source) { 22 | return JSON.parseObject(source, new TypeReference>() { 23 | }); 24 | } 25 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/GitResourceImpl.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | import org.springframework.beans.factory.annotation.Autowired; 15 | 16 | import com.nepxion.discovery.plugin.framework.generator.GitGenerator; 17 | 18 | public class GitResourceImpl implements GitResource { 19 | @Autowired 20 | private GitGenerator gitGenerator; 21 | 22 | @Override 23 | public Map map() { 24 | return gitGenerator.getMap(); 25 | } 26 | 27 | @Override 28 | public String text() { 29 | return gitGenerator.getText(); 30 | } 31 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/event/RuleClearedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | import com.nepxion.discovery.common.entity.SubscriptionType; 15 | 16 | public class RuleClearedEvent implements Serializable { 17 | private static final long serialVersionUID = -4942710381954711909L; 18 | 19 | private SubscriptionType subscriptionType; 20 | 21 | public RuleClearedEvent(SubscriptionType subscriptionType) { 22 | this.subscriptionType = subscriptionType; 23 | } 24 | 25 | public SubscriptionType getSubscriptionType() { 26 | return subscriptionType; 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/GitResourceImpl.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.Map; 13 | 14 | import org.springframework.beans.factory.annotation.Autowired; 15 | 16 | import com.nepxion.discovery.plugin.framework.generator.GitGenerator; 17 | 18 | public class GitResourceImpl implements GitResource { 19 | @Autowired 20 | private GitGenerator gitGenerator; 21 | 22 | @Override 23 | public Map map() { 24 | return gitGenerator.getMap(); 25 | } 26 | 27 | @Override 28 | public String text() { 29 | return gitGenerator.getText(); 30 | } 31 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/event/ParameterChangedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | import com.nepxion.discovery.common.entity.ParameterEntity; 15 | 16 | public class ParameterChangedEvent implements Serializable { 17 | private static final long serialVersionUID = 7843872188960155327L; 18 | 19 | private ParameterEntity parameterEntity; 20 | 21 | public ParameterChangedEvent(ParameterEntity parameterEntity) { 22 | this.parameterEntity = parameterEntity; 23 | } 24 | 25 | public ParameterEntity getParameterEntity() { 26 | return parameterEntity; 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/monitor/ServiceStrategyMonitor.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.aopalliance.intercept.MethodInvocation; 13 | 14 | public interface ServiceStrategyMonitor { 15 | void monitor(ServiceStrategyMonitorInterceptor interceptor, MethodInvocation invocation); 16 | 17 | void monitor(ServiceStrategyMonitorInterceptor interceptor, MethodInvocation invocation, Object returnValue); 18 | 19 | void error(ServiceStrategyMonitorInterceptor interceptor, MethodInvocation invocation, Throwable e); 20 | 21 | void release(ServiceStrategyMonitorInterceptor interceptor, MethodInvocation invocation); 22 | } -------------------------------------------------------------------------------- /discovery-plugin-test/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | discovery-plugin-test 5 | Nepxion Discovery Plugin Test 6 | pom 7 | 4.0.0 8 | Nepxion Discovery is a solution for Spring Cloud with blue green, gray, weight, limitation, circuit breaker, degrade, isolation, monitor, tracing, dye, failover, async agent 9 | http://www.nepxion.com 10 | 11 | 12 | com.nepxion 13 | discovery 14 | 6.23.0 15 | 16 | 17 | 18 | discovery-plugin-test-starter-automation 19 | 20 | -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-datasource/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/datasource/parser/SentinelStrategyFlowRuleParser.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.datasource.parser; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.alibaba.csp.sentinel.datasource.Converter; 15 | import com.alibaba.csp.sentinel.slots.block.flow.FlowRule; 16 | import com.alibaba.fastjson.JSON; 17 | import com.alibaba.fastjson.TypeReference; 18 | 19 | public class SentinelStrategyFlowRuleParser implements Converter> { 20 | @Override 21 | public List convert(String source) { 22 | return JSON.parseObject(source, new TypeReference>() { 23 | }); 24 | } 25 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-gateway/src/main/resources/dynamic-route-customization.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "route0", 4 | "uri": "lb://discovery-springcloud-example-a", 5 | "predicates": [ 6 | "Path=/discovery-springcloud-example-a/**,/x/**,/y/**" 7 | ], 8 | "filters": [ 9 | "StripPrefix=1" 10 | ], 11 | "userPredicates": [], 12 | "userFilters": [ 13 | { 14 | "name": "Authentication", 15 | "args": { 16 | "secretKey": "abc", 17 | "whiteList.0": "* swagger-ui.html", 18 | "whiteList.1": "* /swagger-resources/**", 19 | "whiteList.2": "* /doc.html", 20 | "userMap.name": "jason", 21 | "userMap.age": "20", 22 | "authInfoCarryStrategy": "AuthWriteToHeader" 23 | } 24 | } 25 | ] 26 | } 27 | ] -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/util/MathsUtil.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.util; 2 | 3 | /** 4 | *

Title: Nepxion Aquarius

5 | *

Description: Nepxion Aquarius

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.apache.commons.lang3.StringUtils; 13 | 14 | public class MathsUtil { 15 | private static final char ASTERISK = '*'; 16 | 17 | public static Long calculate(String value) { 18 | if (StringUtils.isEmpty(value)) { 19 | return null; 20 | } 21 | 22 | long result = 1; 23 | try { 24 | String[] array = StringUtils.split(value, ASTERISK); 25 | for (String data : array) { 26 | result *= Long.parseLong(data.trim()); 27 | } 28 | } catch (Exception e) { 29 | return null; 30 | } 31 | 32 | return result; 33 | } 34 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-datasource/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/datasource/parser/SentinelStrategySystemRuleParser.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.datasource.parser; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.alibaba.csp.sentinel.datasource.Converter; 15 | import com.alibaba.csp.sentinel.slots.system.SystemRule; 16 | import com.alibaba.fastjson.JSON; 17 | import com.alibaba.fastjson.TypeReference; 18 | 19 | public class SentinelStrategySystemRuleParser implements Converter> { 20 | @Override 21 | public List convert(String source) { 22 | return JSON.parseObject(source, new TypeReference>() { 23 | }); 24 | } 25 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/loadbalance/weight/MapWeightRandomProcessor.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.loadbalance.weight; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import org.apache.commons.collections4.CollectionUtils; 15 | import org.apache.commons.lang3.tuple.Pair; 16 | 17 | public class MapWeightRandomProcessor implements WeightRandomProcessor { 18 | @Override 19 | public T random(List> weightList) { 20 | if (CollectionUtils.isEmpty(weightList)) { 21 | return null; 22 | } 23 | 24 | MapWeightRandom weightRandom = new MapWeightRandom(weightList); 25 | 26 | return weightRandom.random(); 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-micrometer/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/micrometer/monitor/configuration/SentinelMicrometerAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.micrometer.monitor.configuration; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Tank 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.context.annotation.Bean; 13 | import org.springframework.context.annotation.Configuration; 14 | 15 | import com.nepxion.discovery.plugin.strategy.sentinel.micrometer.monitor.metric.SentinelMicrometerMetricInitializer; 16 | 17 | @Configuration 18 | public class SentinelMicrometerAutoConfiguration { 19 | @Bean 20 | public SentinelMicrometerMetricInitializer sentinelMicrometerMetricInitializer() { 21 | return new SentinelMicrometerMetricInitializer(); 22 | } 23 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/loadbalance/weight/ArrayWeightRandomProcessor.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.loadbalance.weight; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import org.apache.commons.collections4.CollectionUtils; 15 | import org.apache.commons.lang3.tuple.Pair; 16 | 17 | public class ArrayWeightRandomProcessor implements WeightRandomProcessor { 18 | @Override 19 | public T random(List> weightList) { 20 | if (CollectionUtils.isEmpty(weightList)) { 21 | return null; 22 | } 23 | 24 | ArrayWeightRandom weightRandom = new ArrayWeightRandom(weightList); 25 | 26 | return weightRandom.random(); 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-datasource/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/datasource/parser/SentinelStrategyDegradeRuleParser.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.datasource.parser; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.alibaba.csp.sentinel.datasource.Converter; 15 | import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRule; 16 | import com.alibaba.fastjson.JSON; 17 | import com.alibaba.fastjson.TypeReference; 18 | 19 | public class SentinelStrategyDegradeRuleParser implements Converter> { 20 | @Override 21 | public List convert(String source) { 22 | return JSON.parseObject(source, new TypeReference>() { 23 | }); 24 | } 25 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-datasource/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/datasource/parser/SentinelStrategyAuthorityRuleParser.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.datasource.parser; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.alibaba.csp.sentinel.datasource.Converter; 15 | import com.alibaba.csp.sentinel.slots.block.authority.AuthorityRule; 16 | import com.alibaba.fastjson.JSON; 17 | import com.alibaba.fastjson.TypeReference; 18 | 19 | public class SentinelStrategyAuthorityRuleParser implements Converter> { 20 | @Override 21 | public List convert(String source) { 22 | return JSON.parseObject(source, new TypeReference>() { 23 | }); 24 | } 25 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/util/FormatUtil.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.util; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.FormatType; 13 | 14 | public class FormatUtil { 15 | public static FormatType getFormatType(String content) { 16 | if (XmlUtil.isXmlFormat(content)) { 17 | return FormatType.XML_FORMAT; 18 | } else if (JsonUtil.isJsonFormat(content)) { 19 | return FormatType.JSON_FORMAT; 20 | /*} else if (YamlUtil.isYamlFormat(content)) { 21 | return FormatType.YAML_FORMAT; 22 | } else if (PropertiesUtil.isPropertiesFormat(content)) { 23 | return FormatType.PROPERTIES_FORMAT;*/ 24 | } else { 25 | return FormatType.TEXT_FORMAT; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-sentinel-datasource/src/main/java/com/nepxion/discovery/plugin/strategy/sentinel/datasource/parser/SentinelStrategyParamFlowRuleParser.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.sentinel.datasource.parser; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.alibaba.csp.sentinel.datasource.Converter; 15 | import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowRule; 16 | import com.alibaba.fastjson.JSON; 17 | import com.alibaba.fastjson.TypeReference; 18 | 19 | public class SentinelStrategyParamFlowRuleParser implements Converter> { 20 | @Override 21 | public List convert(String source) { 22 | return JSON.parseObject(source, new TypeReference>() { 23 | }); 24 | } 25 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/decorator/ServiceStrategyRequestDecoratorFactory.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.service.decorator; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author liquanjin 9 | * @version 1.0 10 | */ 11 | 12 | import javax.servlet.http.HttpServletRequest; 13 | 14 | import org.springframework.web.context.request.RequestAttributes; 15 | import org.springframework.web.context.request.ServletRequestAttributes; 16 | 17 | public class ServiceStrategyRequestDecoratorFactory { 18 | public static RequestAttributes decorateRequestAttributes(RequestAttributes requestAttributes) { 19 | HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest(); 20 | 21 | return new ServletRequestAttributes(new ServiceStrategyRequestDecorator(request)); 22 | } 23 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/ZuulStrategyRouteResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.ZuulStrategyRouteEntity; 15 | 16 | public interface ZuulStrategyRouteResource { 17 | void add(ZuulStrategyRouteEntity zuulStrategyRouteEntity); 18 | 19 | void modify(ZuulStrategyRouteEntity zuulStrategyRouteEntity); 20 | 21 | void delete(String routeId); 22 | 23 | void updateAll(List zuulStrategyRouteEntityList); 24 | 25 | void updateAll(String zuulStrategyRouteConfig); 26 | 27 | ZuulStrategyRouteEntity view(String routeId); 28 | 29 | List viewAll(); 30 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/DiscoveryApplicationA2.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 15 | import org.springframework.cloud.openfeign.EnableFeignClients; 16 | 17 | @SpringBootApplication 18 | @EnableDiscoveryClient 19 | @EnableFeignClients 20 | public class DiscoveryApplicationA2 { 21 | public static void main(String[] args) { 22 | System.setProperty("spring.profiles.active", "a2"); 23 | 24 | new SpringApplicationBuilder(DiscoveryApplicationA2.class).run(args); 25 | } 26 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/DiscoveryApplicationB1.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 15 | import org.springframework.cloud.openfeign.EnableFeignClients; 16 | 17 | @SpringBootApplication 18 | @EnableDiscoveryClient 19 | @EnableFeignClients 20 | public class DiscoveryApplicationB1 { 21 | public static void main(String[] args) { 22 | System.setProperty("spring.profiles.active", "b1"); 23 | 24 | new SpringApplicationBuilder(DiscoveryApplicationB1.class).run(args); 25 | } 26 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/DiscoveryApplicationB2.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 15 | import org.springframework.cloud.openfeign.EnableFeignClients; 16 | 17 | @SpringBootApplication 18 | @EnableDiscoveryClient 19 | @EnableFeignClients 20 | public class DiscoveryApplicationB2 { 21 | public static void main(String[] args) { 22 | System.setProperty("spring.profiles.active", "b2"); 23 | 24 | new SpringApplicationBuilder(DiscoveryApplicationB2.class).run(args); 25 | } 26 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/DiscoveryApplicationC1.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 15 | import org.springframework.cloud.openfeign.EnableFeignClients; 16 | 17 | @SpringBootApplication 18 | @EnableDiscoveryClient 19 | @EnableFeignClients 20 | public class DiscoveryApplicationC1 { 21 | public static void main(String[] args) { 22 | System.setProperty("spring.profiles.active", "c1"); 23 | 24 | new SpringApplicationBuilder(DiscoveryApplicationC1.class).run(args); 25 | } 26 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/DiscoveryApplicationC2.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 15 | import org.springframework.cloud.openfeign.EnableFeignClients; 16 | 17 | @SpringBootApplication 18 | @EnableDiscoveryClient 19 | @EnableFeignClients 20 | public class DiscoveryApplicationC2 { 21 | public static void main(String[] args) { 22 | System.setProperty("spring.profiles.active", "c2"); 23 | 24 | new SpringApplicationBuilder(DiscoveryApplicationC2.class).run(args); 25 | } 26 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/DiscoveryApplicationC3.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.boot.autoconfigure.SpringBootApplication; 13 | import org.springframework.boot.builder.SpringApplicationBuilder; 14 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 15 | import org.springframework.cloud.openfeign.EnableFeignClients; 16 | 17 | @SpringBootApplication 18 | @EnableDiscoveryClient 19 | @EnableFeignClients 20 | public class DiscoveryApplicationC3 { 21 | public static void main(String[] args) { 22 | System.setProperty("spring.profiles.active", "c3"); 23 | 24 | new SpringApplicationBuilder(DiscoveryApplicationC3.class).run(args); 25 | } 26 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/route/ZuulStrategyRoute.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.route; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Ning Zhang 9 | * @author Haojun Ren 10 | * @version 1.0 11 | */ 12 | 13 | import java.util.List; 14 | 15 | import com.nepxion.discovery.common.entity.ZuulStrategyRouteEntity; 16 | 17 | public interface ZuulStrategyRoute { 18 | void add(ZuulStrategyRouteEntity zuulStrategyRouteEntity); 19 | 20 | void modify(ZuulStrategyRouteEntity zuulStrategyRouteEntity); 21 | 22 | void delete(String routeId); 23 | 24 | void updateAll(List zuulStrategyRouteEntityList); 25 | 26 | void updateAll(String zuulStrategyRouteConfig); 27 | 28 | ZuulStrategyRouteEntity view(String routeId); 29 | 30 | List viewAll(); 31 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-zuul/src/main/resources/dynamic-route-complete.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "route0", 4 | "serviceId": "discovery-springcloud-example-a", 5 | "path": "/discovery-springcloud-example-a/**", 6 | "url": null, 7 | "stripPrefix": true, 8 | "retryable": null, 9 | "sensitiveHeaders": [], 10 | "customSensitiveHeaders": false 11 | }, 12 | { 13 | "id": "route1", 14 | "serviceId": "discovery-springcloud-example-a", 15 | "path": "/x/**", 16 | "url": null, 17 | "stripPrefix": true, 18 | "retryable": null, 19 | "sensitiveHeaders": [], 20 | "customSensitiveHeaders": false 21 | }, 22 | { 23 | "id": "route2", 24 | "serviceId": "discovery-springcloud-example-a", 25 | "path": "/y/**", 26 | "url": null, 27 | "stripPrefix": true, 28 | "retryable": null, 29 | "sensitiveHeaders": [], 30 | "customSensitiveHeaders": false 31 | } 32 | ] -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/ZuulStrategyRouteResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.ZuulStrategyRouteEntity; 15 | 16 | public interface ZuulStrategyRouteResource { 17 | void add(ZuulStrategyRouteEntity zuulStrategyRouteEntity); 18 | 19 | void modify(ZuulStrategyRouteEntity zuulStrategyRouteEntity); 20 | 21 | void delete(String routeId); 22 | 23 | void updateAll(List zuulStrategyRouteEntityList); 24 | 25 | void updateAll(String zuulStrategyRouteConfig); 26 | 27 | ZuulStrategyRouteEntity view(String routeId); 28 | 29 | List viewAll(); 30 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/monitor/DefaultZuulStrategyMonitor.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.plugin.strategy.monitor.StrategyMonitor; 13 | import com.netflix.zuul.context.RequestContext; 14 | 15 | public class DefaultZuulStrategyMonitor extends StrategyMonitor implements ZuulStrategyMonitor { 16 | @Override 17 | public void monitor(RequestContext context) { 18 | spanBuild(); 19 | 20 | loggerOutput(); 21 | loggerDebug(); 22 | 23 | alarm(null); 24 | 25 | spanOutput(null); 26 | } 27 | 28 | @Override 29 | public void release(RequestContext context) { 30 | loggerClear(); 31 | 32 | spanFinish(); 33 | } 34 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/event/StrategyAlarmEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | import java.util.Map; 14 | 15 | public class StrategyAlarmEvent implements Serializable { 16 | private static final long serialVersionUID = 5966845230262521754L; 17 | 18 | private String alarmType; 19 | private Map alarmMap; 20 | 21 | public StrategyAlarmEvent(String alarmType, Map alarmMap) { 22 | this.alarmType = alarmType; 23 | this.alarmMap = alarmMap; 24 | } 25 | 26 | public String getAlarmType() { 27 | return alarmType; 28 | } 29 | 30 | public Map getAlarmMap() { 31 | return alarmMap; 32 | } 33 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/event/VersionClearedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | import org.apache.commons.lang3.StringUtils; 15 | 16 | public class VersionClearedEvent implements Serializable { 17 | private static final long serialVersionUID = 5079797986381461496L; 18 | 19 | private String localVersion; 20 | 21 | public VersionClearedEvent() { 22 | this(null); 23 | } 24 | 25 | public VersionClearedEvent(String localVersion) { 26 | if (StringUtils.isNotEmpty(localVersion)) { 27 | this.localVersion = localVersion.trim(); 28 | } 29 | } 30 | 31 | public String getLocalVersion() { 32 | return localVersion; 33 | } 34 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | discovery-plugin-framework 5 | Nepxion Discovery Plugin Framework 6 | pom 7 | 4.0.0 8 | Nepxion Discovery is a solution for Spring Cloud with blue green, gray, weight, limitation, circuit breaker, degrade, isolation, monitor, tracing, dye, failover, async agent 9 | http://www.nepxion.com 10 | 11 | 12 | com.nepxion 13 | discovery 14 | 6.23.0 15 | 16 | 17 | 18 | discovery-plugin-framework-starter 19 | discovery-plugin-framework-starter-parser 20 | 21 | -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/future/DiscoveryFutureResolver.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.future; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.concurrent.Callable; 13 | import java.util.concurrent.ExecutionException; 14 | import java.util.concurrent.ExecutorService; 15 | import java.util.concurrent.Future; 16 | 17 | public class DiscoveryFutureResolver { 18 | public static T call(ExecutorService executorService, DiscoveryFutureCallback discoveryFutureCallback) throws InterruptedException, ExecutionException { 19 | Future future = executorService.submit(new Callable() { 20 | @Override 21 | public T call() throws Exception { 22 | return discoveryFutureCallback.callback(); 23 | } 24 | }); 25 | 26 | return future.get(); 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/route/GatewayStrategyRoute.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.route; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Ning Zhang 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.GatewayStrategyRouteEntity; 15 | 16 | public interface GatewayStrategyRoute { 17 | void add(GatewayStrategyRouteEntity gatewayStrategyRouteEntity); 18 | 19 | void modify(GatewayStrategyRouteEntity gatewayStrategyRouteEntity); 20 | 21 | void delete(String routeId); 22 | 23 | void updateAll(List gatewayStrategyRouteEntityList); 24 | 25 | void updateAll(String gatewayStrategyRouteConfig); 26 | 27 | GatewayStrategyRouteEntity view(String routeId); 28 | 29 | List viewAll(); 30 | } -------------------------------------------------------------------------------- /discovery-console/discovery-console-starter/src/main/java/com/nepxion/discovery/console/adapter/ConfigAdapter.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.console.adapter; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import com.nepxion.discovery.common.entity.ConfigType; 13 | import com.nepxion.discovery.common.entity.FormatType; 14 | 15 | public interface ConfigAdapter { 16 | boolean updateConfig(String group, String serviceId, String config) throws Exception; 17 | 18 | // 除了Nacos,其它配置中心不需要FormatType 19 | default boolean updateConfig(String group, String serviceId, String config, FormatType formatType) throws Exception { 20 | return updateConfig(group, serviceId, config); 21 | } 22 | 23 | boolean clearConfig(String group, String serviceId) throws Exception; 24 | 25 | String getConfig(String group, String serviceId) throws Exception; 26 | 27 | ConfigType getConfigType(); 28 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/event/ZuulStrategyRouteAddedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | import com.nepxion.discovery.common.entity.ZuulStrategyRouteEntity; 15 | 16 | public class ZuulStrategyRouteAddedEvent implements Serializable { 17 | private static final long serialVersionUID = 7279933450263031027L; 18 | 19 | private ZuulStrategyRouteEntity zuulStrategyRouteEntity; 20 | 21 | public ZuulStrategyRouteAddedEvent(ZuulStrategyRouteEntity zuulStrategyRouteEntity) { 22 | this.zuulStrategyRouteEntity = zuulStrategyRouteEntity; 23 | } 24 | 25 | public ZuulStrategyRouteEntity getZuulStrategyRouteEntity() { 26 | return zuulStrategyRouteEntity; 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-plugin-test/discovery-plugin-test-starter-automation/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": [ 3 | { 4 | "name": "spring.application.test.scan.packages", 5 | "type": "java.lang.String", 6 | "description": "Test scan packages." 7 | }, 8 | { 9 | "name": "spring.application.test.configcenter.enabled", 10 | "type": "java.lang.Boolean", 11 | "defaultValue": true, 12 | "description": "Whether test configcenter is enabled." 13 | }, 14 | { 15 | "name": "spring.application.test.config.print.enabled", 16 | "type": "java.lang.Boolean", 17 | "defaultValue": true, 18 | "description": "Whether test config print is enabled." 19 | }, 20 | { 21 | "name": "spring.application.test.config.operation.await.time", 22 | "type": "java.lang.Integer", 23 | "defaultValue": 3000, 24 | "description": "Test config operation await time." 25 | }, 26 | { 27 | "name": "spring.application.test.console.url", 28 | "type": "java.lang.String", 29 | "description": "Test console url." 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/GatewayStrategyRouteResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.GatewayStrategyRouteEntity; 15 | 16 | public interface GatewayStrategyRouteResource { 17 | void add(GatewayStrategyRouteEntity gatewayStrategyRouteEntity); 18 | 19 | void modify(GatewayStrategyRouteEntity gatewayStrategyRouteEntity); 20 | 21 | void delete(String routeId); 22 | 23 | void updateAll(List gatewayStrategyRouteEntityList); 24 | 25 | void updateAll(String gatewayStrategyRouteConfig); 26 | 27 | GatewayStrategyRouteEntity view(String routeId); 28 | 29 | List viewAll(); 30 | } -------------------------------------------------------------------------------- /discovery-plugin-admin-center/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | discovery-plugin-admin-center 5 | Nepxion Discovery Plugin Admin Center 6 | pom 7 | 4.0.0 8 | Nepxion Discovery is a solution for Spring Cloud with blue green, gray, weight, limitation, circuit breaker, degrade, isolation, monitor, tracing, dye, failover, async agent 9 | http://www.nepxion.com 10 | 11 | 12 | com.nepxion 13 | discovery 14 | 6.23.0 15 | 16 | 17 | 18 | discovery-plugin-admin-center-starter 19 | discovery-plugin-admin-center-starter-swagger 20 | 21 | -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-zuul/src/main/java/com/nepxion/discovery/plugin/strategy/zuul/event/ZuulStrategyRouteModifiedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.zuul.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | import com.nepxion.discovery.common.entity.ZuulStrategyRouteEntity; 15 | 16 | public class ZuulStrategyRouteModifiedEvent implements Serializable { 17 | private static final long serialVersionUID = 3805426536724590753L; 18 | 19 | private ZuulStrategyRouteEntity zuulStrategyRouteEntity; 20 | 21 | public ZuulStrategyRouteModifiedEvent(ZuulStrategyRouteEntity zuulStrategyRouteEntity) { 22 | this.zuulStrategyRouteEntity = zuulStrategyRouteEntity; 23 | } 24 | 25 | public ZuulStrategyRouteEntity getZuulStrategyRouteEntity() { 26 | return zuulStrategyRouteEntity; 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-admin/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- 1 | # Spring cloud config 2 | 3 | # Eureka config for discovery 4 | eureka.client.serviceUrl.defaultZone=http://localhost:9528/eureka/ 5 | eureka.instance.preferIpAddress=true 6 | 7 | # Consul config for discovery 8 | spring.cloud.consul.host=localhost 9 | spring.cloud.consul.port=8500 10 | spring.cloud.consul.discovery.preferIpAddress=true 11 | 12 | # Zookeeper config for discovery 13 | spring.cloud.zookeeper.connectString=localhost:2181 14 | spring.cloud.zookeeper.discovery.instancePort=${server.port} 15 | spring.cloud.zookeeper.discovery.root=/spring-cloud 16 | spring.cloud.zookeeper.discovery.preferIpAddress=true 17 | 18 | # Nacos config for discovery 19 | spring.cloud.nacos.discovery.server-addr=localhost:8848 20 | # spring.cloud.nacos.discovery.namespace=discovery 21 | 22 | # Ribbon config 23 | ribbon.ServerListRefreshInterval=5000 24 | ribbon.ConnectTimeout=60000 25 | ribbon.ReadTimeout=60000 26 | ribbon.maxAutoRetries=3 27 | ribbon.maxAutoRetriesNextServer=3 28 | ribbon.okToRetryOnAllOperations=true -------------------------------------------------------------------------------- /discovery-plugin-admin-center/discovery-plugin-admin-center-starter-swagger/src/main/java/com/nepxion/discovery/plugin/admincenter/resource/GatewayStrategyRouteResource.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.admincenter.resource; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.util.List; 13 | 14 | import com.nepxion.discovery.common.entity.GatewayStrategyRouteEntity; 15 | 16 | public interface GatewayStrategyRouteResource { 17 | void add(GatewayStrategyRouteEntity gatewayStrategyRouteEntity); 18 | 19 | void modify(GatewayStrategyRouteEntity gatewayStrategyRouteEntity); 20 | 21 | void delete(String routeId); 22 | 23 | void updateAll(List gatewayStrategyRouteEntityList); 24 | 25 | void updateAll(String gatewayStrategyRouteConfig); 26 | 27 | GatewayStrategyRouteEntity view(String routeId); 28 | 29 | List viewAll(); 30 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/monitor/DefaultGatewayStrategyMonitor.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.web.server.ServerWebExchange; 13 | 14 | import com.nepxion.discovery.plugin.strategy.monitor.StrategyMonitor; 15 | 16 | public class DefaultGatewayStrategyMonitor extends StrategyMonitor implements GatewayStrategyMonitor { 17 | @Override 18 | public void monitor(ServerWebExchange exchange) { 19 | spanBuild(); 20 | 21 | loggerOutput(); 22 | loggerDebug(); 23 | 24 | alarm(null); 25 | 26 | spanOutput(null); 27 | } 28 | 29 | @Override 30 | public void release(ServerWebExchange exchange) { 31 | loggerClear(); 32 | 33 | spanFinish(); 34 | } 35 | } -------------------------------------------------------------------------------- /discovery-plugin-config-center/discovery-plugin-config-center-starter/src/main/java/com/nepxion/discovery/plugin/configcenter/loader/LocalConfigLoader.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.configcenter.loader; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.context.ApplicationContext; 14 | 15 | import com.nepxion.discovery.common.util.FileUtil; 16 | 17 | public abstract class LocalConfigLoader implements ConfigLoader { 18 | @Autowired 19 | private ApplicationContext applicationContext; 20 | 21 | @Override 22 | public String[] getConfigList() throws Exception { 23 | String path = getPath(); 24 | 25 | String[] config = new String[1]; 26 | config[0] = FileUtil.getText(applicationContext, path); 27 | 28 | return config; 29 | } 30 | 31 | protected abstract String getPath(); 32 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/util/UrlUtil.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.util; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.apache.commons.lang3.StringUtils; 13 | 14 | public class UrlUtil { 15 | public static String formatUrl(String url) { 16 | if (!url.endsWith("/")) { 17 | url = url + "/"; 18 | } 19 | 20 | return url; 21 | } 22 | 23 | public static String formatContextPath(String contextPath) { 24 | if (StringUtils.isEmpty(contextPath)) { 25 | return "/"; 26 | } else { 27 | if (!contextPath.startsWith("/")) { 28 | contextPath = "/" + contextPath; 29 | } 30 | if (!contextPath.endsWith("/")) { 31 | contextPath = contextPath + "/"; 32 | } 33 | } 34 | 35 | return contextPath; 36 | } 37 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/sentinel/MyRestTemplateBlockHandler.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service.sentinel; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.http.HttpRequest; 13 | import org.springframework.http.client.ClientHttpRequestExecution; 14 | 15 | import com.alibaba.cloud.sentinel.rest.SentinelClientHttpResponse; 16 | import com.alibaba.csp.sentinel.slots.block.BlockException; 17 | 18 | public class MyRestTemplateBlockHandler { 19 | public static SentinelClientHttpResponse handleBlock(HttpRequest request, byte[] body, ClientHttpRequestExecution execution, BlockException e) { 20 | return new SentinelClientHttpResponse("RestTemplate client sentinel block, cause=" + e.getClass().getName() + ", rule=" + e.getRule() + ", limitApp=" + e.getRuleLimitApp()); 21 | } 22 | } -------------------------------------------------------------------------------- /discovery-plugin-framework/discovery-plugin-framework-starter/src/main/java/com/nepxion/discovery/plugin/framework/event/RuleUpdatedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.framework.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | import com.nepxion.discovery.common.entity.SubscriptionType; 15 | 16 | public class RuleUpdatedEvent implements Serializable { 17 | private static final long serialVersionUID = 2315578803987663866L; 18 | 19 | private SubscriptionType subscriptionType; 20 | private String rule; 21 | 22 | public RuleUpdatedEvent(SubscriptionType subscriptionType, String rule) { 23 | this.subscriptionType = subscriptionType; 24 | this.rule = rule; 25 | } 26 | 27 | public SubscriptionType getSubscriptionType() { 28 | return subscriptionType; 29 | } 30 | 31 | public String getRule() { 32 | return rule; 33 | } 34 | } -------------------------------------------------------------------------------- /discovery-commons/discovery-common/src/main/java/com/nepxion/discovery/common/entity/RelationalType.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.common.entity; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public enum RelationalType { 13 | AND("and"), 14 | OR("or"); 15 | 16 | private String value; 17 | 18 | private RelationalType(String value) { 19 | this.value = value; 20 | } 21 | 22 | public String getValue() { 23 | return value; 24 | } 25 | 26 | public static RelationalType fromString(String value) { 27 | for (RelationalType type : RelationalType.values()) { 28 | if (type.getValue().equalsIgnoreCase(value)) { 29 | return type; 30 | } 31 | } 32 | 33 | throw new IllegalArgumentException("No matched type with value=" + value); 34 | } 35 | 36 | @Override 37 | public String toString() { 38 | return value; 39 | } 40 | } -------------------------------------------------------------------------------- /discovery-plugin-test/discovery-plugin-test-starter-automation/src/main/java/com/nepxion/discovery/plugin/test/automation/constant/TestConstant.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.test.automation.constant; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | public class TestConstant { 13 | public static final String SPRING_APPLICATION_TEST_SCAN_PACKAGES = "spring.application.test.scan.packages"; 14 | public static final String SPRING_APPLICATION_TEST_CONFIG_PRINT_ENABLED = "spring.application.test.config.print.enabled"; 15 | public static final String SPRING_APPLICATION_TEST_CONFIG_OPERATION_AWAIT_TIME = "spring.application.test.config.operation.await.time"; 16 | public static final String SPRING_APPLICATION_TEST_CONSOLE_URL = "spring.application.test.console.url"; 17 | 18 | public static final String REMOTE_UPDATE_URL = "config/remote/update"; 19 | public static final String REMOTE_CLEAR_URL = "config/remote/clear"; 20 | } -------------------------------------------------------------------------------- /discovery-springcloud-examples/discovery-springcloud-example-service/src/main/java/com/nepxion/discovery/plugin/example/service/sentinel/MyRestTemplateFallbackHandler.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.example.service.sentinel; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.springframework.http.HttpRequest; 13 | import org.springframework.http.client.ClientHttpRequestExecution; 14 | 15 | import com.alibaba.cloud.sentinel.rest.SentinelClientHttpResponse; 16 | import com.alibaba.csp.sentinel.slots.block.BlockException; 17 | 18 | public class MyRestTemplateFallbackHandler { 19 | public static SentinelClientHttpResponse handleFallback(HttpRequest request, byte[] body, ClientHttpRequestExecution execution, BlockException e) { 20 | return new SentinelClientHttpResponse("RestTemplate client sentinel fallback, cause=" + e.getClass().getName() + ", rule=" + e.getRule() + ", limitApp=" + e.getRuleLimitApp()); 21 | } 22 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter-gateway/src/main/java/com/nepxion/discovery/plugin/strategy/gateway/event/GatewayStrategyRouteAddedEvent.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.gateway.event; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import java.io.Serializable; 13 | 14 | import com.nepxion.discovery.common.entity.GatewayStrategyRouteEntity; 15 | 16 | public class GatewayStrategyRouteAddedEvent implements Serializable { 17 | private static final long serialVersionUID = -5614788825646267155L; 18 | 19 | private GatewayStrategyRouteEntity gatewayStrategyRouteEntity; 20 | 21 | public GatewayStrategyRouteAddedEvent(GatewayStrategyRouteEntity gatewayStrategyRouteEntity) { 22 | this.gatewayStrategyRouteEntity = gatewayStrategyRouteEntity; 23 | } 24 | 25 | public GatewayStrategyRouteEntity getGatewayStrategyRouteEntity() { 26 | return gatewayStrategyRouteEntity; 27 | } 28 | } -------------------------------------------------------------------------------- /discovery-plugin-strategy/discovery-plugin-strategy-starter/src/main/java/com/nepxion/discovery/plugin/strategy/monitor/StrategyTracerContextListener.java: -------------------------------------------------------------------------------- 1 | package com.nepxion.discovery.plugin.strategy.monitor; 2 | 3 | /** 4 | *

Title: Nepxion Discovery

5 | *

Description: Nepxion Discovery

6 | *

Copyright: Copyright (c) 2017-2050

7 | *

Company: Nepxion

8 | * @author Haojun Ren 9 | * @version 1.0 10 | */ 11 | 12 | import org.slf4j.Logger; 13 | import org.slf4j.LoggerFactory; 14 | import org.springframework.context.ApplicationListener; 15 | import org.springframework.context.event.ContextRefreshedEvent; 16 | 17 | public class StrategyTracerContextListener implements ApplicationListener { 18 | private static final Logger LOG = LoggerFactory.getLogger(StrategyTracerContextListener.class); 19 | 20 | @Override 21 | public void onApplicationEvent(ContextRefreshedEvent event) { 22 | // 异步调用下,第一次启动在某些情况下可能存在丢失上下文的问题 23 | LOG.info("Initialize Strategy Tracer Context after Application started..."); 24 | StrategyTracerContext.getCurrentContext(); 25 | } 26 | } --------------------------------------------------------------------------------