
linux网络编程
文章平均质量分 86
Linux服务器开发
C/C++Linux后台服务器开发高级架构师内容包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,音视频开发,Linux内核,TCP/IP,协程,DPDK多个高级知识点。
展开
-
socket是并发安全的吗
1. 多线程并发读/写同一个TCP socket是线程安全的,因为TCP socket的读/写操作都上锁了。虽然线程安全,但依然不建议你这么做,因为TCP本身是基于数据流的协议,一份完整的消息数据可能会分开多次去写/读,内核的锁只保证单次读/写socket是线程安全,锁的粒度并不覆盖整个完整消息。因此建议用一个线程去读/写TCP socket。2. 多线程并发读/写同一个UDP socket也是线程安全的,因为UDP socket的读/写操作也都上锁了。原创 2022-12-15 16:23:37 · 278 阅读 · 0 评论 -
深入理解Linux 进程管理之CFS负载均衡
为了CPU之间减少“干扰”,每个CPU上都有一个任务队列。运行的过程种可能会出现有的CPU“忙的一笔”,有的CPU“闲的蛋疼”,于是便需要负载均衡。将task从负载较重的CPU上转移到负载相对较轻的CPU上执行,这个过程就是负载均衡的过程。在了解负载均衡前有必要了解soc上对CPU的拓扑关系。我们知道一个多核心的soc片上系统,内部结构是很复杂的,内核采用CPU拓扑结构来描述一个SOC的架构。内核使用调度域来描述CPU之间的层次关系,对于低级别的调度域来说,CPU之间的负载均衡处理开销比较小,而对于越高级别原创 2022-07-09 15:26:06 · 587 阅读 · 0 评论 -
你真的理解粘包与半包吗?3分钟搞懂它
这里先举个可能不太恰当,但是很容易理解的例子。比如,平时我们要寄快递,如果东西太大的话,那么就需要拆成几个包裹来邮寄。收件人仅收到个别包裹的时候,东西是不完整的,对应到网络传输中,这种情况就叫半包。只有等接收到全部包裹时,这个东西(传输的信息)才完整,所以半包情况下无法解析出完整的数据,需要等,等接收到全部包裹。那么问题来了,如何知晓已经收到全部包裹了呢?下文我们再作分析。再比如,快过年了,我打算给家里的亲戚送点礼物,给每位长辈送个手表,我们都知道手表的体积不大,并且我家里人都住在一个村,所以把给各长辈的礼原创 2022-07-07 16:01:12 · 1737 阅读 · 0 评论 -
让我们,从头到尾,通透网络I/O模型
之前我们已经讲过了 socket 的通信内幕,也明白了网络 I/O 确实会有很多阻塞点,阻塞 I/O 随着用户数的增长只能利用增加线程的方式来处理更多的请求,而线程不仅会占用内存资源且太多的线程竞争会导致频繁地上下文切换产生巨大的开销。因此,阻塞 I/O 已经不能满足需求,所以后面大佬们不断地优化和演进,提出了多种 I/O 模型。在 UNIX 系统下,一共有五种 I/O 模型,今天我们就来盘一盘它!不过在介绍 I/O 模型之前,我们需要先了解一下前置知识。我们的电脑可能同时运行着非常多的程序,这些程序分别来原创 2022-07-06 14:37:50 · 175 阅读 · 0 评论 -
彻底理解为什么网络 I/O 会被阻塞?
我们应该都知道 socket(套接字),你可以认为我们的通信都要基于这个玩意,而常说的网络通信又分为 TCP 与 UDP 两种,下面我会以 TCP 通信为例来阐述下 socket 的通信流程。不过在此之前,我先来说说什么叫 I/O。I/O 其实就是 input 和 output 的缩写,即输入/输出。那输入输出啥呢?比如我们用键盘来敲代码其实就是输入,那显示器显示图案就是输出,这其实就是 I/O。而我们时常关心的磁盘 I/O 指的是硬盘和内存之间的输入输出。读取本地文件的时候,要将磁盘的数据拷贝到内存中,修原创 2022-07-05 16:30:37 · 336 阅读 · 0 评论 -
TCP两次挥手,你见过吗?那四次握手呢?
我们都知道,TCP是个面向连接的、可靠的、基于字节流的传输层通信协议。那这里面提到的"面向连接",意味着需要 建立连接,使用连接,释放连接。建立连接是指我们熟知的TCP三次握手。而使用连接,则是通过一发送、一确认的形式,进行数据传输。还有就是释放连接,也就是我们常见的TCP四次挥手。TCP四次挥手大家应该比较了解了,但大家见过三次挥手吗?还有两次挥手呢?都见过?那四次握手呢?今天这个话题,不想只是猎奇,也不想搞冷知识。我们从四次挥手开始说起,搞点实用的知识点。简单回顾下TCP四次挥手。正常情况下。只要数据传原创 2022-07-04 16:09:03 · 416 阅读 · 0 评论 -
深刻理解 Linux 进程间七大通信(IPC)
网络编程是 Linux C/C++的面试重点,今天我就来聊一聊进程间通信的问题,文章末尾列出了参考资料,希望帮助到大家。篇幅有点长,希望大家耐心阅读。Linux 下的进程通信手段基本上是从 Unix 平台上的进程通信手段继承而来的。如图所示:其中,最初 Unix IPC 包括:管道、FIFO、信号;System V IPC 包括:System V 消息队列、System V 信号灯、System V 共享内存区;Posix IPC 包括: Posix 消息队列、Posix 信号灯、Posix 共享内存区。原创 2022-07-02 15:00:25 · 1055 阅读 · 0 评论 -
MySQL 性能优化 & 分布式
MySQL性能指标都有哪些?如何得到这些指标?MySQL的性能指标如下:① TPS(Transaction Per Second) 每秒事务数,即数据库每秒执行的事务数。MySQL 本身没有直接提供 TPS 参数值,如果我们想要获得 TPS 的值,只有我们自己计算了,可以根据 MySQL 数据库提供的状态变量,来计算 TPS。需要使用的参数:Com_commit :表示提交次数,通过命令 show global status like 'Com_commit'; 获取; Com_rol原创 2021-09-30 15:29:31 · 213 阅读 · 1 评论 -
关于高性能服务器底层网络通信模块的设计方法
高性能服务器底层网络通信模块的设计方法在对I/O完成端口进行底层封装的基础上,本文提出一种具有高性能的、可扩展性的通用网络通信模块设计方案。该方案采用多种系统性能优化技术,如线程池、对象池和环形缓存区等。该模块在Win32平台上用c++开发完成,经过严格的压力和性能测试后,实验结果表明该模块能够支持海量并发连接,具有较高的数据吞吐量,在实际项目应用中也取得了良好的表现。 1、概述 要设计与开发出一款高性能的服务器(如网游服务器、Web服务器和代理服务器等),一般都采用高效率的网络...原创 2021-09-17 15:41:14 · 505 阅读 · 0 评论 -
Linux中的消息队列、共享内存,你确定都掌握了吗?
消息队列(message queue)消息队列是消息的链表,存放在内存中,由内核维护消息队列的特点1、消息队列中的消息是有类型的。2、消息队列中的消息是有格式的。3、消息队列可以实现消息的随机查询。消息不一定要以先进先出的次序读取,编程时可以按消息的类型读取。4、消息队列允许一个或多个进程向它写入或者读取消息。5、与无名管道、命名管道一样,从消息队列中读出消息,消息队列中对应的数据都会被删除。6、每个消息队列都有消息队列标识符,消息队列的标识符在整个系统中是唯一的。7、只有内核重启原创 2021-09-16 15:49:16 · 543 阅读 · 0 评论 -
网络协议之NAT穿透原理
NATIPv4地址只有32位,最多只能提供大致42.9亿个唯一IP地址,当设备越来越多时,IP地址变得越来越稀缺,不能为每个设备都分配一个IP地址。于是,作为NAT规范就出现了。NAT(Network Address Translation,网络地址转换)是1994年提出的,其当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。每个NAT设备负责维护一个包含本地IP、端口和外网IP、端口的映射表。所有原创 2021-09-15 16:04:20 · 614 阅读 · 0 评论 -
Rust的前景怎么样?值不值的学—Rust对比、特色和理念
前言其实我一直弄不明白一点,那就是计算机技术的发展,是让这个世界变得简单了,还是变得更复杂了。当然这只是一个玩笑,可别把这个问题当真。然而对于IT从业者来说,这可不是一个玩笑。几乎每一次的技术发展,都让这个生态变得更为复杂。“英年早秃”已经成为一种很普遍的现象。Rust是近两年呼声比较高的一种新型开发语言。市场占有量并不大,但增长速度极为迅猛。有人统计过,在计算机行业,平均每33.5天就有一种所谓的新型开发语言面世,这还不包括很多企业内部、项目内部的内置简易流程工具。然而大浪淘沙,如今仍然占原创 2021-09-08 16:05:40 · 2987 阅读 · 1 评论 -
深入理解 ProtoBuf 原理与工程实践
ProtoBuf 作为一种跨平台、语言无关、可扩展的序列化结构数据的方法,已广泛应用于网络数据交换及存储。随着互联网的发展,系统的异构性会愈发突出,跨语言的需求会愈加明显,同时 gRPC 也大有取代Restful之势,而 ProtoBuf 作为g RPC 跨语言、高性能的法宝,我们技术人有必要深入理解 ProtoBuf 原理,为以后的技术更新和选型打下基础。我将过去的学习过程以及实践经验,总结成系列文章,与大家一起探讨学习,希望大家能有所收获,当然其中有不正确的地方也欢迎大家批评指正。本系列文章原创 2021-09-07 16:48:17 · 547 阅读 · 0 评论 -
Redis与Memcache对比
文章相关视频:C++架构师学习地址:C/C++Linux服务器开发高级架构师/Linux后台架构师Linux网络服务器模型,redis,memcached,nginx对比epoll的网络模型,从redis,memcached到nginx文章简介:1、 Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等。2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。原创 2021-09-06 16:17:25 · 203 阅读 · 0 评论 -
C++微服务RPC框架,一文带你彻底搞懂 RPC
RPC(Remote Procedure Call),是一个大家既熟悉又陌生的词,只要涉及到通信,必然需要某种网络协议。我们很可能用过HTTP,那么RPC又和HTTP有什么区别呢?RPC还有什么特点,常见的选型有哪些?文章相关视频讲解:RPC和微服务Thrift的架构原理C++架构师学习地址:C/C++Linux服务器开发高级架构师/Linux后台架构师1. RPC是什么RPC可以分为两部分:用户调用接口 + 具体网络协议。前者为开发者需要关心的,后者由框架来实现。举个例子,.原创 2021-09-02 16:15:14 · 10210 阅读 · 0 评论 -
一文彻底搞懂I/O多路复用及其技术
前言 高性能是每个程序员的追求,无论写一行代码还是做一个系统,都希望能够达到高性能的效果。高性能架构设计主要集中在两方面:尽量提升单服务器的性能,将单服务器的性能发挥到极致 如果单服务器无法支撑性能,设计服务器集群方案 单服务器高性能的关键之一就是服务器采取的网络编程模型。服务器如何管理连接,如何处理请求等。这两个设计点最终都和操作系统的I/O模型及进程模型相关。I/O模型:阻塞、非阻塞、同步、异步 进程模型:单进程、多进程、多线程。 我们所说的I/O模型是指网络I/O模型,就是服原创 2021-08-31 16:37:12 · 1022 阅读 · 0 评论 -
如何实现高性能的IO及IO原理?
程序运行在内存以及IO的体现 首先普及一下常识,如图所示: 1、在整个内存空间中,跑着各种各样的程序,有Java程序、C程序,他们共用一块内存空间。 2、对于Java程序,JVM会申请一块堆空间,通过Xmx可以设置,其余空间是堆外空间,其中每个线程有自己的线程栈,保证线程内存隔离,堆空间使用完以后,会触发Full FC,堆外空间所有进程可共享使用,无限制。 3、所有系统运行的程序都必须通过操作系统内核进行IO操作,操作系统也是程序,也需要一定的内存空间。一、使用Buffe原创 2021-08-28 14:29:34 · 440 阅读 · 0 评论 -
网络编程—Linux多线程与多进程
进程同步与互斥的区别? 进程的同步方式有哪些? 进程的通信方式有哪些? 进程同步与通信的区别是什么? 线程的同步/通信与进程的同步/通信有区别吗?二、多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量) 1、同步与互斥的概念 2、互斥锁(同步) 3、条件变量(同步) 4、读写锁(同步) 5、自旋锁(同步) 6、信号量(同步与互斥)C/C++Linux后台服务器开发高级架构师免费学习地址:C/C++Linux服务器开发高级架构师/Linux后台架构师原创 2021-08-26 16:46:08 · 313 阅读 · 0 评论 -
聊聊对不同I/O模型的理解 (阻塞/非阻塞IO,同步/异步IO)
一、关于I/O模型的问题 最近通过对ucore操作系统的学习,让我打开了操作系统内核这一黑盒子,与之前所学知识结合起来,解答了长久以来困扰我的关于I/O的一些问题。 1. 为什么redis能以单工作线程处理高达几万的并发请求? 2. 什么是I/O多路复用?为什么redis、nginx、nodeJS以及netty等以高性能著称的服务器其底层都利用了I/O多路复用技术? 3. 非阻塞I/O为什么会流行起来,在许多场景下取代了传统的阻塞I/O? 4. 非阻塞I/O真的是银弹吗?为什么原创 2021-08-20 17:11:15 · 631 阅读 · 0 评论 -
数据库底层设计(MYSQL索引的数据结构)
前言说到数据库这个词,我只能用爱恨交加这个词来形容它。自己之前还单纯懵懂的时候进了数据库的课堂,听完数据库的课,觉得这是一门再简单不过的课程,任何一门编程语言都比SQL要晦涩难懂,任何一门理论课程都比数据库关系要复杂得多。直到从被面试官按在地上摩擦,到工作中那一条条令人发指的慢查询SQL,这就已经完全颠覆了我对数据库的看法。在有各种数据库工具的今天,我们是看不到那简单到不能再简单的一张表的背后,隐藏着多少数据结构的支撑,也看不到我们随手敲的一条SELECT,背后会有多少算法和数据结构在给我们做优原创 2021-08-17 15:55:59 · 539 阅读 · 0 评论 -
网络编程—IO多路复用详解
假如你想了解IO多路复用,那本文或许可以帮助你本文的最大目的就是想要把select、epoll在执行过程中干了什么叙述出来,所以具体的代码不会涉及,毕竟不同语言的接口有所区别。基础知识IO多路复用涉及硬件、操作系统、应用程序三个层面,了解这些知识是很有帮助的。假如已经了解,可直接跳过Linux系统中断中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度.原创 2021-08-16 17:29:31 · 1476 阅读 · 0 评论 -
腾讯跟阿里两位王者之间的对比
前言 程序员朋友圈有一篇比较火的文章《当下(2018 年)腾讯的技术建设是否处于落后同体量公司的状态?》,虽然网上不乏介绍腾讯与阿里不同之处(包括文化、薪资待遇、公司氛围和技术建设等方面)的文章,今天就来跟大家分析一下,不免具有一定的片面性,不喜勿喷。关于腾讯 腾讯整体上是一家公司,但很多时候各个部门之间各自为政。部门之间的合作更像一个公司与另一个公司之间的合作,在沟通的时候如果不是负责人不能向对方透露任何跟工作有关的细节、进度等。在腾讯某部门的时候由于此还吃过几次亏,以至于来到阿里之后跨部原创 2021-08-14 15:11:29 · 542 阅读 · 1 评论 -
linux服务器网络编程之线程模型
前言 本文将主要介绍传统的和目前流行的进程/线程模型,在讲进程/线程模型之前需要先介绍一种设计模式: Reactor 模式。Reactor 模式首先是事件驱动的,有一个或多个并发输入源,有一个Service Handler,有多个Request Handlers;这个Service Handler会同步的将输入的请求(Event)多路复用的分发给相应的Request Handler。如果用图表示的如下:关于 Reactor 模式不了解的朋友大家可以看看以下几个视频的详细讲解:手操React原创 2021-08-13 15:46:56 · 222 阅读 · 0 评论 -
C++高性能服务器框架——日志系统详解
1|0日志文件系统对文件系统进行修改时,需要进行很多操作。这些操作可能中途被打断,也就是说,这些操作不是“不可中断”(atomic)的。如果操作被打断,就可能造成文件系统出现不一致的状态。例如:删除文件时,先要从目录树中移除文件的标示,然后收回文件占用的空间。如果在这两步之间操作被打断,文件占用的空间就无法收回。文件系统认为它是被占用的,但实际上目录树中已经找不到使用它的文件了。在非日志文件系统中,要检查并修复类似的错误必须对整个文件系统的数据结构进行检查。这个操作可能会花费很长的时间。为了原创 2021-08-12 15:41:58 · 2162 阅读 · 2 评论 -
一文带你了解大厂亿级并发下高性能服务器是如何实现的!
多进程历史上最早出现也是最简单的一种并行处理多个请求的方法就是利用多进程。比如在Linux世界中,我们可以使用fork、exec等系统调用创建多个进程,我们可以在父进程中接收用户的连接请求,然后创建子进程去处理用户请求,就像这样:关于事件驱动还不是很了解的朋友可以点击 事件驱动试编程 视频讲解C/C++Linux后台服务器开发免费学习地址:C/C++Linux服务器开发高级架构师/Linux后台架构师-学习视频这种方法的优点就在于:编程简单,非常容易理解 由于各个进程的地址原创 2021-08-11 16:14:22 · 245 阅读 · 0 评论 -
从Linux源码看Socket(TCP)的listen及连接队列
前言一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天就来从Linux源码的角度看下Server端的Socket在进行listen的时候到底做了哪些事情(基于Linux 3.10内核),当然由于listen的backlog参数和半连接hash表以及全连接队列都相关,在这一篇文章里也一块讲了。Server端Socket需要Listen众所周知,一个Server端Socket的建立,需要socket、bind、listen、accept四个步骤。今天笔者就原创 2021-08-07 16:57:31 · 616 阅读 · 0 评论 -
应届生怎么走Linux下C++后台服务器开发路线,工作3-5年的知识体系
1. 前言 给最近正在准备秋招的同学或者是想转行,目标岗位是C++后端开发工程师,这个岗位对开发者的要求也比较高,需要的基础知识非常多,刚刚开始准备的时候,感觉也是不知从何入手,现在经过了一段时间的学习,感觉比刚开始的时候好了一些,但是在很多方面还有欠缺,所以写下这篇文章,给你们进行一个总结,也希望能帮助到你们在这条路上不断前行的人。2. 服务器开发与后台开发的联系和区别 服务器是一种高性能的计算机,相对于普通的个人电脑,它的性能往往更强,但是功能也更加单一。服务器开发,就是在服务器上面开发原创 2021-08-05 16:04:30 · 734 阅读 · 3 评论 -
从开源框架细节的来分析网络模块的封装丨网络模块|Redis|skynet|多线程|单线程|reactor多核实现|IO多路复用
从开源框架细节的来分析网络模块的封装视频讲解如下:从开源框架细节的来分析网络模块的封装丨网络模块|Redis|skynet|多线程|单线程|reactor多核实现|IO多路复用丨c/c++linux服务器开发C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,音视频开发,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击链接进入订阅不迷路随原创 2021-08-03 15:22:56 · 124 阅读 · 0 评论 -
揭开进程的概念、状态、通信的迷雾。看完瞬间豁然开朗
预备知识前驱图程序顺序执行的特征顺序性顺序执行 封闭性独占资源 可再现性只要程序执行环境和初始条件相同,重复执行时结果都相同程序并发执行的特征间断性 失去封闭性 不可再现性因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。执行结果与并发程序的执行速度相关进程的概念非正式地说,进程是执行的程序。进程不只是程序代码,程序代码又称为文本段或代码段。进程还.原创 2021-07-31 15:58:33 · 228 阅读 · 0 评论 -
后端开发-Reactor设计模式
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,Proactor用于异步I/O操作。Reactor模式称之为响应器模式,通常用于NIO非阻塞IO的网络通信框架中。文章相关视频讲解:C/C++ Linux后台服务器开发高级架构师免费学习链接:C/C++Linux服务器开发高级架构师/Linux后台架构师-学习视频epoll原理剖析以及reactor模型应用linux epoll网络编程细节处理几个概念:什么原创 2021-07-29 15:14:51 · 432 阅读 · 0 评论 -
linux服务器开发人员必须要彻底理解的关于【Linux】IO的线程模型
关于IO模型参考:【Linux】五种IO模型reactor模型应用视频讲解:epoll原理剖析以及reactor模型应用c/c++linux服务器开发高级架构师免费学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台开发架构师一、线程模型介绍 为了应对高并发的服务器端开发,微软在2009年提出了一种更优雅地实现异步编程的方式Reactive Programming即反应式编程。随后其他技术紧随其后,比如ES6通过引入类似的异步编程方式等。 在高性能的I/O设计中,有原创 2021-07-12 20:46:00 · 368 阅读 · 1 评论 -
深入浅出吃透多线程、线程池核心原理及代码详解
一、多线程详解 1、什么是线程 线程是一个操作系统概念。操作系统负责这个线程的创建、挂起、运行、阻塞和终结操作。而操作系统创建线程、切换线程状态、终结线程都要进行CPU调度——这是一个耗费时间和系统资源的事情。腾讯认证T9后端开发岗位,linux服务器开发高级架构师系统学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台架构师B站7000+播放的线程池视频讲解:150行代码,手写线程池(完整版) 2、线程生命周期 线程通常都有五种状态,创建、就绪、运行原创 2021-07-07 16:01:32 · 278 阅读 · 0 评论 -
linux网络编程—7层网络以及5种Linux IO模型以及相应IO基础
一、七层网络模型 OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,它是一个七层的、抽象的模型体。文章相关视频讲解:详解网络编程细节点击:90分钟详解网络编程相关的细节处理详解底层网络IO模型点击: 底层网络IO模型,必须要懂得10种模型腾讯认证T9后端开发岗位,linux服务器开发高级架构师系统学习视频点击:C/C++Linux服务器开发高级架构师/Linux后原创 2021-07-06 16:05:16 · 456 阅读 · 0 评论 -
Nginx源码实现的细枝末节 11个阶段的实现丨Nginx Filter|中间件开发|惊群效应|负载均衡丨组件丨c/c++linux服务器开发
Nginx源码实现的细枝末节 11个阶段的实现视频讲解如下,点击观看:Nginx源码实现的细枝末节 11个阶段的实现丨Nginx Filter|中间件开发|惊群效应|负载均衡丨组件丨c/c++linux服务器开发丨后端开发C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,音视频开发,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击链接进原创 2021-06-28 15:53:05 · 140 阅读 · 0 评论 -
如何最大限度的使用数据库性能,全网最细节讲解缓存方案丨读写分离|连接池|缓存方案|mysql|缓存同步|分库分表
如何最大限度的使用数据库性能,全网最细节讲解缓存方案视频讲解如下,点击观看:如何最大限度的使用数据库性能,全网最细节讲解缓存方案丨读写分离|连接池|缓存方案|mysql|缓存同步|分库分表|c/c++linux服务器开发丨C++后端开发C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,音视频开发,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。原创 2021-06-28 15:51:34 · 105 阅读 · 0 评论 -
epoll原理剖析以及reactor模型应用丨网络编程|网络IO|select|poll|socket|reactor多核实现丨c/c++linux服务器开发
epoll原理剖析以及reactor模型应用视频讲解如下,点击观看:epoll原理剖析以及reactor模型应用丨网络编程|网络IO|select|poll|socket|reactor多核实现丨c/c++linux服务器开发C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,音视频开发,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击链原创 2021-06-28 15:49:57 · 162 阅读 · 0 评论 -
海量数据去重,hash、布隆过滤器以及hyperloglog丨c/c++linux服务器开发丨后端开发丨Linux后台开发丨底层原理
海量数据去重,hash、布隆过滤器以及hyperloglog视频讲解如下,点击观看:海量数据去重,hash、布隆过滤器以及hyperloglog丨c/c++linux服务器开发丨后端开发丨Linux后台开发丨底层原理C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,音视频开发,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击链接进入订阅原创 2021-06-28 15:48:05 · 160 阅读 · 0 评论 -
Linux环境编程多线程定时器、延时队列以及分布式定时器的现实与原理分析
Linux环境编程多线程定时器、延时队列以及分布式定时器的现实与原理分析丨线程池丨中间件丨后端开发丨C/C++linux服务器开发视频讲解如下,点击观看:Linux环境编程多线程定时器、延时队列以及分布式定时器的现实与原理分析丨线程池丨中间件丨后端开发丨C/C++丨Linux网络编程C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,音视频开发,Linux内核,Docker,原创 2021-06-28 15:43:43 · 293 阅读 · 0 评论 -
Redis多线程原理详解
本篇文章为你解答以下问题:0:redis单线程的实现流程是怎样的? 1:redis哪些地方用到了多线程,哪些地方是单线程? 2:redis多线程是怎么实现的? 3:redis多线程是怎么做到无锁的?C/C++ Linux服务器开发高级架构学习视频点击:C/C++Linux服务器开发高级架构/Linux后台架构师网路io底层epoll,单线程redi,多线程memcached,多进程Nginx0:redis单线程的实现流程是怎样的?Redis一开始是单线程模型,在一个线程中要同时处原创 2021-06-21 21:33:12 · 489 阅读 · 0 评论 -
图解 epoll 是如何工作的及epoll实现原理
本文包含以下内容:epoll是如何工作的本文不包含以下内容:epoll 的用法epoll 的缺陷epoll实现原理由视频讲解:C/C++ Linux服务器开发高级架构学习视频点击:C/C++Linux服务器开发/Linux后台架构师-学习视频教程epoll原理剖析以及reactor模型应用基于linux epoll网络编程细节处理我实在非常喜欢像epoll这样使用方便、原理不深却有大用处的东西,即使它可能已经比较老了select 和 poll 的缺点epoll原创 2021-06-11 15:25:51 · 690 阅读 · 1 评论