写点什么

Eclipse MicroProfile助力Java微服务

2017 年 11 月 12 日

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

2017 年 11 月 12 日 18:001633
用户头像

发布了 321 篇内容, 共 108.0 次阅读, 收获喜欢 101 次。

关注

评论

发布
暂无评论
发现更多内容

去“测试”下的测试重生,不为焦虑买单

陈磊@Criss

软件测试 自动化测试 测试开发 智能化测试

继linux命令之后,我又给你们整理了网络命令归纳,快给我来收藏

linux亦有归途

Linux 网络协议 网络 网络层

没想到我费劲心力学的kafka,还不如阿里大佬整理的这份学习手册,真的是差距啊

小Q

Java kafka 学习 架构 面试

11.11数据可视化大屏设计揭秘

京东智联云开发者

大数据 AI 数据分析 数据可视化 交互设计

分享一份大佬的MySQL数据库设计规范,值得收藏

小Q

学习 架构 面试 JVM 多线程

区块链政务数据应用系统开发方案,数据快速上链

WX13823153201

索引为什么能提供查询性能...

小林coding

MySQL 索引 数据结构与算法 B+树

《迅雷链精品课》第八课:迅雷链多链结构

迅雷链

区块链

深入内核,拒绝蒙圈!阿里巴巴一位P7级架构师总结整理的这份《Java架构成长笔记》彻底火了。

Java架构之路

Java 程序员 架构 面试 编程语言

秋招offer收割机——后台服务器开发方向(专业学习路线图总结)

程序员小灰

c++ Linux 后台开发 架构师 服务器端开发

食堂就餐卡系统设计

我们新四军不拿群众一针一线

架构师训练营 -week10-总结

大刘

极客大学架构师训练营

从数据库巨人身上撕开一道口子

数据君

最详细的Linux TCP/IP 协议栈源码分析

linux大本营

Linux 后台开发 网络编程 C/C++ TCP/IP

通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!

华为云开发者社区

通信 企业 网络自动化

涨薪神作!华为内部操作系统与网络协议笔记爆火,这也太香了吧

Java架构之路

Java 程序员 架构 面试 编程语言

一周信创舆情观察(11.16~11.22)

统小信uos

甲方日常 58

句子

工作 随笔杂谈 日常

高德最佳实践:Serverless 规模化落地有哪些价值?

阿里巴巴云原生

阿里云 Serverless 云原生

收藏 | 阿里程序员常用的 15 款开发者工具(2020 版)

阿里巴巴云原生

阿里云 程序员 开发者 云原生 Java 25 周年

谈谈持续集成、持续交付和持续部署三者究竟是什么,有何联系和区别呢!

ShenDu_Linux

Linux 持续集成 架构师 持续交付 持续部署

如何保护视频资源?这几个防盗链使用技巧你一定要知道!

腾讯云视频云

音视频 防盗链 内容安全 视频防盗 视频资源防盗

架构师训练营第一周架构方法学习总结

Geek_xq

【领福利啦】广受欢迎的人工智能实战课程+“智能音箱”教程免费领!

华妹

人工智能 技术 福利 项目实战 智能音箱

Week1 命题作业

J

极客大学架构师训练营

如何保障企业数据资产的全生命周期安全?看这篇就够了

华为云开发者社区

数据 数据资产 数据安全

ThinkPad X1 Carbon与MacBook有何不同?不止是专业

intel001

LeetCode题解:17. 电话号码的字母组合,队列,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

技术实践丨基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验

华为云开发者社区

AI 华为云 modelarts

一文带你了解两种Transformer文字识别方法

华为云开发者社区

人工智能 AI 文字识别

美团架构师总结整理的这份GitHub标星150K+的神仙笔记,我花了两个月肝完成功面进了阿里定级P7,现在分享出来希望大家也能有所提升!

Java架构之路

Java 程序员 架构 面试 编程语言

2021年,算法还“香”吗?

2021年,算法还“香”吗?

Eclipse MicroProfile助力Java微服务-InfoQ