Apache ServiceComb 社区5月动态精选

栏目: Java · 发布时间: 5年前

内容简介:进展动态FAQ| 精选问答Q1

Apache ServiceComb 社区5月动态精选

点击蓝字

关注我们

Apache ServiceComb 社区5月动态精选

或许我可用夏日把你来比方,

但你比夏日更可爱也更温良。

夏风狂作常摧落五月的娇蕊,

夏季的期限也未免还不太长。

......

只要人眼能看,人口能呼吸,

我诗必长存,使你万世留芳。

——莎士比亚 十四行诗 第18首

Apache ServiceComb 社区5月动态精选

五月,像是一个最温柔的笑

没有盛夏时的炎炎浮躁与慵懒

温和而不疏淡,热烈但不拘束

Apache ServiceComb 社区5月动态精选

Apache ServiceComb | 精选

文章的开头引用了莎士比亚的一首诗。

在这雨晴梅子肥的季节里,小蜜蜂给大家带来新一期的精选动态~

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

进展动态

Apache ServiceComb 社区5月动态精选

1. 开了 新项目 servicecomb-Kie

(分布式系统配置工具,实现云原生分布式系统配置中心)

https://github.com/apache/servicecomb-kie

2. 开了 新项目 servicecomb-fence

(微服务认证鉴权工具,实现OAuth和OpenID connect协议,兼容Spring security用户API)

https://github.com/apache/servicecomb-fence

3. ServiceComb的服务中心正在设计和开发一个 Syncer工具

Syncer 地址

https://github.com/apache/servicecomb-service-center/tree/master/syncer

Syncer 的更多介绍

https://github.com/apache/servicecomb-service-center/blob/master/syncer/README-ZH.md

Syncer 的未来要处理的事情 不断更新中 ):

https://github.com/apache/servicecomb-service-center/blob/master/syncer/TODO-ZH.md

FAQ| 精选问答

Q1

有个疑问,能否解答一下,当我使用spring boot集成servicecomb的时候,springboot的启动和servicecomb初始化完成有没有什么关系

A: servicecomb是spring boot启动的一部分,servicecomb也是一系列的applicationlistener

Q2

请问,在我的rpc接口里面,当消费者调用我的微服务时,我可以知道是哪个消费者调用的吗?并且获取对端微服务的微服务名?

A: 上游的consumer服务调用下游的provider服务时,会在InvocationContext 中设置一个 x-cse-src-microservice 表示请求是从哪个服务发出的。你可以通过这个来判断。

Q3

开发者,qps-flowcontrol-provider通过这个配置限流时,测试发现单独请求微服务时,限流时生效的,但通过edge网关请求微服务接口时,这个限流并不起作用,这个是什么原因呢?

A: 指定了服务级限流策略啊?浏览器直接访问后端服务的话请求算在default里面,通过edge调用后端服务的话,请求算在了edge服务的头上

Q4

Servicecomb能编写默认执行的handler吗?

A: 请参考:

https://docs.servicecomb.io/java-chassis/zh_CN/references-handlers/intruduction.html   

也可以试试HttpServerFilter:

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

使用REST的情况下,这个一定是在handler之前执行的。

Q5

我看文档中说transport-highway模式,仅用于 java 之间互通。如果我客户端是使用 C语言 写的,想连接基于servicecomb开发的tcpserver是不是无法正常通信?

A: 理论上不限于java,但是protobuf based on protostuff不是个标准的protobuf,这个就局限性有点高了, 2.0种将改为标准protobuf 

REST(HTTP+json) 标准,简单,比较适合各种语言实现,一般都有对应的库。 

Q6

普通的微服务新增新的接口,重启服务,edge服务也要跟着再重启才能生效,我觉得这挺不好的,不能edge服务就不要重启吗?edge服务都重启了,那好像就不能算真正的弹性扩展了, 但重启了edge服务,对外服务不是都停止了?

A: 微服务版本号升级了的话,edge不用重启, 不做任何控制时,平等对待

例如:

v1,有op1/op2

v2,有op1/op2/op3

如果调op1/op2,则v1/v2的实例都使用

如果调op3,会只使用v2实例

另外,可以控制版本的使用规则,可以指定只调latest,或是a url走规则1,b url走规则2

op级的控制,是自动的,不需要干预

versionRule需要控制

可参考以下文档中的“设置兼容规则”:

https://docs.servicecomb.io/java-chassis/zh_CN/edge/by-servicecomb-sdk.html

Q7

使用0.0.0.0:8080注册到service-center,每个服务的地址都是虚拟网卡的地址,怎么才能分配服务所在的本机的IP地址?

A: 这个过程是随机选择的发布地址。 可以修改的。 

参考文档:

https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/listen-address-and-publish-address.html

Q8

api first是不是用swagger editor编辑yml(符合openApi规范),导出之后,再加入业务层的接口包,然后实现controller?

A: 可以先写接口代码。写swagger也行,还需要 工具 将yaml生成代码项目。需要工具链支持。

Q9

请问一下:

1、使用RPC\RestTemplate 调用服务怎么指定服务版本?

2、使用其他网关(如zuul)如何转发到指定版本的服务?

A: 1.请参考:arrow_heading_down:

https://docs.servicecomb.io/java-chassis/zh_CN/build-consumer/with-contract.html  

