接入互联网的方法很多,通常有下面几种接入法。1.利用公共电话网接入利用一条可以连接ISP的电话线、一个账号和调制解调器拨号接入。其优点是简单、成本低廉;缺点是传输速度慢,线路可靠性差,影响电话通信。2.综合业务数字网(IntegratedServiceDigitalNetwork,ISDN)窄带ISDN(N-ISDN)以公共电话网为基础,采用同步时分多路复用技术。它由电话综合数字网(Integra
分类:
其他好文 时间:
2020-04-15 15:14:53
阅读次数:
55
es使用netty来通信,实现分布式的功能,但在某些场景会oom。 1:netty概述IO 多路复用NioEventLoop.run select由jdk实现在win下使用select,在linux下使用epoll。linux下也可以使用netty实现的epoll:EpollEventLoop。 线 ...
分类:
Web程序 时间:
2020-04-15 11:08:07
阅读次数:
125
想要理解多路复用技术,首先要了解这个技术出现之前,我们面临的痛点是什么。 以 JAVA 为例,我们想要写一个 TCP 服务端,接收客户端发来的数据,那么我们会这样写: while (true) { Socket socket = serverSocket.accept(); //读取输入缓冲区数据 ...
分类:
其他好文 时间:
2020-04-15 01:03:57
阅读次数:
91
文件事件处理器 Redis基于Reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器 file event handler。这个文件事件处理器,它是单线程的,所以 Redis 才叫做单线程的模型,它采用IO多路复用机制来同时监听多个Socket,根据Socket上的事件类型来选择对应的 ...
分类:
编程语言 时间:
2020-04-12 16:31:27
阅读次数:
67
1. selectors I/O多路复用抽象 selectors模块在select中平台特定的I/O监视函数之上提供了一个平台独立的抽象层。 1.1 操作模型 selectors中的API是基于事件的,与select中的poll()类似。它有多个实现,并且这个模块会自动设置别名DefaultSele ...
分类:
编程语言 时间:
2020-04-07 09:21:11
阅读次数:
75
关闭连接:本质是取消 Channel 在 Selelctor 的注册 [toc] __Netty 系列目录()__ 1. 主线分析 1.1 主线 关闭连接分两种:主动关闭(正常关闭)和被动关闭(异常关闭)。 多路复用器(Selector)接收到 OP_READ 事件 处理 OP_READ 事件:Ni ...
分类:
其他好文 时间:
2020-04-06 21:06:50
阅读次数:
128
关于Python程序的运行性能方面, 有什么手段能提升性能? 1、对于性能影响较大的部分代码,可以使用C或C++编写 2、对于IO阻塞造成的性能影响,可以使用IO多路复用来解决 3、尽量使用python的内建函数 4、尽量使用局部变量 python不支持的数据类型有 A. char B. int C ...
分类:
其他好文 时间:
2020-04-05 00:37:50
阅读次数:
61
作为一名程序员,io知识是必不可少,其实一直在和io打交道,要么显示要么隐含给了操作系统,故做下关于io的记录。说io之前呢,先介绍什么叫同步异步丶阻塞非阻塞 1. 同步异步丶阻塞非阻塞 1.1 同步是指发出一个请求,在没有得到结果之前该请求就不返回结果,请求返回时,也就得到结果了。比如我经常用烧水 ...
分类:
编程语言 时间:
2020-04-04 09:54:12
阅读次数:
75
关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间 分析解决这类问题,关键在 ...
分类:
系统相关 时间:
2020-04-01 13:13:17
阅读次数:
109
学习自《Redis开发与运维(付磊)》 [TOC] 简介 Redis是一种基于键值对(key value)的NoSQL数据库。 特性 1. 速度快 Redis的数据都存放在内存中,代码通过C语言实现,使用了单线程的IO多路复用机制,这些都使得redis的读写速度非常快。 2. 基于键值对的数据结构服 ...
分类:
其他好文 时间:
2020-03-30 21:52:13
阅读次数:
74