2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Eclipse MicroProfile 1.3 现已发布

  • 2018-02-27
  • 本文字数:1834 字

    阅读完需:约 6 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Eclipse MicroProfile 通过为企业级 Java 微服务提供开源社区规范从而更好地解决微服务问题。发布的 1.3 版本引入了 OpenAPI、OpenTracing 以及 Rest Client API,并且升级了 Config 和 Metrics 的 API。

MicroProfile OpenAPI 1.0

随着微服务体系结构(MSA,Microservices Architecture)中的微服务数量的增加,微服务的管理可能变得难以处理。MicroProfile 1.3 版本添加了一个新功能:OpenAPI,它能通过使用应用程序编程接口(API)管理解决方案便捷地对微服务进行管理。OpenAPI 基于 Swagger 内核,坚持 Open API 规范,定义了一种标准化的、编程语言无关的接口描述,开发人员可以使用它来公开他们的 API 文档。其中有许多不同的方式可以增强应用程序为生成 OpenAPI 文档提供的输入:

通过前面所描述的机制构建的 OpenAPI 文档可以使用一个过滤器来进行更新。

MicroProfile OpenTracing 1.0

在 MSA 中,分布式跟踪是至关重要的,因为它能够使得开发人员对跨服务边界的请求留进行可视化。OpenTracing 是 MicroProfile 1.3 版本中的另一个新特性,它通过对行为进行定义来支持分布式跟踪,它还允许开发人员在运行环境中(而不是开发时)进行分布式跟踪的决策。OpenTracing 支持在一个应用程序内对Tracer对象进行访问。开发人员能够通过Tracer对象从传入的请求中提取所需的信息。

对于分布式跟踪来说,有两种操作模式:

  • 不使用应用程序代码模式
  • 使用显式代码

在不使用应用程序代码的模式下进行操作时,开发人员不需要向他们应用程序源代码添加任何有关分布式跟踪的代码,也不需要知道应用程序即将部署到的环境类型。只要发出请求与传入请求在相同的线程中进行处理,它们之间的关系就会被自动处理。

在使用显式代码的模式中,可以使用@Thread注释来指定被跟踪的类或者方法。经过配置的Tracer对象可用于通过上下文和依赖注入(CDI,Contexts and Dependency Injection)的应用程序,这使得开发者能够向应用程序添加更为复杂的跟踪需求。

MicroProfile Rest Client API 1.0

Rest Client API 是 MicroProfile 1.3 版本中的另一个新特性,它提供了一种类型安全的方法来通过 HTTP 调用 RESTful 服务。例如,可以为远程服务定义一个接口来对股票进行评分,如下所示:

复制代码
@Path("/stocks")
public interface StockScoringService {
@POST
@Path("/{stockId}/score")
Integer submitScore(@PathParam("stockId") Integer stockId, Score score );
}

然后就可以通过该接口调用实际的远程股票评分服务,如下所示:

复制代码
String apiUrl = "http://localhost:9080/stockScoringService";
StockScoringService stockSvc =
RestClientBuilder.newBuilder()
.baseUrl(apiUrl)
.build(StockScoringService.class);
Integer stockId = 4;
Score score = new Score(10,"Great performing stock.");
stockSvc.submitScore(stockId, score);

Rest Client API 支持更自然的编码风格,并且能够自动处理 HTTP 的连接和序列化。

MicroProfile Config 1.2

对于运行在云环境下的微服务来说,尤为重要的是,在应用程序运行时需要进行更改的配置信息需要在没有进行重新启动的情况下生效。Config 1.2 使得更改一旦发生就能够立刻对配置的值进行修改。最新的特性包括提供了对数组转换器、类转换器以及类的隐式转换器(在该类中,没有对应的该类类型的转换器)的支持。

MicroProfile Metrics 1.1

监控系统的参数能够确保软件运行的可靠。Metrics 能够为给定的流程添加监视端点和度量标准。不同于简单地健康监测(Health Checks),Metrics 能够通过基线、应用程序、特定的供应商指标来深入了解软件的运行情况。最新的功能提供一个改进的兼容性测试工具包(TCK,Test Compatibility Kit),它能够通过配置文件来提供全局标记以及对注释和元数据的标记,用以标明那些能被注册超过一次的度量标准的名字。

