Apache ServiceComb 社区4月动态精选

640?wx_fmt=gif 640?wx_fmt=png

你好,四月

我说 你是人间的四月天;

笑响点亮了四面风;

轻灵在春的光艳中交舞着变


你是四月早天里的云烟;

黄昏吹着风的软,星子在无意中闪;

细雨点洒在花前

......

你是一树一树的花开,

是燕在梁间呢喃,——你是爱,是暖,

是希望,你是人间的四月天~


Apache ServiceComb | 精选

林徽因执笔轻吟“你是爱,是暖,你是人间四月天”的倾世锦句,古来文人墨客无不对四月充满了浪漫的情怀,我亦钟爱四月天。

在这温暖的季节里,小蜜蜂给大家带来新一期的精选动态~

Apache ServiceComb 致力于帮助企业、用户和开发者将企业应用轻松微服务化上云,并实现对微服务应用的高效运维管理。



640?wx_fmt=png


640?wx_fmt=png

进展动态

640?wx_fmt=gif 关于新特性版本发布

ServiceCenter 1.2.0 发布

http://mirrors.gigenet.com/apache/servicecomb/servicecomb-service-center/1.2.0/

java-chassis 1.2.0发布

http://apache.mirrors.hoobly.com/servicecomb/servicecomb-java-chassis/1.2.0/

ServiceComb Pack 0.4.0 发布

http://mirrors.ibiblio.org/apache/servicecomb/servicecomb-pack/0.4.0/

欢迎大家使用,提出宝贵意见。



640?wx_fmt=png

FAQ| 精选问答


Q1

cse-dependency-spring-boot2 这个包在哪个仓库?

A:包都在maven仓库,可参考如下网址的案例进行配置:

https://huaweicse.github.io/cse-java-chassis-doc/


640?wx_fmt=png


Q2

 
 

--- [ice Center Task] 	
o.a.s.s.consumer.MicroserviceVersions: Failed to setInstances, appId=****-stg, microserviceName=f*****.	
java.lang.NullPointerException: null

swagger 报错,服务启动失败。

A: 问题已经解决,用户定义了一个类,里面没有定义任何RESTful operation。这个问题在1.2.0已经做了规避,但是定义这样的空实现类仍然是没有意义的,不建议这样做。


640?wx_fmt=png


Q3

1.2.0的java-chassis-dependencies,底层是springBoot2.0以上版本?还是沿用的1.5.12?

A:不再是固定的,各业务按自己的场景,选择不同的依赖。

ServiceComb可以在不同的spring boot版本下运行,支持spring boot1,和spring boot2的例子可以参考:

https://github.com/apache/servicecomb-samples/tree/master/dependency_management


640?wx_fmt=png


Q4

ServiceComb能写异步代码吗?在哪个demo中有例子?

A:

例1:asyncQuery是reactive查询redis的例子

https://github.com/apache/servicecomb-java-chassis/blob/master/demo/perf/src/main/java/org/apache/servicecomb/demo/perf/Impl.java

例2:runAsyncConsumers是reactive发起调用的例子

https://github.com/apache/servicecomb-java-chassis/blob/master/demo/perf/src/main/java/org/apache/servicecomb/demo/perf/PerfConsumer.java


详情请参考文档:

https://docs.servicecomb.io/java-chassis/zh_CN/general-development/reactive.html


640?wx_fmt=png


Q5

在本地调试的时候,调用其他微服务会报找不到实例的错误,但在注册中心明明看得到的,这是什么原因?

A:检查下application ID,environment是否相同.通常都是“隔离域”不同的原因导致的。可以通过如下案例↓


1. “如何进行微服务的多环境开发部署”

https://bbs.huaweicloud.com/forum/thread-11095-1-1.html


2."微服务接口兼容常见问题"

https://docs.servicecomb.io/java-chassis/zh_CN/question-and-answer/interface-compatibility.html

了解更多ServiceComb的“隔离域”及其应用场景。


640?wx_fmt=png


Q6

现网A服务调用B接口,且都是双实例。如果版本升级时契约变更了,B微服务的版本号升级一个版本,在b服务已经升级但a还未升级完成时,a服务能调用到新的b的服务的接口吗?会不会引起调用失败?

A:

