
Apache ServiceComb | 精选

二月,是连接冬与春的使者,是承接寒与暖的桥梁。


春季伊始,南方开始有了暖阳,北方的大雪慢慢融化。我们等待的,不仅是那一抹春色,更是那万物复苏、生机勃勃的景象所带来的希望。在这个春暖花开的日子里,小蜜蜂给大家带来新一期的精选动态播报~
Apache ServiceComb 致力于帮助企业、用户和开发者将企业应用轻松微服务化上云,并实现对微服务应用的高效运维管理。

进展动态
ServiceComb微服务学习还在继续
敬请关注

FAQ精选问答
1
Q:发现使用rest over servlet的时候就报 all transport name rest refused to init
A:是否在引导脚本上规避一下,用over vertx
由脚本探测空闲端口,然后作为命令行参数传进去。
2
Q:Failed to find latest MicroserviceVersionMeta
这个错误一般是什么情况导致的?
用edgeserver网关 502 日志打印Failed to find latest MicroserviceVersionMeta
A:看看版本,是否匹配。
3
Q:如果服务A同时配置了 rest 与hightway 通过edge网关后调用服务A是选用rest还是hightway调用?
A:当前highway使用的是protostuff的protobuf编解码,与标准的protobuf不完全兼容,我们正在准备改为完全兼容的方式,可以暂时不要部署highway,请参考以下网址↓
https://github.com/apache/servicecomb-java-chassis/tree/master/foundations/foundation-protobuf
4
Q:关于两个微服务实例间的相互调用,serviceComb用的是什么?
A:实例间调用,当前支持:
1.rest-transport-vertx,高性能,默认工作模式
2.rest-transport-servlet,基于传统servlet
3.私有协议highway(tcp+protoStuff实现的protobuf)
服务间如何调用,对业务逻辑是透明的
只需要引入相应依赖,配置相应的配置项
参考文档:https://docs.servicecomb.io/java-chassis/zh_CN/
5
Q:已经把实例的状态修改成 down了,服务怎么还能访问呢?
A:可能有bug,不应该保护这些实例,需要另行跟踪。
6
Q:servicecomb集成swagger 你们可以集成吗?本地注册中心service center有没有图形化界面?
A:功能集合是等同的。
但是,商业版增加了上云需要的用户认证等等模块,有治理console,依托云服务,提供了APM等等功能。
https://github.com/apache/servicecomb-service-center/releases,可以进这个链接下载
7
Q:获取当前request 怎么不能通过@autowared?
报错:ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();
A:filter的入参就有request,业务方法声明request入参,会自动赋值。因为ServiceComb内核是纯异步的,并且默认不工作于传统的servlet模式,而是高性能的vertx模式。所以那些基于线程上下文的东西,默认都是不提供的。
另外,完全不建议通过request再去获取某某参数,而是应该通过annotation的方式,将相应的参数在方法原型上声明出来。
8
Q:像登录的用户信息userid或者username,通过zipkin传递到其他服务吗?
A:既提供了vertx rest,也提供了servlet rest,可以2选1,但是vertx性能会高不少
zipkin是用于调用链的,不用于传业务数据,这些数据可以放在cse context中,默认会自动在远程调用时传递过去,a调b,b调c,这样的嵌套调用,c也可以自动拿到cse context中的数据。
9
Q:Rpc接口传递文件有什么好的方式?是只能用byte数组吗?
A:请参考文档-https://docs.servicecomb.io/java-chassis/zh_CN/general-development/file-upload.html
10
Q:网关目前可以结合配置中心吗?
A:可以。网关具备java-chassis一样的能力。 配置下配置中心即可。 比如以下: https://github.com/huaweicse/cse-java-chassis-samples/tree/master/porter
11
Q:ServiceComb1.0.0跟最新的主线版本1.2.0-SANPSHOT兼容吗?
A:兼容的。建议构筑一下自动化测试体现和进行持续集成,这样的好处是可以及时修复老版本潜在的问题,也可以降低夸很长的版本集成带来的未知影响。你也可以参考下Release notes,提前识别下风险。 servicecomb的版本不是很频繁,所以release notes还没发出。 华为CSE目前已经集成了servicecomb的最新版本,它的release notes可以参考,两个代码是同源的: https://support.huaweicloud.com/productdesc-cse/cse_productdesc_0008.html
12
Q:改造原有的一个springboot项目,入参有个HttpServletResponse 类型参数,启动服务时报了错误generate operation swagger failed,是否有解决方案,或者生成swagger时忽略这个HttpServletResponse类型参数
A:HttpServletResponse类型的参数不能定义在REST接口里,因为ServiceComb-Java-Chassis启动时要根据你的接口生成服务契约,但从这个类型里完全无法推出你要返回什么类型的应答。
关于REST接口参数问题可以参考一下这篇文档:https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/interface-constraints.html

欢迎大家在ServiceComb讨论群
或者gitter聊天室与我们互动
https://gitter.im/ServiceCombUsers/Lobby
saga聊天室
↓↓↓
https://gitter.im/ServiceCombUsers/Saga

文末小结

我们专注于开源
更希望有更多爱好者学习到微服务
同时也欢迎大家加入到我们的开发队伍
为我们贡献代码,成为commiter
欢迎扫码加入进微信群
有什么疑问可以私聊小助手哈



期待志同道合的朋友们加入
ServiceComb的大门为你们敞开~
用心做开源,不忘初衷
了解更多信息请访问:
官方网站↓↓↓
http://servicecomb.apache.org/
Github代码仓库↓↓↓
https://github.com/apache?q=ServiceComb

赶紧点击阅读原文阅读相关源码
并给ServiceComb点个“Star”吧
ServiceComb致力于简化企业应用微服务化,本期精选问答涵盖微服务调用、配置中心集成、Swagger集成、请求处理及RPC文件传输等技术要点。
1351

被折叠的 条评论
为什么被折叠?



