写点什么

Eclipse MicroProfile 助力 Java 微服务

  • 2017-11-12
  • 本文字数:937 字

    阅读完需:约 3 分钟

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:002692
用户头像

发布了 322 篇内容, 共 159.2 次阅读, 收获喜欢 148 次。

关注

评论

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

一文搞懂设计模式—观察者模式

Java随想录

Java 设计模式

选择轻量级低代码+定制,轻松打造小程序平台

天津汇柏科技有限公司

低代码开发 小程序开发

Java并发编程基础(上)

FunTester

你的新春照小红书包了!速来定制新春头像,技术让年味更浓

小红书技术REDtech

AI AIGC AI写真

MVP实战:再造一个“支付宝”

agnostic

软件架构 MVP 架构设计实战

第八周作业

大肚皮狒狒

掌上新闻随心播控,HarmonyOS SDK助力新浪新闻打造精致易用的资讯服务新体验

HarmonyOS SDK

HarmonyOS

Spring事务实现原理

京东科技开发者

听 GPT 讲 client-go 源代码 (5)

fliter

从API到界面:如何将淘宝/天猫商品详情返回值转化为用户友好的展示

Noah

开工大吉!秀一下我们假期の战绩

王中阳Go

Java Go 程序人生 面试题 Go 面试题 面经 后端 大厂

教育创新:全国高校软件测试峰会聚焦技术前沿

测吧(北京)科技有限公司

测试

糟糕,被SimpleDateFormat坑到啦!| 京东云技术团队

京东科技开发者

快速部署MES源码/万界星空科技开源MES

万界星空科技

开源 mes 开源mes 万界星空科技

VMware Workstation 17安装教程:轻松构建虚拟机

小魏写代码

vben-admin 配置代理转发

麦兜

使用 Coze 搭建 TiDB 助手

PingCAP

数据库 TiDB

作业帮 x TiDB丨多元化海量数据业务的支撑

PingCAP

数据库 TiDB

龙年新目标!龙蜥安全联盟第三次月会圆满结束

OpenAnolis小助手

操作系统 密码 龙蜥社区 安全联盟

solana生态市值机器人

区块链技术

开放签电子签章2024年第一季度目标

开放签开源电子签章

听 GPT 讲 client-go 源代码 (6)

fliter

activiti工作流代码整合流程详解及源码示例-低代码平台

金陵老街

0-overlay和underlay,这两种容器网络你分得清吗

华为云开发者联盟

容器 开发 华为云 华为云开发者联盟 云容器网络

教你用Rust实现Smpp协议

华为云开发者联盟

rust 开发 华为云 华为云开发者联盟 华为云短信服务

Eclipse MicroProfile助力Java微服务_Java_Monica Beckwith_InfoQ精选文章