31、微服务规模化实践与原则

微服务规模化实践与原则

1. Swagger与HAL技术介绍

在微服务领域,有两项不同的技术——Swagger和HAL,它们都致力于将某些设想变为现实,且都值得深入研究。

1.1 Swagger

Swagger 允许用户描述 API,进而生成美观的 Web UI。借助这个 UI,用户能通过 Web 浏览器查看 API 文档并与之交互。执行请求的功能十分实用,例如可以定义 POST 模板,明确服务器期望接收的内容类型。

要实现这些功能,Swagger 要求服务暴露一个符合 Swagger 格式的边车文件。Swagger 为不同语言提供了众多库来实现这一功能。以 Java 为例,可对与 API 调用匹配的方法添加注解,系统会自动生成所需文件。

Swagger 能为终端用户带来良好的体验,但在超媒体核心的渐进式探索概念方面作用有限。不过,它仍是展示服务文档的不错方式。

1.2 HAL 与 HAL 浏览器

超文本应用语言(HAL)本身是一种描述超媒体控件标准的规范。超媒体控件能让客户端以比其他集成技术更松散的耦合方式逐步探索 API,从而使用服务功能。

若采用 HAL 的超媒体标准,不仅能使用大量用于消费 API 的客户端库(撰写本文时,HAL 维基列出了支持多种不同语言的 50 个库),还能使用 HAL 浏览器,通过 Web 浏览器探索 API。

与 Swagger 类似,HAL 的 UI 不仅可作为实时文档,还能对服务本身执行调用。不过,执行调用的流畅度稍逊一筹。Swagger 可定义模板来发起 POST 请求等操作,而使用 HAL 时则需用户自行处理更多细

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值