2.zuul的话得自己改路由规则

Q10

使用0.0.0.0:8080注册到service-center,每个服务的地址都是虚拟网卡的地址,怎么才能分配服务所在的本机的IP地址呢?

A: 这个过程是随机选择的发布地址。 可以修改的。 

参考:arrow_heading_down:

https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/listen-address-and-publish-address.html

Q11

rpc风格的方法重载有考虑做支持吗?

有考虑彻底支持下rpc的重载吗?

servicecomb版本:1.2.0,rpc方式下方法重载的两个bug

1  提供方重载方法,在按参数对象生成契约时,生成的swagger中ref值,取方法名+ body会冲突

2 不支持使用提供方接口调用

A: 考虑到openapi每个接口都有唯一的operation id, 还是不太建议这么使用。 内部实现使用重载是可以理解的,外部发布接口的时候,需要避免,可以将内部的设计包装起来就可以了。 没必要强制得使用重载。 

getUserByX, getUserByY, 这样的接口感觉比getUser(X) getUser(Y)语义上更加直观一些。

Q12

最大并发数, sprint boot自带tomcat里有设置。 ServiceComb 里会有最大并发的设置吗?

A: servicecomb稍微复杂点,如果运行时是tomcat或者springboot带的tomcat,直接配置tomcat即可。如果是vertx容器,可以看下开发指南的配置项。

https://docs.servicecomb.io/java-chassis/zh_CN/index.html

社区 | 总结

Apache ServiceComb 社区5月动态精选

很多开发者都反馈ServiceComb没提供认证鉴权服务的支持,自行开发代码量很大,或者必须使用spring security提供的原生能力

参考:

https://github.com/huaweicse/cse-java-chassis-samples/tree/master/springboot-oauth2-sample

但是原生能力少了很多ServiceComb自身的特性, 集成非常不友好。

开发人员做了一个适用于微服务的JWT/OAuth2认证项目原型,专为ServiceComb打造。目前已经完成了最基础的过程验证和开发,以及项目的自动化测试。 

参考:

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

感兴趣的点个赞,支持把原型项目做成一个正式的ServiceComb项目。(熟悉这个项目,需要先了解spring security和oauth2)

Apache ServiceComb 社区5月动态精选

关于maven

maven提供的dependency mangement机制,依赖关系可能由于某一个新组建的加入或者移除发生大量变化。 

有些pom依赖示例,可以参考下: 

https://github.com/apache/servicecomb-samples 

后续计划

好消息,我们的新项目已经开始了

欢迎大家贡献代码

如何贡献代码

:arrow_down:  :arrow_down: :arrow_down: 

https://servicecomb.apache.org/cn/developers/contributing

如果想了解我们的最新动态,各种任务都在jira里跟踪,那个比较全

也可以订阅下

dev@servicecomb.apache.org ,大家有新的idea,都会通过mailing list进行讨论。有好的想法和建议也可以发起邮件讨论

Apache ServiceComb 社区5月动态精选

精彩回顾    

Apache ServiceComb 社区5月动态精选

2019.05.06 北京

恰逢QCon十周年,QCon(全球软件开发大会)2019北京站在北京国际会议中心拉开帷幕。来自华为云的五位专家在“AI与云原生实践”华为云专场论坛中发表精彩演讲。这也是华为云首次以专场形式亮相全球软件开发大会。

活动预告

2019.6.25 QCon上海站

地点:上海世博中心

Apache ServiceComb 社区5月动态精选

KubeCon + CloudNativeCon论坛将所有CNCF项目汇聚在一个屋檐下。与开源云原生社区的技术领袖们一起加入此论坛,以进一步推动云原生计算的发展。

开源峰会,前身为LinuxCon + CloudOpen + ContainerCon China(LC3),汇集了技术专家和开源行业领导者,使其共同合作,分享信息,了解最新、最有趣的开源技术,包括 Linux 、IoT、区块链、AI,网络和更多。

6月24日是会前同场活动 + 快闪演讲

6月25-26日是论坛

报名链接:

https://events.linuxfoundation.cn/events/kubecon-cloudnativecon-china-2019/register/

END

我们专注于开源

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

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

为我们贡献代码,成为commiter

欢迎扫码加入进微信群

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

我们会及时为你解答~

小蜜蜂提前祝大伙儿端午节快乐!:tada:

Apache ServiceComb 社区5月动态精选

期待志同道合的你

用心做开源/不忘初衷

了解更多信息请访问:

官方网站↓

http://servicecomb.apache.org/ 

Github代码仓库

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

Apache ServiceComb 社区5月动态精选

Apache ServiceComb 社区5月动态精选

点击“ 阅读全文 ”给ServiceComb点star!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript高级程序设计:第2版

JavaScript高级程序设计:第2版

Nicholas Zakas / 李松峰、曹力 / 人民邮电出版社 / 2010-7 / 89.00元

《JavaScript高级程序设计(第2版)》在上一版基础上进行了大幅度更新和修订,融入了近几年来JavaScript应用发展的最新成果,几乎涵盖了所有需要理解的重要概念和最新的JavaScript应用成果。从颇具深度的JavaScript语言基础到作用域(链),从引用类型到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)、文档对象模型(DOM)到基于事件的Web脚本......一起来看看 《JavaScript高级程序设计:第2版》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具