如果要做RPC的話,因?yàn)闆](méi)做過(guò),所以想請(qǐng)教一二
了解RPC原理,如果做RPC,需要服務(wù)常駐嗎,有必要嗎?
想到用 鳥(niǎo)哥的 yar 做RPC,但看了相關(guān)文檔,這個(gè)RPC框架還是基于http協(xié)議的,
$service = new \yar_Client("http://host/service/api");
$result = $service->method($params);
我是把 yaf 與 yar 相結(jié)合起來(lái)做RPC的,因?yàn)閥ar還是基于http,所以想到依托web容器(nginx + php-fpm)
如果采用這種模式,那跟普通的 http API 有什么區(qū)別呢
看到網(wǎng)上說(shuō)
RPC yar 用于內(nèi)部系統(tǒng)服務(wù)化,遠(yuǎn)程類(lèi)直接當(dāng)做本地類(lèi)使用,調(diào)用方便
http api 提供給外部調(diào)用,通常需要認(rèn)證
不知道這種說(shuō)法如何?
看了官網(wǎng)的 workerman-json-rpc,用這個(gè)做的話,是不是就可以做到服務(wù)常駐化?
像 workerman-json-rpc(常駐化) 與 yar(基于http協(xié)議的RPC框架) 有什么區(qū)別嗎?
略微不懂,還請(qǐng)指教一二,謝謝
1、常駐內(nèi)存可以提高程序性能,但常駐內(nèi)存不是必須的
2、api接口一般是給外部(外網(wǎng))調(diào)用的,rpc一般是內(nèi)部調(diào)用,所以api需要嚴(yán)格人認(rèn)證,rpc則一般不需要這么嚴(yán)格的認(rèn)證甚至不需要認(rèn)證
3、workerman-json-rpc 是常駐內(nèi)存的,yar和yaf不是常駐內(nèi)存。workerman-json-rpc它的通訊協(xié)議不是http的,是自定義協(xié)議的(json+換行符)。yar和yaf一般是http協(xié)議的。另外就是workerman-json-rpc帶一個(gè)監(jiān)控統(tǒng)計(jì)。