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

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.

主站蜘蛛池模板: 新安县| 弥渡县| 乡城县| 大城县| 石楼县| 东乡族自治县| 汝南县| 东辽县| 贵南县| 天长市| 台北市| 宜都市| 多伦县| 三原县| 屯留县| 郓城县| 工布江达县| 高要市| 潼南县| 出国| 平远县| 荔波县| 湟中县| 卢龙县| 阜新市| 祁连县| 淳化县| 浏阳市| 曲靖市| 株洲县| 肥城市| 海南省| 涟源市| 务川| 平塘县| 水城县| 定安县| 富锦市| 广宗县| 苗栗市| 台江县|