阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

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

关注

评论

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

CIO如何制定低代码/无代码战略

WorkPlus

前端避坑指南丨辛辛苦苦开发的APP竟然被判定为简单网页打包?

YonBuilder低代码开发平台

大前端 APP开发 APICloud 跨端开发

使用docker安装elk环境

小鲍侃java

签约计划第二季

MySQL「 Every derived table must have its own alias」1248 错误修复法

蒋川

数据库 MySQL 运维 MySQL 数据库

模仿UP主,用Python实现一个弹幕控制的直播间!

Zhendong

Python

恒拓高科WorkPlus - 政企IM私有化解决方案

WorkPlus

等保工作五大误区汇总,让你更懂等保!

行云管家

网络安全 等保 等级保护

mPaaS 月度小报|魔方卡片(Cube)公测,十个卡片模板任意使用

蚂蚁集团移动开发平台 mPaaS

小程序 消息推送 移动开发 API网关 cube

做一款互联网内容平台,到底要懂多少AI?

百度开发者中心

AI

莫要寻找可能不存在的答案

FunTester

学习 解决方案 自学 FunTester 思路

恒源云(GPUSHARE)_opencv(论文笔记)

恒源云

深度学习

使用自定义注解打印logstash日志

小鲍侃java

签约计划第二季

JVM中的对象及引用

Ayue、

技术专题合集

【Java】代码重构时,为什么禁止在方法内对对象类型的入参赋值

恒生LIGHT云社区

Java 代码规范 java代码规范

使用linux搭建单机elk环境

小鲍侃java

签约计划第二季

elk客户端与springboot整合

小鲍侃java

签约计划第二季

打造基于 PostgreSQL/openGauss 的分布式数据库解决方案

SphereEx

数据库 开源 分布式数据库 ShardingSphere SphereEx

清空数组的几个方式

编程江湖

大前端

如何在 Flutter 中设置背景图像【Flutter专题15】

坚果

flutter 28天写作 签约计划第二季 12月日更

百度智能客服斩获 “金音奖—中国最佳客户联络中心技术与解决方案奖”

百度大脑

人工智能 智能客服

架构实战营 模块七作业

felix

「架构实战营」

青藤解密:72%客户容器规模>100个,[镜像安全]谁来保护?

青藤云安全

镜像安全

同态加密实现数据隐私计算,能让你的小秘密更加秘密

华为云开发者联盟

数据 加密 同态加密 联邦计算 数据隐私计算

复杂场景,从OpenTSDB迁移到TDengine的最佳实践

TDengine

数据库 tdengine

开始读 Go 源码了

AlwaysBeta

golang 源码 源码阅读 源码剖析 Go web

面对行业难题,华为云邀请物联网全行业拿出“亮剑”精神

华为云开发者联盟

IoT 华为云 LiteOS HarmonyOS IoT边缘

什么是云计算?云计算特点是什么?

行云管家

云计算 公有云 混合云 云资源

使用logstash获取springboot控制台日志并传输到elasticsearch

小鲍侃java

签约计划第二季

Redis架构实战:高并发情况下并发扣减库存

编程江湖

java编程

【AI最前线】精准优质-资讯|分享|热议第42期

百度大脑

使用logstash监控微服务项目,并制定索引格式

小鲍侃java

签约计划第二季

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