概述
微服务设计 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动词的统一接口,这鼓励了可进化性。它在幂等性,副作用和响应代码方面具有明确定义的语义。它强制实施无状态通信,从而提高了可伸缩性。
最后
以上就是高挑大神为你收集整理的架构思考(九)的全部内容,希望文章能够帮你解决架构思考(九)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复