当前位置: 首页 > news >正文

网站开发的研究背景搜狗站长管理平台

网站开发的研究背景,搜狗站长管理平台,建筑工程网教,网站建设架构Redis Server 运行原理图 Redis 服务器中 Socket 网络建立以及文件事件模型 一个 redis 单机,可以抗几百上千的并发,这里的并发指的就是同时可以有几百个 client 对这个 redis server 发起请求,都需要去建立网络连接,同时间可能会…

Redis Server 运行原理图

在这里插入图片描述

Redis 服务器中 Socket 网络建立以及文件事件模型

一个 redis 单机,可以抗几百上千的并发,这里的并发指的就是同时可以有几百个 client 对这个 redis server 发起请求,都需要去建立网络连接,同时间可能会有几百个 redis client 通过 socket 和我们的 redis server socket 建立网络连接

如果自己使用 java socket 编程,无论使用 nio、bio,一旦要是说一个 server 和一个 client 完成了一个网络连接之后,就会多出来一个 socket,socket 是抽象出来通信的模型,通过一个 socket 就可以跟对方的 socket 形成一个连接

那么对于 redis server 而言,内部为了支撑并发访问的大量的 redis client,redis server 内部就会有几百个 socket,网络连接同时在维持着

因此呢,在 bio 模式下,一个 socket 连接就对应了一个线程来监听请求

在 nio 模式下,可以实现 IO 多路复用,一个线程就可以监听多个 socket 的网络事件

在 redis server 中,就是通过 FileEventHandler 进行多路复用

socket 中会产生一些网络事件,accept(连接应答)、read(有数据可以读的事件)、write(有数据可以写的事件)、close(连接被关闭) 在 redis 中这些网络事件都被抽象为文件事件

基于队列串行化的文件事件处理机制

针对 server 端的大量的 socket,不太可能每一个 socket 都使用一个线程来监听,因为线程资源不够,所以不会采用 bio 模式,因此解决方案就是针对大量的 socket,使用一个线程监听 n 多个 socket,采用 IO 多路复用模式

当 server 端保持了大量的 redis client 的连接,可能在同一时间,大量的 redis client 并发的给 server 端发送大量的请求,redis server 内部大量的 socket 会突然同一时间产生大量的事件(例如 read 事件,write 事件)

对于这些网络事件的处理,有两种解决方案(Redis Server 中就采用了第一种,使用队列进行串行化处理):

  • 使用 queue 队列,将接收到事件的 socket 放入 queue 中进行排队,串行化进行处理
  • 将有事件发生的 socket 分发给不同的线程,来进行并发的处理,开启大量的多线程,多个线程并发的去处理不同的 socket 里面的事件

client 和 server 端建立连接的流程为:

我们会有一个专门的 socket 去监听端口,用于监听来自客户端的连接请求,这个连接请求经过 IO 多路复用,由 连接应答处理器 进行处理,处理的操作其实也就是服务端和客户端进行 TCP 三次握手建立连接,建立好连接之后服务端就会创建一个新的 socket,这个 socket 就是接收客户端对应的事件

那么连接建立之后,客户端对于服务端的一些读写请求就会通过 socket 进行请求,请求到达服务端之后,通过 IO 多路复用将任务分发给不同的事件处理器进行处理,如果是读写请求,就将读写的响应通过 socket 响应给客户端

Redis 串行化单线程模型为什么能高并发?

首先 Redis 是通过 串行化 + 单线程 来应对高并发的

Redis 首先是基于内存操作,速度很快,并且当大量请求进入后,都放入队列中,进行串行化处理,由单个线程直接基于内存进行操作,并且单线程的情况下也不需要加锁以及线程上下文切换(多线程是很占用 CPU 资源的),核心就在于 Redis 通过单线程基于内存进行操作!

http://www.hkea.cn/news/812428/

相关文章:

  • 化妆品可做的团购网站有哪些seo研究中心南宁线下
  • 网站空间域名是什么做电商必备的几个软件
  • 软件公司运营是做什么的seo公司运营
  • 专业云南做网站福州短视频seo服务
  • 网站开发技术期中试题电商培训机构排名
  • 网站设计连接数据库怎么做如何进行百度推广
  • 日本网站图片做淘宝代购网络营销促销方案
  • 网站开发导航栏网站制作的费用
  • 盐城网站设计网站流量统计工具
  • 网站上如何做相关推荐郑州建网站的公司
  • 漂亮大气的装潢室内设计网站模板 单页式html5网页模板包前端优化
  • 论坛网站开发开题报告青岛百度推广多少钱
  • 文山做网站如何优化百度seo排名
  • 上海展陈设计公司有哪些成都网站seo性价比高
  • 小韩网站源码360广告投放平台
  • 网站地图的重要性短信广告投放软件
  • 搭建直播网站需要怎么做教育培训机构平台
  • 濮阳网站网站建设网络营销策划是什么
  • 做新闻网站需要什么手续河北软文搜索引擎推广公司
  • 广州网站建设联系电话seo推广的公司
  • 一起做网店一样的网站关键词歌曲免费听
  • 负责网站建设推广本周热点新闻事件
  • 快速做网站优化谷歌在线浏览入口
  • 苏州企业网站建设开发与制作2023年6月份又封城了
  • 用java做网站可以吗吉林seo刷关键词排名优化
  • 网站建设面试google广告投放技巧
  • 整形网站整站源码如何让关键词排名靠前
  • php网站后台搭建外贸网站大全
  • 建 新闻 网站营销战略有哪些内容
  • 营销融合app网站seo招聘