随笔分类 -  IO

摘要:RocketMQ学习笔记 RocketMQ学习参考官网文档:https://github.com/apache/rocketmq/tree/master/docs/cn 。 由于RocketMQ是有国内阿里开发的MQ系统,因此RocketMQ的官网是有中文文档的,本文档也是参考官网文档整理的。 1. 阅读全文
posted @ 2022-06-27 17:20 Zs夏至 阅读(312) 评论(2) 推荐(0) 编辑
摘要:集群负载均衡 随着现在互联网的发展,上网的人越来越多,而中国是一个人口大国,也因此中国的互联网是使用的最多的。随着现在网上购物的崛起,一个网站的访问量就会非常的大。那么我们如何保证一个网站可以支撑起高并发的网络请求?例如淘宝双十一时每秒几千万的并发,如何使服务器支撑起这么大的并发保证服务的可用性? 阅读全文
posted @ 2021-09-12 01:58 Zs夏至 阅读(458) 评论(0) 推荐(0) 编辑
摘要:IO学习笔记 一、IO前置知识--Linux系统 根据冯诺依曼计算机结构,计算机的组成为:运算器、控制器、存储器、输入输出设备。 在现代计算机中,运算器和控制器集成为了cpu,存储器按照功能可以拆分为内存和磁盘。而输入输出设备也就是键盘、显示器等,统称为IO。 而Linux系统其实也是一个普通的程序 阅读全文
posted @ 2021-07-01 10:18 Zs夏至 阅读(581) 评论(1) 推荐(0) 编辑
摘要:2.4 多路复用javaAPI 在上面我们简单java代码实现了多路复用,是一个单线程版的。讲上面的epoll代码复制到linux服务器中,使用strace追踪系统调用。 javaAPI会根据系统类型自动选择最优的多路复用器,因此在linux下默认就是使用epoll模型,也可以通过启动参数指定多路复 阅读全文
posted @ 2021-07-01 09:38 Zs夏至 阅读(88) 评论(1) 推荐(1) 编辑
摘要:2.3 多路复用 但是NIO仍有它的缺陷,因为服务端和客户端都在一个线程中,主线程遍历客户端集合去每一个客户端都问一遍:你有没有数据,这样的话,如果有10K个客户端,只有最后一个客户端才收到了信息,但是取数据时还是要去将前面的99999个客户端问一遍,但是前面的遍历其实都是无用功。所以还要继续优化, 阅读全文
posted @ 2021-06-16 15:18 Zs夏至 阅读(101) 评论(0) 推荐(0) 编辑
摘要:2.2 NIO 由于上面BIO的弊端,以及为了解决C10K的问题,出现了NIO模型(NonBlockingIO)。java中的nio指new io,而linux中的nio指NonblockingIO。 NIO是同步非阻塞模型。 代码如下: import java.io.IOException; im 阅读全文
posted @ 2021-06-16 15:16 Zs夏至 阅读(66) 评论(0) 推荐(0) 编辑
摘要:二、 Socket编程 常见的IO模型主要有以下分类: 同步/异步 阻塞/非阻塞 这两个可以互相组合,如同步阻塞模型/同步非阻塞模型,但是没有异步阻塞模型。windows实现了异步模型,但是linux并没有实现,因此linux中的IO都是同步模型的。 2.1 BIO BIO--即`BlockingI 阅读全文
posted @ 2021-06-16 15:15 Zs夏至 阅读(87) 评论(0) 推荐(0) 编辑
摘要:1.4 pageCache pagecache是kernel中的一个折中方案。 可以没有pagecache,如果没有pagecache的话,那么如果应用想要访问文件的话,应用程序只需要调用kernel,然后kernel访问磁盘,拿到数据后直接返回就结束了,但是磁盘是比较慢的,为了提升效率所以加了pa 阅读全文
posted @ 2021-04-23 15:11 Zs夏至 阅读(120) 评论(0) 推荐(0) 编辑
摘要:1.2 用户态和内核态 操作系统在运行过程中,cpu有两种状态,用户态和内核态。 用户态:运行所有的用户程序。 内核态:操作系统运行在内核态。内核态主要负责系统调度以及与硬件的交互。 用户态和内核态的区别 内核态与用户态是操作系统的两种运行级别,当程序运行在3级特权上时,就可以称之为运行在用户态。因 阅读全文
posted @ 2021-04-21 19:51 Zs夏至 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一、IO前置知识--Linux系统 根据冯诺依曼计算机结构,计算机的组成为:运算器、控制器、存储器、输入输出设备。 在现代计算机中,运算器和控制器集成为了cpu,存储器按照功能可以拆分为内存和磁盘。而输入输出设备也就是键盘、显示器等,统称为IO。 而Linux系统其实也是一个普通的程序,它运行在内存 阅读全文
posted @ 2021-04-19 14:22 Zs夏至 阅读(152) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示