写点什么

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

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

关注

评论

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

React源码分析5-commit

goClient1992

React

react源码中的hooks

flyzz177

React

Python第三方模块:PyQt5简介

指剑

Python PyQt5 11月月更

Spark编程基础(Python版)

指剑

Python spark 11月月更

AWS之EC2搭建WordPress博客

指剑

AWS WordPress 11月月更

React源码分析6-hooks源码

goClient1992

React

React源码分析4-深度理解diff算法

goClient1992

React

react源码中的fiber架构

flyzz177

React

react hook 源码完全解读

flyzz177

React

Hadoop完全分布式环境搭建(三节点)

指剑

hadoop Bigdata 11月月更

(二)OpenStack---M版---双节点搭建---数据库安装和配置

指剑

centos OpenStack 11月月更

(六)OpenStack---M版---双节点搭建---Neutron安装和配置

指剑

centos OpenStack 11月月更

CentOS-7.2部署OpenLDAP服务器以及客户端

指剑

centos openldap 11月月更

(三)OpenStack---M版---双节点搭建---Keystone安装和配置

指剑

centos OpenStack 11月月更

为什么我推荐用户故事地图?

ShineScrum

Scrum PO 用户故事地图

Discourse 的左侧边栏可以修改吗

HoneyMoose

湖仓一体电商项目(十五):实时统计商品及一级种类、二级种类访问排行业务需求和分层设计及流程图

Lansonli

湖仓一体电商项目 11月月更

(一)OpenStack---M版---双节点搭建---基础环境配置

指剑

centos OpenStack 11月月更

(四)OpenStack---M版---双节点搭建---Glance安装和配置

指剑

centos OpenStack 11月月更

xxl-job客户端架构流程

IT巅峰技术

【web 开发基础】PHP中的预定义数组(46)

迷彩

php web开发基础 11月月更 预定义 超全局数组变量

CentOS-7.2部署Squid服务

指剑

centos 11月月更 squid

AWS之EC2实例搭建LAMP服务器

指剑

AWS EC2 LAMP 11月月更

2022叉车模组发布会:打破整车生产思维,叉车迎来模组化创新

E科讯

(五)OpenStack---M版---双节点搭建---Nova安装和配置

指剑

centos OpenStack 11月月更

Centos 7.2搭建MariaDB数据库服务器应用与管理

指剑

centos MariaDB 11月月更

【web 开发基础】PHP中数组的遍历(45)

迷彩

数据结构 数组 foreach 11月月更 数组遍历

湖仓一体电商项目(十六):业务实现之编写写入ODS层业务代码

Lansonli

湖仓一体电商项目 11月月更

世界杯火热进行中, 用一个div画个足球场助助兴

南城FE

CSS css3 前端 足球场

Centos 7.2搭建HTTP服务,并进行相关配置

指剑

centos httpd 11月月更

Centos 7.2安装FTP服务并进行相关设置

指剑

centos ftp 11月月更

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