Linux RPC — серверная часть

Linux RPC — серверная часть

Я читаю о RPC наэтотстраница.

Я понимаю, что это модель клиент/сервер, и сервер может отвечать на запросы клиента. Я хочу спросить, возможно ли, чтобы компонент на стороне сервера не был запущен, когда клиентская сторона пытается использовать RPC для его вызова, и каким-то образом серверная сторона запускается для обработки запроса?

решение1

Есть как минимум два способа создать систему, которая это делает:

  1. Ядро выполняет службу RPC. Это в основном касается серверов NFS. Ядро Linux выполняет службу NFS. Вы не увидите многого, если вообще увидите, от пользовательского процесса. Частично это объясняется производительностью (а служба NFS критически важна для производительности), а частично тем, что ядро ​​имеет информацию о файлах и файловых системах, которая недоступна больше нигде.
  2. Вы можете иметь "интернет супер сервер" запущен, который прослушивает набор портов TCP и/или UDP. Когда какие-то данные поступают на один из портов, входящих в набор, "суперсервер" запускает реальный серверный процесс и передает сокет как stdin и stdout. Оригинал inetdвышел из моды, и естьряд замен, в том числе xinetd, systemdи другие.

Связанный контент