Coder Social home page Coder Social logo

huaweicloud / dubbo-servicecomb Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 14.0 514 KB

Dubbo-Serivcecomb provide extensions for Apache Dubbo to using Cloud Service Engine, so that Dubbo users can use service center, config center and governance features.

License: Apache License 2.0

Java 99.15% Shell 0.85%

dubbo-servicecomb's People

Contributors

chengyouling avatar david6969xin avatar develpoerx avatar glovethu avatar jindongxia avatar kaister3 avatar liubao68 avatar zhaozw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dubbo-servicecomb's Issues

Class path contains multiple SLF4J bindings.

Running applications in integration-tests, will get the following warning:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/repo/ch/qos/logback/logback-classic/1.2.2/logback-classic-1.2.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/repo/org/slf4j/slf4j-log4j12/1.7.26/slf4j-log4j12-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

dubbo-serviceComb使用带https的注册中心和配置中心的CSE时,报错

使用官方的dubbo集成CSE的demo,CSE的注册中心和配置中心替换成https的地址时,报错。日志如下:

13/12/21 18:59:22:819 CST] main INFO config.ServiceConfig: [DUBBO] No valid ip found from environment, try to find valid host from DNS., dubbo version: 2.7.8, current host: 172.16.1.252
[13/12/21 18:59:22:866 CST] main INFO config.ServiceConfig: [DUBBO] Export dubbo service com.huaweicloud.samples.basic.ProviderService to local registry url : injvm://127.0.0.1/com.huaweicloud.samples.basic.ProviderService?anyhost=true&application=price-provider&bind.ip=172.16.1.252&bind.port=8082&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.huaweicloud.samples.basic.ProviderService&methods=sayHello&pid=5196&qos.port=22222&release=2.7.8&side=provider&timestamp=1639393162801, dubbo version: 2.7.8, current host: 172.16.1.252
[13/12/21 18:59:22:867 CST] main INFO config.ServiceConfig: [DUBBO] Register dubbo service com.huaweicloud.samples.basic.ProviderService url dubbo://172.16.1.252:8082/com.huaweicloud.samples.basic.ProviderService?anyhost=true&application=price-provider&bind.ip=172.16.1.252&bind.port=8082&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.huaweicloud.samples.basic.ProviderService&methods=sayHello&pid=5196&qos.port=22222&release=2.7.8&side=provider&timestamp=1639393162801 to registry registry://192.168.0.150:30100,https::9090/192.168.0.30:30100?application=price-provider&dubbo=2.0.2&pid=5196&qos.port=22222&registry=https&release=2.7.8&timestamp=1639393162799, dubbo version: 2.7.8, current host: 172.16.1.252
[13/12/21 18:59:23:081 CST] main INFO transport.AbstractServer: [DUBBO] Start NettyServer bind /0.0.0.0:8082, export /172.16.1.252:8082, dubbo version: 2.7.8, current host: 172.16.1.252
2021-12-13 18:59:23.097 INFO 5196 --- [ main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-12-13 18:59:23.108 ERROR 5196 --- [ main] o.s.boot.SpringApplication : Application run failed

java.lang.IllegalStateException: No such extension org.apache.dubbo.registry.RegistryFactory by name https
at org.apache.dubbo.common.extension.ExtensionLoader.findException(ExtensionLoader.java:623) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:630) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:429) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:413) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.registry.RegistryFactory$Adaptive.getRegistry(RegistryFactory$Adaptive.java) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.registry.integration.RegistryProtocol.getRegistry(RegistryProtocol.java:354) ~[dubbo-registry-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.registry.integration.RegistryProtocol.export(RegistryProtocol.java:208) ~[dubbo-registry-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:62) ~[dubbo-rpc-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:153) ~[dubbo-rpc-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:492) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:325) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:300) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.ServiceConfig.export(ServiceConfig.java:206) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$exportServices$15(DubboBootstrap.java:1103) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at java.base/java.util.HashMap$Values.forEach(HashMap.java:976) ~[na:na]
at org.apache.dubbo.config.bootstrap.DubboBootstrap.exportServices(DubboBootstrap.java:1090) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:901) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:59) ~[dubbo-config-spring-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:52) ~[dubbo-config-spring-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.spring.context.OneTimeExecutionApplicationContextEventListener.onApplicationEvent(OneTimeExecutionApplicationContextEventListener.java:40) ~[dubbo-config-spring-2.7.8.jar:2.7.8]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at com.huaweicloud.samples.basic.ProviderApplication.main(ProviderApplication.java:30) ~[classes/:na]

[13/12/21 18:59:23:111 CST] main INFO support.AbstractRegistryFactory: [DUBBO] Close all registries [], dubbo version: 2.7.8, current host: 172.16.1.252
[13/12/21 18:59:23:111 CST] main INFO dubbo.DubboProtocol: [DUBBO] Close dubbo server: /172.16.1.252:8082

dubbo治理使用contain匹配策略,报错Internal server error: java.lang.NullPointerException

[21/01/21 17:19:02:545 CST] qtp909278444-21 ERROR rpc.RpcContext:
java.lang.NullPointerException
at org.apache.servicecomb.governance.marker.RequestProcessor.operatorMatch(RequestProcessor.java:58)
at org.apache.servicecomb.governance.marker.RequestProcessor.match(RequestProcessor.java:37)
at org.apache.servicecomb.governance.marker.TrafficMarker.lambda$checkMatch$0(TrafficMarker.java:56)
at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449)
at org.apache.servicecomb.governance.marker.TrafficMarker.checkMatch(TrafficMarker.java:55)
at org.apache.servicecomb.governance.service.MatchersServiceImpl.checkMatch(MatchersServiceImpl.java:47)
at org.apache.servicecomb.governance.MatchersManager.match(MatchersManager.java:50)
at org.apache.servicecomb.governance.handler.RateLimitingHandler.matchPolicy(RateLimitingHandler.java:47)
at org.apache.servicecomb.governance.handler.RateLimitingHandler.matchPolicy(RateLimitingHandler.java:33)
at org.apache.servicecomb.governance.handler.AbstractGovernanceHandler.getActuator(AbstractGovernanceHandler.java:45)
at com.huaweicloud.dubbo.governance.DubboServicecombGovernanceFilter.addRateLimiting(DubboServicecombGovernanceFilter.java:154)
at com.huaweicloud.dubbo.governance.DubboServicecombGovernanceFilter.invoke(DubboServicecombGovernanceFilter.java:88)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:129)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:152)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:41)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:74)
at org.apache.dubbo.common.bytecode.proxy1.sayHello(proxy1.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at org.apache.dubbo.rpc.protocol.rest.DubboHttpProtocolServer$RestHandler.handle(DubboHttpProtocolServer.java:89)
at org.apache.dubbo.remoting.http.servlet.DispatcherServlet.service(DispatcherServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:531)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)
at java.lang.Thread.run(Thread.java:748)

