高性能网络,这个名词一般人是听不到的hhhhh。我觉得只有对网络了解更加深入的,才会有参与到这里面的可能性。
阻塞
今天看到一句话,同步阻塞网络 IO 是高性能网络开发路上的绊脚石。
网络开发模型中,经常会遇到阻塞和非阻塞的概念。
阻塞,其实说的是进程因为等待某个事件而主动让出CPU挂起的操作。
在网络 IO 中,当进程等待 socket 上的数据时,如果数据还没有到来,那就把当前进程状态从 TASK RUNNKNG 修改为 TASK INTEPRUPTIPLE,然后主动让出 CPU。由调度器来调度下一个就绪状态的进程来执行。
所以,以后在分析某个技术方案是不是阻塞的时候,关键要看进程有没有放弃 CPU。如果放弃了,那就是阻塞。如果没放弃,那就是非阻塞。
事实上,recviom 也可以设置成非阻塞。在这种情况下,如果 socket 上没有数据到达,调用直接返回空,而不是挂起等待。
1.负责 xx 云公网产品控制器的方案设计及开发工作;
2.负责项目开发过程中的技术攻关及解决运行中出现的技术问题;
3.负责客户业务上云的解决方案及问题排查、优化。
1.本科及以上学历,5年网络研发相关工作经验;
2.掌握公有云各种业务场景与模型,深入理解公有云业务需求,对业务上云方案有较丰富经验 ;
3.从事云平台系统开发设计,并有主导或深度参与公有云网络等基础架构设计的工作经验;
4.熟悉C/C++/Python等语言,具备扎实编程功底,编写过核心模块代码;
5.熟悉Linux TCP/IP协议栈原理,具备丰富的网络调优排障经验 ;
6.有nginx、openstack neutron、openvswitch、sdwan、sdn、负载均衡等网络产品或功能开发经验者优先;
7.具有良好的沟通能力和团队意识,具备较好的自我驱动力,勇于接受挑战和拥抱变化,保持持续学习技术的热情,乐于团队合作和技术分享。