# RPC 漫谈： 连接问题

DevFeed: [RPC 漫谈： 连接问题](<https://devfeed.tech/articles/rpc-40975.md>)

Original publisher: [Read original article](<https://blog.joway.io/posts/deep-into-rpc-connection/>)

Author: Joway

Published: 2021-05-06T00:00:00Z

Content type: tutorial

Language: zh

Sources: [Random Thoughts](<https://devfeed.tech/sources/random-thoughts.md>)

Topics: [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [IO](<https://devfeed.tech/topics/io.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [io](<https://devfeed.tech/tags/io.md>), [linux](<https://devfeed.tech/tags/linux.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [server](<https://devfeed.tech/tags/server.md>), [service-mesh](<https://devfeed.tech/tags/service-mesh.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [tech](<https://devfeed.tech/tags/tech.md>)

## AI overview

This article explains what a network connection represents, the memory, file-descriptor, and thread costs of maintaining connections, and why the C10K problem is primarily an operating-system and software-design challenge. It then introduces the evolution of Linux I/O interfaces, including select and poll, in the context of RPC and large numbers of concurrent connections.

## Source excerpt

什么是连接 在物理世界并不存在连接这么一说，数据转换为光/电信号后，从一台机器发往另一台机器，中间设备通过信号解析出目的信息来确定如何转发包。我们日常所谓的「连接」纯粹是一个人为抽象的概念，目的是将传输进来的无状态数据通过某个固定字段作为标识，分类为不同有状态会话，从而方便在传输层去实现一些依赖状态的事情。