我是靠谱客的博主 高挑大神,最近开发中收集的这篇文章主要介绍架构思考(九),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

微服务设计 API

良好的 API 设计在微服务体系结构中非常重要,因为服务之间的所有数据交换都是通过消息或 API 调用进行的。API 必须高效,以避免创建喋喋不休的 I/O。由于服务是由独立工作的团队设计的,因此 API 必须具有明确定义的语义和版本控制方案,以便更新不会破坏其他服务。

在这里插入图片描述
区分两种类型的 API 非常重要:

  • 客户端应用程序调用的公共 API。
  • 用于服务间通信的后端 API。

这两个用例的要求略有不同。公共 API 必须与客户端应用程序(通常是浏览器应用程序或本机移动应用程序)兼容。大多数情况下,这意味着公共 API 将通过 HTTP 使用 REST。但是,对于后端 API,您需要考虑网络性能。根据服务的粒度,服务间通信可能会导致大量网络流量。服务可能很快就会受到 I/O 限制。因此,序列化速度和有效负载大小等注意事项变得更加重要。通过HTTP使用REST的一些流行的替代方案包括gRPC,阿帕奇阿夫罗和阿帕奇节俭。这些协议支持二进制序列化,通常比 HTTP 更有效。

考虑

以下是在选择如何实现 API 时需要考虑的一些事项。

Rest与RPC。考虑使用 REST 样式的接口与 RPC 样式的接口之间的权衡。

  • REST 模型资源,这可能是表达域模型的自然方式。它定义了一个基于HTTP动词的统一接口,这鼓励了可进化性。它在幂等性,副作用和响应代码方面具有明确定义的语义。它强制实施无状态通信,从而提高了可伸缩性。

最后

以上就是高挑大神为你收集整理的架构思考(九)的全部内容,希望文章能够帮你解决架构思考(九)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部