
底层应用开发
文章平均质量分 66
Linux服务器开发
C/C++Linux后台服务器开发高级架构师内容包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,音视频开发,Linux内核,TCP/IP,协程,DPDK多个高级知识点。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从底层原理出发,了解Linux内核之内存管理
本文讲解更加底层,基本都是从Linux内核出发,会更深入。所以当你都读完,然后再次审视这些功能的实现和设计时,我相信你会有种豁然开朗的感觉。1、页内核把物理页作为内存管理的基本单元。尽管处理器的最小处理单位是字(或者字节),但是MMU(内存管理单元,管理内存并把虚拟地址转换为物理地址的硬件)通常以页为单位进行处理。所以从虚拟内存看,页也是最小单元。体系不同,支持的页大小不同。大多数32位体系结构支持4KB的页,而64位体系结构一般会支持8KB的页。内核用struct page结构体表示.原创 2021-06-08 16:41:31 · 317 阅读 · 0 评论 -
Linux内核之进程管理《Linux内核设计与实现》
文章相关视频详解:(文末附上基于Linux内核4.0版本学习路线思维导图)详解:讲解Linux内核 进程管理,调度器的5种实现 看完视频还不会来找我。1、进程的概念进程就是处于执行器的程序(目标代码放在某种存储介质上)。但进程并不仅仅局限于一个可执行程序代码,通常还要包含其他资源,比如:打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间,一个或多个可执行线程,存放全局变量的数据段等。内核需要有效而又透明地管理所有细节。执行线程(thread o原创 2021-05-24 21:26:31 · 377 阅读 · 4 评论 -
解析redis存储结构丨 redis与mysql存储对比丨redis存储原理分析
90分钟视频讲解搞懂redis存储原理1.redis与mysql存储对比2.redis存储原理分析3.redis存储与持久化的关系【后端开发系列】解析redis存储结构丨 redis与mysql存储对比丨redis存储原理分析更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击:https://ke.qq.com/cour...原创 2021-01-08 15:02:32 · 349 阅读 · 2 评论 -
多线程环境下海量定时任务的定时器设计丨时间轮实现丨红黑树,跳表分析
多线程环境下海量定时任务定时器设计1.定时器分析2.红黑树,最小堆,跳表实现比较分析3.时间轮实现【Linux后端开发系列】多线程环境下海量定时任务的定时器设计丨时间轮实现丨红黑树,跳表分析更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击:https://ke.qq.com/course/417774?flowToke...原创 2021-01-08 14:56:54 · 487 阅读 · 0 评论 -
简历书写,职业规划,学习路线,金三银四,为2021跳槽做好充足准备
带你避过简历的6大坑,为2021跳槽做好充足准备1.项目经历书写2.专业技能描述3.自我评价阐述【职业规划篇】简历书写,职业规划,学习路线,金三银四,为2021跳槽做好充足准备更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击:https://ke.qq.com/course/417774?flowToken=10131...原创 2021-01-06 19:44:44 · 229 阅读 · 0 评论 -
skynet源码分析:服务,Actor模型,lua接口编程,demo演示Actor编程思维
skynet刚开始是单进程多线程的,它是由一个一个的服务组成的。在skynet上做开发,实际上就是在写服务。服务与服务之间通过消息队列进行通信。做为核心功能,Skynet 仅解决一个问题: 把一个符合规范的 C 模块,从动态库(so 文件)中启动起来,绑定一个永不重复(即使模块退出)的数字 id 做为其 handle 。模块被称为服务(Service),服务间可以自由发送消息。每个模块可以向 Skynet 框架注册一个 callback 函数,用来接收发给它的消息。每个服务都是被一个个消息包...原创 2021-01-06 16:38:00 · 464 阅读 · 1 评论 -
【Linux后台发系列】开源框架,redis,skynet,nginx,memcached网络模块对比分析
redis、skynet、nginx、memcached网络模块对比分析1.阻塞io、非阻塞io、异步io、同步io、io多路复用2.select、epoll精讲;3.几种开源框架reactor实现比较;【Linux后台发系列】开源框架,redis,skynet,nginx,memcached网络模块对比分析更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP...原创 2020-12-31 17:20:42 · 336 阅读 · 2 评论 -
skynet源码分析之定时器skynet_timer.c
skynet自带定时器功能skynet-src/skynet_timer.c,在skynet启动时会创建一个线程专门跑定时器。每帧(0.0025秒/帧)调用skynet_updatetime() 1 // skynet-src/skynet_start.c 2 3 create_thread(&pid[1], thread_timer, m); 4 5 static void * 6 thread_timer(void *p) { 7 struct monitor *原创 2020-12-31 17:12:28 · 3976 阅读 · 4 评论 -
游戏服务器开发丨采用skynet手撕万人同时在线游戏丨游戏客户端开发
用skynet手撕一个万人同时在线游戏1. 多核并发编程2. actor详解3. 游戏实现原理【技术分享篇】游戏服务器开发丨采用skynet手撕万人同时在线游戏丨游戏客户端开发更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击:https://ke.qq.com/course/417774?flowToken=1013189原创 2020-12-26 15:18:12 · 635 阅读 · 1 评论 -
skynet源码分析之lua层消息处理
Lua层消息处理机制在lualib/skynet.lua,提供大部分Lua层的api(最终会调用到c层的api),包括启动一个snlua服务时Lua层的处理,创建新服务,注册服务协议,如何发送消息,如何处理对方发过来的消息等。本篇主要介绍消息处理机制,从而理解skynet如何实现高并发。为了简化,代码里用到的coroutine_resume,coroutine_yield看成coroutine.resume,coroutine.yield即可。local coroutine_resume = pr原创 2020-12-25 12:12:30 · 1674 阅读 · 2 评论 -
使用异步 I/O 大大提高应用程序的性能
AIO 简介Linux 异步 I/O 是 Linux 内核中提供的一个相当新的增强。它是 2.6 版本内核的一个标准特性,但是我们在 2.4 版本内核的补丁中也可以找到它。AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。I/O 模型在深入介绍 AIO API 之前,让我们先来探索一下 Linux 上可以使用的不同 I/O 模型。这并不是一个详尽的介绍,但是我们将试图介绍最常用的一些原创 2020-12-24 16:45:20 · 387 阅读 · 2 评论 -
红黑树在linux中的3种应用场景,听完受益匪浅
红黑树在linux中的3种应用场景,听完终身难忘1.虚拟内存管理2.进程管理调度器实现3.网络协议栈的红黑树【Linux后台开发系列】红黑树在linux中的3种应用场景,听完受益匪浅更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击:https://ke.qq.com/course/417774?flowToken...原创 2020-12-24 15:11:52 · 535 阅读 · 1 评论 -
并发与高并发线程池
前言之前的例子中基本上都用到了线程池,一般我们都是把任务初始化好之后直接丢到线程池就可以了,使用起来非常简单方便。主体概要线程池与new Thread对比 线程池的几个类介绍 线程池的几种状态 ThreadPoolExecutor的几个方法 线程池的合理配置主体内容一、线程池与new Thread对比new Thread弊端1.每次new Thread都要新建一个对象,性能差。2.线程缺少统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或者OOM原创 2020-12-23 15:18:00 · 291 阅读 · 1 评论 -
【Linux后台开发系列】Nginx源码从模块开发开始,不再对nginx源码陌生丨源码分析
Nginx源码从模块开发开始,不再对nginx源码发怵,值得学习,认真听完。1. nginx的conf配置,cmd解析2. nginx模块的八股文3. nginx开发的细枝末节【Linux后台开发系列】Nginx源码从模块开发开始,不再对nginx源码陌生丨源码分析更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击:ht...原创 2020-12-22 19:49:56 · 282 阅读 · 1 评论 -
一文讲清楚MySQL事务隔离级别和实现原理,后台开发人员必备知识
经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下。MySQL 事务本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思。假设一个网购付款的操作,用户付款后要涉及到订单状态更新、扣库.原创 2020-12-22 15:56:36 · 215 阅读 · 2 评论 -
面试官口中的:TCP的三次握手和四次挥手,你理解透了吗?
三次握手建立链接,四次挥手断开链接。这个问题算非常经典的问题,也是面试官非常喜欢问的问题。不夸张的说,校招面试的时候每一家公司都问到过关于三次握手和四次挥手相关的问题,相信大家也都差不多被面试官各种怼。这个问题的重要性,已经意识到。不说废话了,接下来就是给你安排的明明白白。先画个图,看下TCP的建立连接 和 断开连接的整体过程。tcp三次握手四次挥手看完这个图相信聪明的你在整体对三次握手和四次挥手有了一些基本把控。但是,里面的细节肯定是会有些生疏或者模糊的,接下来就一..原创 2020-12-21 16:51:34 · 510 阅读 · 1 评论 -
【Linux服务器开发系列】不同阶段的工程师,眼中的即时通讯,竟然如此差异
不同阶段的程序员,眼中的即时通讯,竟然如此差异1.接入层方案(reactor,协程,iocp)2.逻辑层方案(xmpp,mqtt,protobuf)3.业务划分与实现【Linux服务器开发系列】不同阶段的工程师,眼中的即时通讯,竟然如此差异更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击:https://ke.q...原创 2020-12-21 15:52:16 · 276 阅读 · 0 评论 -
线程锁,进程锁以及分布式锁丨锁的实现及原理分析丨高效的使用
线程锁、进程锁以及分布式锁1.线程锁2.进程锁3.分布式锁【技术分享篇】线程锁,进程锁以及分布式锁丨锁的实现及原理分析丨高效的使用更多精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击:https://ke.qq.com/course/417774?flowToken=1013189视频代码资料加Linux服务器...原创 2020-12-19 16:37:27 · 2266 阅读 · 4 评论 -
关于线程池的五种实现方式,七大参数,四种拒绝策略
一、池化技术之线程池实现线程池视频讲解,附源码:「链接」什么是池化技术?简单来说就是优化资源的使用,我准备好了一些资源,有人要用就到我这里拿,用完了就还给我。而一个比较重要的的实现就是线程池。那么线程池用到了池化技术有什么好处呢?降低资源的消耗 提高响应的速度 方便管理也就是 线程复用、可以控制最大并发数、管理线程二、线程池的五种实现方式其实线程池我更愿意说成四种封装实现方式,一种原始实现方式。这四种封装的实现方式都是依赖于最原始的的实现方式。所以这里我们先介绍四种封装的实现方式原创 2020-12-18 20:06:17 · 705 阅读 · 2 评论 -
从原理到实现丨手把手教你写一个线程池丨源码分析丨线程池内部组成及优化
人人都能学会的线程池手写完整版1.线程池的使用场景2.线程池的内部组成3.线程池优化【项目实战】从原理到实现丨手把手教你写一个线程池丨源码分析丨线程池内部组成及优化内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。视频代码资料加Linux服务器开发高级架构qun:720209036。 ...原创 2020-12-18 15:22:11 · 1349 阅读 · 1 评论 -
为什么我推荐Nginx作为后端服务器代理
1. 前言我们真实的服务器不应该直接暴露到公网上去,否则更加容易泄露服务器的信息,也更加容易受到攻击。一个比较“平民化”的方案是使用Nginx反向代理它。今天就来聊一聊使用Nginx反向代理的一些能力,Nginx代理能帮助我们实现很多非常有效的API控制功能。这也解释了我为什么一直推荐使用Nginx来代理我们的Spring Boot应用。2. Nginx可以提供哪些能力Nginx已经不用太多的赞美了,它已经得到了业界的广泛认可。我们就聊聊它具体能够实现什么功能。2.1 代理能力这是针对服原创 2020-12-17 16:47:17 · 344 阅读 · 1 评论 -
熟练掌握skynet,后端开发丨游戏开发轻松搞定丨多线程丨多进程
掌握skynet,后端开发原来如此简单1.多线程2.多进程3.actor模型-skynet4.csp模型【技术分享篇】熟练掌握skynet,后端开发丨游戏开发轻松搞定丨多线程丨多进程内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。视频代码资料加Linux服务器开发高级架构qun:720209036。 更多Linux...原创 2020-12-17 15:37:03 · 344 阅读 · 0 评论 -
深度长文整理-Redis进阶(文章有点长细看)
一、基础基础部分在本文就不做详细讲解。二、为什么Redis是单线程的?官方回答:Redis是基于内存操作,CPU不是Redis的性能瓶颈,Redis的性能瓶颈是机器的内存大小、以及网络的带宽,既然单线程容易实现,那就直接使用单线程来实现了此外:使用单线程实现,那所有的命令就会排队执行,不需要考虑各种同步问题和加锁带来的性能消耗问题。既然CPU不是Redis的瓶颈,那么如果不想让服务器的其他CPU闲置,可以考虑起多个Redis进程,因为Redis不是关系型数据库,数据之间也没有约束原创 2020-12-16 20:10:51 · 288 阅读 · 1 评论 -
P2P如何助力音视频传输,彻底熟悉P2P丨NAT的作用丨网络穿透原理到实战
P2P如何助力音视频传输,一次课通透P2P1.NAT的作用2.网络穿透的原理3.网络穿透实战【技术分享篇】P2P如何助力音视频传输,彻底熟悉P2P丨NAT的作用丨网络穿透原理到实战内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。视频代码资料加Linux服务器开发高级架构qun:720209036。 更多Linux服...原创 2020-12-16 14:50:24 · 625 阅读 · 1 评论 -
OSI七层模型与TCP/IP五层模型
一、OSI参考模型1、OSI的来源OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。2、OSI七层模型的划分OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。原创 2020-12-12 16:26:26 · 1629 阅读 · 2 评论 -
微软大佬带你深入解析websocket丨tcp自定义协议的设计丨服务器高并发场景的优化
各个方面都离不开的websocket,只是你没有注意到1.websocket的应用场景2.tcp自定义协议的设计3.服务器高并发场景的优化【Linux服务器开发系列】微软大佬带你深入解析websocket丨tcp自定义协议的设计丨服务器高并发场景的优化内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。视频代码资料加Linux服务...原创 2020-12-11 16:24:53 · 453 阅读 · 1 评论 -
【Linux服务器开发系列】详解多线程网络编程丨百分百干货分享丨学到就是赚到
90分钟搞懂多线程网络编程模型1.网络编程关注的问题2.网络编程的几种模型reactor,oneloopperthread及其变种3.skynet,redis,nginx,memcached等为什么选择相应的网络模型【Linux服务器开发系列】详解多线程网络编程丨百分百干货分享丨学到就是赚到内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程,DPDK多个高...原创 2020-12-11 16:19:15 · 225 阅读 · 1 评论 -
Redis Sentinel-深入浅出原理和实战
本篇会简单的介绍Redis的Sentinel相关的原理,同时也会在最后的文章给出硬核的实战教程,让你在了解原理之后,能够实际上手的体验整个过程。总的来说,为了满足Redis在真正复杂的生产环境的高可用,仅仅是用主从复制是明显不够的。例如,当master节点宕机了之后,进行主从切换的时候,我们需要人工的去做failover。同时在流量方面,主从架构只能通过增加slave节点来扩展读请求,写能力由于受到master单节点的资源限制是无法进行扩展的。这也是为什么我们需要引入Sentinel。..原创 2020-12-10 21:10:23 · 304 阅读 · 1 评论 -
select、poll、epoll之间的区别(搜狗面试题)
(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态, 但是它没有最大连接数的限制,原因是它是基于链表来存原创 2020-12-09 17:42:50 · 264 阅读 · 1 评论 -
【Linux内核系列】百分百干货篇丨不要错过,5个方面分析内核架构,让你对内核不再陌生
5个方面分析内核架构,让你对内核不再陌生1.内存管理mm_struct2.进程管理task_struct3.网络协议栈sk_buff4.文件系统super_block5.设备驱动file_operations【Linux内核系列】百分百干货篇丨不要错过,5个方面分析内核架构,让你对内核不再陌生内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker,TCP/IP,协程...原创 2020-12-09 15:26:25 · 244 阅读 · 0 评论 -
Linux内核之 内核同步
一、同步介绍1、临界区与竞争条件所谓临界区(critical regions)就是访问和操作共享数据的代码段。为了避免在临界区中并发访问,编程者必须保证这些代码原子地执行——也就是说,代码在执行结束前不可被打断,就如同整个临界区是一个不可分割的指令一样。如果两个执行线程有可能处于同一个临界区中同时执行,那么就是程序包含一个bug,如果这种情况发生了,我们就称之为竞争条件(race conditions,简称竞态),避免并发和防止竞争条件被称为同步(synchronization)。在...原创 2020-12-08 16:34:17 · 400 阅读 · 1 评论 -
11道腾讯微信面试过程的随口题,道道经典,学到就是赚到
11道腾讯微信面试过程的随口题,道道经典,你能答出几道题。1.slab机制的原理2.协程机制与io多路复用3.grpc与微服务的认知4.协程栈与汇编切换实现详情:请点击视频观看。【面试题篇】11道腾讯微信面试过程的随口题,道道经典,学到就是赚到更多Linux服务器开发高阶完整视频分享,点击链接即可观看:https://ke.qq.com/course/417774?flowToken=1013189内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL...原创 2020-12-08 15:14:11 · 1254 阅读 · 2 评论 -
【Linux服务器开发系列】手写用户态协议栈,udpipeth数据包的封装,零拷贝的实现,柔性数组
视频教你手写网络协议栈,保证大家能学会,耐心看1.用户态协议栈2.udp/ip/eth数据包的封装3.零拷贝的实现4.零长数组(柔性数组)【Linux服务器开发系列】手写用户态协议栈,udpipeth数据包的封装,零拷贝的实现,柔性数组更多Linux服务器开发高阶完整视频分享,点击链接即可观看:https://ke.qq.com/course/417774?flowToken=1013189内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,M...原创 2020-12-07 19:56:41 · 1043 阅读 · 2 评论 -
Linux 网络协议栈——从中断到上送协议栈
注: 内核代码是 4.9 版本协议栈从报文接收说起,报文接收从网卡驱动说起。两种方式,NAPI 和 非NAPI。NAPI(New API) 是Linux内核针对网络数据传输做出的一个优化措施。其目的是在大量数据传输时, 在收到硬件中断后,通过poll方式将传输过来的数据包统一处理, 通过禁止网络设备中断以减少硬件中断数量((Interrupt Mitigation),从而实现更高的数据传输。其中要点:1、硬件中断后开始处理报文。中断处理函数只是触发软中断准备接收报文;2.原创 2020-12-07 17:26:50 · 807 阅读 · 1 评论 -
线程池的优点及其原理,代码实现线程池。简单、明了。
一 使用线程池的好处池化技术应用:线程池、数据库连接池、http连接池等等。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。线程池提供了一种限制、管理资源的策略。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。使用线程池的好处: 降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度:当任务到达时,可以不需要等待线程创建就能立即执行。 提高线程的可管理性:线程是稀缺资源,如果无限制的创建,不仅会消耗系统...原创 2020-12-04 17:17:33 · 346 阅读 · 1 评论 -
单机服务器模型,reactor的5种实现方式,单线程、多线程、多核、多进程的实现
单机服务器模型,reactor的5种实现方式,只有这样才算了解了1.单线程实现2.单线程异步实现3.多线程实现4.多核模式实现5.多进程实现【技术分享篇】单机服务器模型,reactor的5种实现方式,单线程、多线程、多核、多进程的实现更多Linux服务器开发高阶完整视频分享,点击链接即可观看:https://ke.qq.com/course/417774?flowToken=1013189内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,M...原创 2020-12-04 16:22:50 · 2094 阅读 · 4 评论 -
线程模型Reactor/Proactor的区别
反应器(Reactor)是一种为处理服务请求并发提交到一个或者多个服务处理程序的事件设计模式,当接收请求后,服务处理程序使用解多路分配策略,然后同步地派发这些请求至相关的请求处理程序。 处理特点: 1.事件驱动(event handling)2.可以处理一个或多个输入源(one or more inputs)3.通过Service Handler同步的将输入事件(Event)采用多路复用分发给相应的Request Handler(多个)处理reactor简要模型pngReactor原创 2020-12-03 22:04:03 · 560 阅读 · 0 评论 -
同步与异步,回调与协程
目录 概念上下文: 同步的方式: 异步加回调的方式: 异步协程方式: 总结: 这里分享一个 协程原理到实现,全局分析丨协程的切换与调度视频点击查看:「链接」正文 本文主要介绍在网络请求中的同步与异步,以及异步的表现形式: 回调与协程,并通过python代码展示各自的优缺点。概念上下文:回到顶部 当提到同步与异步,大家不免会想到另一组词语:阻塞与非阻塞。通常,同时提到这个这几个词语一般实在讨论network io的时候,在《unix n原创 2020-12-02 16:33:21 · 448 阅读 · 1 评论 -
还不了解协程吗?从原理到实现,全局分析
还不了解协程吗?90分钟从原理到实现,全局分析1.协程的用途2.协程的实现原理3.协程的切换与调度【技术分享篇】还不了解协程吗?90分钟从原理到实现,全局分析丨协程的切换与调度更多Linux服务器开发高阶完整视频分享,点击链接即可观看:https://ke.qq.com/course/417774?flowToken=1013189内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,Linux内核,Docker...原创 2020-12-02 16:32:46 · 219 阅读 · 1 评论 -
学Linux到底学什么?未来职业到底是怎么样的?
作为一名Linux工程师。那么我来问大家一个问题,提到Linux,你们第一时间想到的是这是一个怎样的岗位呢?我相信会有很大一部分的朋友会想到两个字:运维。听到大家这样的回答,我真的是很无奈,但也是非常的理解,因为,曾经我对Linux的了解程度也是仅限在运维的层面上。但是,有这种概念的朋友实在是太多了,所以我有必要出来给大家科普一下Linux的几个主要的从业方向。其实这个话题我写过了很多的文字版本,也在直播的时候给大家科普过了,这几天也以视频的形式再给大家科普一次,今天就顺便把文稿..原创 2020-12-01 21:23:07 · 428 阅读 · 0 评论