Q:用Postman测试接口可以调通过,swagger-ui页面测试我的接口经常出现
connect: connection timed out.
A:确认下frontend跟你的应用网络是否通,servicecomb的swagger-ui现在是proxy模式,不是直连
Q:准备使用servercomb,下载了center和demo项目,demo项目一直提示
ERROR 9868 --- [ntloop-thread-0] o.a.s.s.client.http.RestUtils ......message: Connection timed out
求指点
A:
1.httpaddr/httpport of your service center conf
2.service registry address in your microservice.yaml
Q:restschema与rpcschema两种方式在性能上有区别吗?
A:Rpc要比Rest的性能高。
这里视频有说明性能比较数据
Q:在bmi例子上做修改,报下面这个错,怎么解决啊?
Caused by: java.lang.IllegalStateException: The schema(id=[calculatorRestEndpoint]) content held by this instance and the service center is different.
You need to increment microservice version before deploying. Or you can configure service_description.environment=development to work in development environment and ignore this error
A:这通常是因为你修改了REST接口定义,但是既没有升级微服务版本号,也没有把环境配置成开发环境,所以ServiceComb启动实例检查契约的时候发现契约内容不一致,就报错了。
可以考虑升级一下微服务版本号,或者在microservice.yaml文件里面配置一下service_description.environment=development,或者等sc里面的服务实例下线后,把微服务信息删掉重新注册。
Q:有谁知道吗?除了注解方式@RequestHeader,还有什么方法可以在Controller中拿到request中的header参数?目前测试发现HttpServletRequest没法拿到
A:如果这个Header参数定义在了你的接口契约里,那你的REST接口方法能直接拿到header参数。否则可以扩展一个HttpServerFilter从requestEx参数里面拿header,也可以在你的REST接口里面加上Ht