@Value注解有默认值的情况下,配置中心不生效

问题描述:
20201029-102958(eSpace)
@value注解中,形如@value("${xxx:defaultValue}")的情况,配置中心无法覆盖defaultValue的值,导致属性最后的值是defaultValue

出现的版本号:
dubbo-servicecomb config 1.3.1

可能的原因:
spring-projects/spring-framework#14623
dubbo-servicecomb-config-center中ConfigurationSpringInitializer继承了PropertyPlaceholderConfigurer ,spring可能不支持多个PropertyPlaceholderConfigurer

CSE中服务动态配置不带版本号情况下无效

服务动态配置中不带版本号,比如xxx@discovery,而服务本身是强制带版本号(版本号为空的话是1.0.0.0),比如xxx@discovery#1.0.0 会导致配置失效

CSE中作用域:hsa-template-consumer@discovery


这行中request.getServiceName()获取到的serviceName不带@和#,会导致匹配失效。

DEBUG截图如下:
image-20201021161608953

查阅了spring-cloud-huawei的源码
https://github.com/huaweicloud/spring-cloud-huawei/blob/1433a8f7d020bd0d743a732dc7b6c6084c0a89b6/spring-cloud-huawei-config/src/main/java/com/huaweicloud/config/client/ConfigCenterClient.java#L63
对CSE配置中不带版本号的情况已进行处理

修改 maven 编译警告

[WARNING] Some problems were encountered while building the effective model for com.huaweicloud.dubbo-servicecomb:dubbo-servicecomb-clients:pom:1.1.0-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.rat:apache-rat-plugin is missing. @ com.huaweicloud.dubbo-servicecomb:dubbo-servicecomb:1.1.0-SNAPSHOT, /opt/liubao/code/dubbo-servicecomb/pom.xml, line 205, column 15

加上版本号:
0.12

ConfigCenterClient 中环境名没生效

[问题描述]

这行新建了headers的Map对象,放入了x-environment的key,和环境名的value,但在下一行请求的时候没有使用.

[建议修改]

HttpRequest httpRequest = new HttpRequest(addressManager.address() + "/configuration/items?dimensionsInfo="
          + HttpUtils.encodeURLParam(dimensionsInfo) + "&revision=" + request.getRevision(), null, null,
          HttpRequest.GET);

应该把这行的第二个参数null改成headers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.