Kafka快速入门(六)——Kafka集群部署一、Kafka集群部署方案规划1、操作系统选择通常,生产环境应该将Kafka集群部署在Linux操作系统上,原因如下:(1)Kafka客户端底层使用了Java的selector,selector在Linux上的实现机制是epoll,而在Windows平台上的实现机制是select,因此Kafka部署在Linux上能够获得更高效的I/O性能。(2)网络传
分类:
其他好文 时间:
2020-05-26 10:30:54
阅读次数:
69
为什么用Redis 是什么 一个小程序 缓存 & 数据库 单线程worker 新版本:IO threads epoll:多路复用 速度 硬盘:寻址时间ms,带宽(吞吐)百兆~G/s(固态硬盘pci-e nvme) 内存:寻址时间ns,比硬盘快10w倍 文件 全量扫描(高IO),过大(T级)时,查询会 ...
分类:
数据库 时间:
2020-05-22 19:09:54
阅读次数:
97
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数 ...
分类:
其他好文 时间:
2020-05-22 12:32:09
阅读次数:
48
数据结构丰富 高性能 数据存储全内存 支持持久化 支持master-slave热备 支持事务 支持集群 单进程/线程 基于epoll 非阻塞网络io 数据类型 string 二进制安全,动态扩容,提前动态分配,所需两边分配 list 快速双向链表 lpush rpush lpop rpop set ...
分类:
其他好文 时间:
2020-05-21 14:40:17
阅读次数:
62
接上文我们查看了bind和listen流程,直到了listen操作会在内核初始化一个epoll表,并将listen的描述符加入到epoll表中 如何保证epoll表初始化一次 前文我们看到pollDesc的init函数中调用了runtime的pollOpen函数完成的epoll创建和描述符加入,这里 ...
分类:
Web程序 时间:
2020-05-20 14:12:55
阅读次数:
48
之前分别记录了epoll(并发程序设计3:多路IO复用技术(2)),select和poll(并发程序设计2:多路IO复用技术(1))的用法,本节比较一下它们各自的特点。 1. select和poll的不同 (1) select和poll的原理和用法基本上是一样的,其内部实现机制也差不多,主要区别在于 ...
分类:
其他好文 时间:
2020-05-19 14:23:54
阅读次数:
46
应该从不同角度看libevent的同步/异步、阻塞/非阻塞: IO数量的角度:select出来之前,会阻塞在一个io上,处理完成后再阻塞在下一个io上;之后就是把所有的io fd拿过来,都不阻塞,一个一个fd去询问是否可读,每次询问完后把可读的io fds返回;所以说:libevent是非阻塞的; ...
分类:
其他好文 时间:
2020-05-16 12:46:00
阅读次数:
99
OpenResty搭建高性能服务端 Socket编程 Linux Socket编程领域为了处理大量连接请求场景,需要使用非阻塞I/O和复用,select、poll、epoll是Linux API提供的I/O复用方式,自从Linux2.6中加入了epoll之后,高性能服务器领域得到广泛的应用,Nign ...
分类:
其他好文 时间:
2020-05-14 15:20:05
阅读次数:
86
安装各种服务器软件 nginx 安装完成之后,直接使用ip地址访问服务器,就可以看到nginx的默认欢迎页面了。 如果安装报错比如80端口占用,说明此前安装了其它网络服务器,建议全都关掉再安装,并且让nginx独占80端口作为反向代理服务器 安装完成之后配置反向代理,使用whereis nginx命 ...
分类:
系统相关 时间:
2020-05-12 09:56:59
阅读次数:
82
Linux网络优化篇 概念:网络七层模型:应用层,负责为应用程序提供统一的接口。 表示层,负责把数据转换成兼容接收系统的格式。 会话层,负责维护计算机之间的通信连接。 传输层,负责为数据加上传输表头,形成数据包。 网络层,负责数据的路由和转发。 数据链路层,负责 MAC 寻址、错误侦测和改错。 物理 ...
分类:
系统相关 时间:
2020-05-07 22:55:14
阅读次数:
88