为什么 REST 对微服务而言很糟糕

2년 전

RESTful 在过去风靡了有一阵子,然而在实践中它并不是那么好用,在现今微服务横行的时期更是如此。


REST 由 HTTP 承载,REST 建议我们尽可能的使用 HTTP 的状态码表示业务返回码,这从一开始就是有问题的,HTTP 状态码屈指可数,根本无法囊括复杂的业务返回值。而且很多时候是有歧义的,比如 404 到底表示这个 url 不存在还是我要请求的业务数据不存在?协议层的错误码和应用层的错误码,本就不该混用。


在微服务时代,我们往往还要求两个服务之间是能够双向通信的,而 REST 却是单向的 --- 只能由客户端请求服务端,要实现双向通信,要么多建立一条服务端请求客户端的连接,要么客户端不断的轮询服务端。

再就是我们希望能够复用同一条连接来发送多个请求,HTTP 默认情况下每个请求创建一个新连接,请求完释放连接,开销比较大。虽然 HTTP 的 keep-alive 头能够实现这一点,但这个机制比较粗糙,而且服务端还未必支持。


(首发:编程笔记

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT