官术网_书友最值得收藏!

RPC API design

Some of the principles we have just discussed for creating a good RESTful API can also apply to RPC. However; one of the main differences is that you may not be using HTTP as your transport; therefore you are not always going to be able to use HTTP status codes as an indicator of success or failure. RPC stands for Remote Procedure Call and dates way back before the Internet. It was originally conceived as a way to execute a procedure that could be running in a separate application on the same machine or even potentially on the network. While we take this for granted now, back in the 90s this was cutting edge. Unfortunately, frameworks such as CORBA and Java RMI gave RPC a bad name and even now if you speak to an opponent of RPC they will most likely bring these two frameworks up. The benefits, however, were performance, using binary serialization is incredibly efficient on the network and we no longer have the tight coupling that RMI and CORBA enforced. We are also not trying to do anything too clever; we are no longer attempting to share an object across two processes we are taking a more functional approach, that is, methods that return immutable objects. This gives us the best of both worlds; the simplicity of interoperation and the speed and small payload of binary messages.

主站蜘蛛池模板: 繁昌县| 和林格尔县| 聂荣县| 普格县| 平罗县| 易门县| 定远县| 杭锦后旗| 海淀区| 临夏市| 巩留县| 柘荣县| 清徐县| 石门县| 交城县| 平罗县| 衢州市| 象州县| 莎车县| 安远县| 百色市| 齐齐哈尔市| 成都市| 华阴市| 永善县| 从江县| 隆化县| 集贤县| 禹城市| 云安县| 石泉县| 宜宾市| 陇南市| 临沧市| 汉寿县| 樟树市| 清徐县| 渭源县| 华阴市| 商丘市| 胶州市|