软件工程应该构建成熟的REST生态
极客时间编辑部
讲述:丁婵大小:2.47M时长:02:42
过去几年,软件开发社区出现越来越多反 REST 的观点。然而,替代技术经常出现在特定上下文中,其呈现出的优点和缺点往往与特定用例相关。REST 崛起本身就是由一种错误的二分法导致的。
温哥华人提姆·布雷(Tim Bray)最近的博客文章“后 REST”引起了业界广泛关注。随着 Web API 得到越来越多应用,人们开始怀疑 REST 1 是否是 Web API 的理想通信约定。除了开放 Web 通信范围外,REST 现在还用于提供 Web 应用程序数据、微服务间通信、促进基础设施管理和自动化,甚至还用于消息传递、事件分发和流等异步模式。
提姆的文章很好地概括了 REST 的用法、局限性、一些新兴的替代协议 ,并推测了 Web API 通信的未来。但是,我们更应该考虑如何将 REST 的优势与新协议的创新结合起来,从而为分布式软件生态系统中的通信提供不断演进的替代方案。
在支持 GraphQL、gRPC、异步通信的声音甚至更模糊的观点中,经常看到“REST 在 x 上不好,所以使用 y 代替”的说法。
许多 GraphQL 的公开支持者都倾向于数据中心和 JavaScript。gRPC 和协议缓冲区本来是谷歌内部使用的,并遵循与 Kubernetes 容器编制项目类似的公开路径。许多 gRPC 倡导者都集中在基于容器的应用程序之间的通信上,互斥异步通信通常用于响应式系统或事件源上下文。在这些特定的上下文中,专门为其设计的方法自然会比那些更通用的 REST 方法具备优势。
在现实中,软件工程通常是层叠演进的。每一个新的创新都为后续一系列创新奠定了基础。新的 API 协议将取代在某些分布式场景中使用基于资源、JSON 编码、HTTP 传输的消息。
然而,REST 在分布式系统发展中留下的遗产,不应该只是与其实现细节相关的内容,而更多的应该是相关特征,比如为通用连接性提供框架、将服务消费者与提供者分离、强调可用性和可访问性,正是这些特征使得 REST 成为软件工程后 Web 范式的基础。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- PandagraphQL 挺好
收起评论