这其实是个很白痴的问题 ... 但妈妈说若不懂就要问 ...
只是我不太知道该怎么精确描述这个问题 ... 所以很难依靠搜索引擎取得答案 ...
于是只好来发问耽误大家一点时间了 ...
众所周知在程序中连接一个外部服务有两种方式 ...
make_connection( 'hostname-or-ip:port' ); // e.g. 127.0.0.1:11111
make_connection( '/path/to/unix.sock' ); // e.g. /tmp/icode.sock
我可以理解如果有多台服务器 ... 那么需要使用第一种方式指定外部服务所在的机器 ...
但假如程序和所需要调用的服务在同一台机器上呢 ..?
我应该用 127.0.0.1:11111 的方式来连接 ... 还是用 unixsock 来连接 ..?
这两种方式各有什么优缺点 ..? 在怎样的情况下我该选择哪个 ..?
感觉上如果用第一种方式的话 ... 每次连接都要走一次 TCP/IP ... 性能应该偏低才是 ...
但很多人都在单机上用第一种 ... 说明 unixsock 也许有更严重的瓶颈 ... 是什么呢 ...
如果这样说还是不明确的话 ...
假设一个场景 ... 单台机器上高并发的 web 应用 ... 需要连接一个外部服务 ...
使用这两种方式哪个效率更高哪个更稳定 ... 为什么 ..?