a是普通consumer:

  可以调到b新实例中的旧接口,但是不会调到b新实例中的新接口

  如果接口升级是兼容的,则不会出错,可以追加参数,不可以在中间插参数

a是edge:

  则新、旧接口都可以中转给后端


640?wx_fmt=png


Q7

问下:rest://192.168.1.1:8080  支持对https的接口调用吗?endpoints 支持配置为域名吗?

 
 

A:

servicecomb:	
  rest:	
    address: 0.0.0.0:8080?sslEnabled=true

可以的。但是需要区分监听地址和外部访问的发布地址。 https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/listen-address-and-publish-address.html


640?wx_fmt=png


Q8

 
 

请教一个问题,我想请求验证码图片,java方法返回类型使用byte[] 时,content-type 却是application/json,页面展示一串字符,有办法修改这个content-type吗?

使用如下配置,接口调用报错:

@ResponseBody	
@RequestMapping(value = "/captcha.jpg", method = RequestMethod.GET, produces = MediaType.IMAGE_JPEG_VALUE)	
@ApiResponses({	
@ApiResponse(code = 200, response = File.class, message = ""),	
})

A:↓请参考以下文档

https://docs.servicecomb.io/java-chassis/zh_CN/general-development/file-download.html

如果是展示为图片,不是下载,则HttpHeaders.CONTENT_DISPOSITION设为inline

最好不要用parent的模式,不好处理版本冲突,统一使用dm引入


640?wx_fmt=png


Q9

javachassis1.2.0 默认是基于springboot2打包的吗?

A:java-chassis不基于springboot,但是可以与springboot配合使用

https://github.com/apache/servicecomb-samples/tree/master/dependency_management 

spring 4, 5, spring boot 1, 2都可以集成。 1.2.0更加简单了 


640?wx_fmt=png


Q10

开发者, servicecenter有带frontend的docker镜像提供吗?

A:https://hub.docker.com/r/servicecomb/scfrontend


640?wx_fmt=png


Q11

网关对请求转发的时候,怎么实现跨应用访问?我现在用的是zuul。


A:zuul的处理过程稍微复杂点。大概思路应该是首选被调用服务要先设置为允许跨应用调用,然后zuul的Discovery接口实现通过applicationid:miscroservicename去查找对应的微服务,能找到实例即可。  

跨应用调用请参考以下文档↓↓↓

https://docs.servicecomb.io/java-chassis/zh_CN/general-development/cross-app-invocation.html  




640?wx_fmt=png

FAQ总结

1.现有接口返回类型是Optional的时候初始化失败,除了改接口返回类型之外还有没有什么解决方案?

将要发布1.2.1,会增加这个特性


2.关于使用inspector 在线测试微服务接口的时候,如果微服务设置了servlet.urlPattern,swagger 生成的url会少了一级路径,导致404

将要发布1.2.1,会解决这个问题



640?wx_fmt=png


640?wx_fmt=gif


精彩回顾

640?wx_fmt=png


1.2019年中国开源盛事 KubeCon & CloudNativeCon & OSS 上海峰会 Co-located Event Apache ServiceComb Meetup 


2.华为云微服务应用平台(ServiceStage)作为业界微服务平台典型代表最终顺利通过。大会上,华为云架构师Hill和Apache ServiceComb 项目VP Willam Jiang被受聘为云原生产业联盟技术委员会专家。

原文链接?

https://www.huaweicloud.com/news/2019/0425093238050.html?from=groupmessage&isappinstalled=0

640?wx_fmt=gif

活动预告



640?wx_fmt=jpeg

END



640?wx_fmt=png



我们专注于开源

更希望有更多爱好者学习到微服务


同时也欢迎大家加入到我们的开发队伍

为我们贡献代码,成为commiter


欢迎扫码加入进微信群

有什么疑问可以提issue到github上

我们会及时为你解答~


小蜜蜂提前祝大伙儿五一快乐!?

640?wx_fmt=png

640?wx_fmt=png



期待志同道合的你

用心做开源/不忘初衷



了解更多信息请访问:

官方网站↓

 http://servicecomb.apache.org/ 

Github代码仓库

 https://github.com/apache?q=ServiceComb 

640?wx_fmt=png 在看点这里 640?wx_fmt=gif 640?wx_fmt=png



“阅读原文”阅读相关源码

并给ServiceComb点个“Star”吧


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值