Pull to refresh

Comments 6

Одним из основных протоколов передачи данных до сих пор остается TCP, разработанный в начале 1980-х. Но из-за своей «консервативности» он не учитывает все особенности современных дата-центров, которые используют технологию удаленного вызова процедур — RPC. Такой трафик состоит из множества коротких сообщений, рассылаемых тысячам серверов и коммутаторов, и TCP не всегда подходит для подобной коммуникации. Он требует предварительной установки соединения, повторно запрашивает данные при потере и гарантирует их целостность, что само по себе хорошо, но накладываетиздержки на производительность.

Как насчет UDP?

Ну, для RPC нужна гарантия доставки, вроде как.

Естественно, есть реализации “reliable” UDP и они, действительно, испольется. Либо контроль происходит на более высоких уровнях.

Ну и в UDP отличная от TCP парадигма пакетно-ориентированая против потоково-ориентированой.

клиенту не нужно поддерживать открытое подключение и ждать пакеты ACK, подтверждающие доставку сообщений

Да, но вместо ACK у нас есть GRANT — другое название но такая же функция. Если взять старый добрый RUDP (который так и не стал RFC но всё же использовался) то будет почти то же самое — соединения не надо поддерживать, а детали можно подкрутить.

UFO just landed and posted this here

Во всех играх практически так делают. TCP весьма громоздкий и задумчивый для динамичных игр.

UFO just landed and posted this here
Sign up to leave a comment.