BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Eclipse MicroProfile助力Java微服务

| 作者 Monica Beckwith 关注 602 他的粉丝 ,译者 薛命灯 关注 24 他的粉丝 发布于 2017年11月13日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

InfoQ参加了于10月份举行的2017 JAXLondon大会,来自IBM的Emily Jiang呈现了有关Eclipse MicroProfile的演讲。Emily在演讲中先是简单介绍了Eclipse MicroProfile的历史,然后详细介绍了MicroProfile的容错能力,最后介绍了未来的计划,包括MicroProfile将涵盖的内容以及与Java开发者之间的合作。

MicroProfile被设计用于配置微服务,1.0版本于2016年9月份发布,1.1版本于2017年8月份发布,1.1是以Eclipse基金会名义发布的第一个版本。

MicroProfile 1.0基于Java EE 7,使用了CDI+JSON-P+JAX-RS技术栈,而1.1版本使用了新的配置技术栈,以便提升可移植性。



Emily深入介绍了最近发布的MicroProfile 1.2,新版本包含了很多新特性,比如应用层面的度量指标、通过部署到单核Kubernetes环境进行健康检测。1.2版本的主要新特性是提升容错能力,微服务之间可以通过JWT在一个安全的环境里发生交互。



接下来,Emily介绍了新的容错API,先是介绍了一些注解,如@Retry、@Timeout和@Bulkhead。@Bulkhead通过隔离线程(默认是10个)避免局部失效影响到整个系统。应用程序可以组合使用@Bulkhead和@Asynchronous,使用单独的线程来执行任务。

MicroProfile 1.2引入了@CircuitBreaker,用于支持容错和失效检测。该注解告诉运行时,一旦出现回路断路(也就是回路被打开),就会立即发生失效。一个关闭的回路将按照预期设计的方式调用服务。

新API还提供了@Fallback注解,用于指定回退处理器,在目标服务不可用时回退到调用默认的服务。该特性需要在应用程序层面实现,因为底层系统并不提供回退机制。

除了介绍MicroProfile的容错机制,Emily还提到了Istio平台。她说,如果使用了Istio,那么完全可以禁用MicroProfile中除回退机制之外的容错功能,使用Istio提供的容错机制来替代。

Emily还简单介绍了MicroProfile的发展路线图,在2.0版本之前,1.3版本有可能支持Open Tracing和Open API。2.0版本有可能支持EE 8的其他技术。



Emily做了一个简短的OpenLiberty演示,展示了MicroProfile 1.2版本的特性。更多的相关细节可以在Eclipse MicroProfile网站上看到。

查看英文原文Accelerating the adoption of Java microservices with Eclipse MicroProfile

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT