摘要:
为什么需要服务发现 为了高可用,在生产环境中服务提供方都是以集群的方式对外提供服务,集群里面的这些 IP 随时可能会变化,我们需要一本“通信录”即时获取到对应的服务节点,这个获取的过程我们一般叫做“服务发现”。 对于服务调用方和服务提供方来说,其契约就是接口。服务 IP 集合作为“通信录”中的地址, 阅读全文
摘要:
Reactor Reactor 和 Proactor 是两个高性能网络模式。 Reactor 模式也叫 Dispatcher 模式,即 I/O 多路复用监听事件,收到事件后,根据事件类型分配(Dispatch)给某个进程/线程。 Reactor 模式主要由 Reactor 和处理资源池这两个核心部分 阅读全文
摘要:
DMA技术 在没有 DMA 技术之前,I/O过程是这样的: CPU 发出对应的指令给磁盘控制器,饭后返回。 磁盘控制器收到指令后,于是就开始准备数据,会把数据放入到磁盘控制器的内部缓冲区中,然后产生一个中断。 CPU 收到中断信号后,停下手头的工作,接着把磁盘控制器的缓冲区的数据一次一个字节地读进自 阅读全文
摘要:
select、poll 我们熟悉的 select/poll/epoll 是内核提供给用户态的多路复用系统调用,进程可以通过一个系统调用函数从内核中获取多个事件。 select/poll/epoll 是如何获取网络事件的呢?在获取事件时,先把所有连接(文件描述符)传给内核,再由内核返回产生了事件的连接 阅读全文