想要开始使用MicroProfile 1.3,你需要在你的 porn.xml文件中添加如下依赖:

复制代码
<dependency>
      <groupId>org.eclipse.microprofile</groupId>
      <artifactId>microprofile</artifactId>
      <version>1.3</version>
      <type>pom</type>
</dependency>

你可以在 MicroProfile 1.3 的发布详情中了解更多细节。读者们也能通过访问 InfoQ Java 主页关注所有和 Java 相关的新闻来了解更多信息。

查看英文原文: Eclipse MicroProfile 1.3 Is Now Available

2018-02-27 18:003799

评论

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

如何向大模型注入知识?达摩院通义对话模型SPACE系列探索

阿里技术

人工智能 机器学习 深度学习 NLP 大模型

【Mybatis】如何继承Mybatis中的Mapper.xml文件

石臻臻的杂货铺

mybatis 10月月更

化解企业云端协同难题,英特尔超能云终端2.0版本为市场注入全新活力

科技之家

CEF | CEF浏览器客户端功能详解

YOLO.

qt 10月月更 C++

彻底搞懂React-hook链表构建原理

夏天的味道123

React

不知道如何分库分表,看完这篇文章,轻松应对工作面试

一灯架构

Java 10月月更

react-Suspense工作原理分析

夏天的味道123

React

数字先锋| 铺设一条县域医疗“康庄大道”!

天翼云开发者社区

音频功率放大电路(使用过的语音方案电路记录)

矜辰所致

10月月更 音频功率放大电路 语言模块

玩转云端| 看天翼云iBox智能盒子如何实现边缘侧的“神机妙算”

天翼云开发者社区

颜值经济下,车企的必备武器

华为云开发者联盟

云计算 后端 SaaS 华为云 企业号十月 PK 榜

【Mybatis】Mybatis generator如何修改Mapper.java文件

石臻臻的杂货铺

mybatis 10月月更

小程序化:企业降本增效新玩法

Speedoooo

小程序 远程办公 数字化管理 数字化办公 小程序容器

面试官竟然问我为啥要用MQ,幸亏我看了参考答案

一灯架构

Java Java 面试 10月月更

聚焦DPU 技术研发与创新 天翼云打造全新一代云计算体系结构

天翼云开发者社区

读写锁还不会用StampedLock就Out了

JAVA旭阳

Java 并发 10月月更

专访“MySQL 之父”:我曾创造 MySQL,也将颠覆 MySQL

博文视点Broadview

奋楫十年天翼云以科技创新刷新“中国速度”

天翼云开发者社区

方舟数据中台,打造企业数据能力组件中心

元年技术洞察

数据中台 低代码 数字化转型 企业自驱力

PaaS平台应用趋势

元年技术洞察

AI 数据湖 PaaS 容器服务 微服务化

链上量化合约保险交易挖矿dapp系统开发

开发微hkkf5566

告别丑陋判空,一个Optional类搞定

JAVA旭阳

Java 架构 并发 10月月更

天翼云赋能智慧农业新农人迎来好收成

天翼云开发者社区

小程序技术可助力智慧医疗企业破茧突围?

Speedoooo

小程序 小程序容器 小程序化

2022年中国快递出海市场发展洞察

易观分析

一带一路 快递

Web3.0时代,区块链能做什么?

旺链科技

区块链 产业区块链 Web 3.0 企业号十月PK榜

TCP:当初取代NCP,如今害怕被取代

C++后台开发

后台开发 网络协议 TCP/IP 后端开发 TCP协议

收集yum install安装的软件的全量依赖 rpm 包

琦彦

rpm yum 10月月更

程序员脱口秀|10.20 硬核女孩召集!

Jina AI

程序员 活动 1024 活动报名

手把手入门 Vue教学

MobTech袤博科技

html Vue

一文详解如何用MySQL/Redis/ZooKeeper实现分布式锁

一灯架构

Java 10月月更

Eclipse MicroProfile 1.3现已发布_Java_Kesha Williams_InfoQ精选文章