赞了文章2024-12-19
在运维过程中,有一次后端需要切换,按理说,只需要更改 DNS 解析到新的 IP 就能完成切换,然后发现更改 DNS 解析后,走 Nginx 怎么也访问不了后端,而在 Nginx 机器上直接 curl 后端是没有问题的。
赞了文章2022-01-05
日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。 mysql 日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志( binlog )和事务日志(包括 redo log 和 undo log ),本文接下...
赞了文章2022-01-03
来源 | urlify.cn/rqumIn先亮出这篇文章的思维导图: TCP 作为传输层的协议,是一个IT工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。001. 能不能说一说 TCP 和 UDP 的区别?首先概括一下基本的区别:TCP...
赞了文章2021-12-14
[TOC]go语言的31个坑资源来自于如下链接:[链接]打开之后他是长这个样子的:逐个理解并操作之后,筛选出如下31个GOLANG的坑,与大家分享分享1.左大括号不能单独放一行 {在其他大多数语言中,{ 的位置你自行决定。Go比较特别,遵守分号注入规则(automatic semicolon ...
发布了文章2021-11-24
线程原语的选用不直接使用Pthreads,而是使用更为易用的wrapper,封装下面的调用线程的创建和等待结束mutex的创建、销毁、加锁、解锁条件变量的创建、销毁、等待、通知、广播在这些wrapper之上进一步构建线程同步组件ThreadPoolCountDownLatchBlockingQueue (有界/无...
发布了文章2021-11-24
本章研究对象:分布式计算的网络应用程序,基本功能可以被简单归纳为“收到数据,算一算,发出去”单线程服务器最常用的为“non-blocking IO + IO multiplexing”,即Reactor模式,例如lighttpdNginxlibeventJava NIOTwisted(Python)此外还有ASIO使用的Proactor模式Reacto...
发布了文章2021-11-23
线程同步的四项原则最低限度的共享对象,减少需要同步的场合使用高级的并发构件,如TaskQueue,Producer-Consumer Queue,CountDownLatch等非不得已使用底层同步原语时,只使用非递归的互斥器和条件变量,慎用读写锁,不要使用信号量除了使用atomic整数外,不自己编...
赞了文章2021-11-19
面试官:聊下Redis的分片集群,先聊 Redis Cluster好咯?面试官:Redis Cluser是Redis 3.x才有的官方集群方案,这块你了解多少?候选者:嗯,要不还是从基础讲起呗?候选者:在前面聊Redis的时候,提到的Redis都是「单实例」存储所有的数据。候选者:1. 主从模式下实...
发布了文章2021-11-08
C++中实现线程安全的对象创建、回调与析构写出线程安全的类并不难,使用同步原语保护内部状态即可STL大多类都不是线程安全的,需要在外部加锁保证多个线程同时访问安全的对象创建唯一的要求就是不要在构造期间泄露this指针,即 {代码...} 原因:在执行构造函数期间对...
赞了文章2021-11-06
本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。
赞了文章2021-11-04
导航(navigation)模式: 这时候,字母就是上下左右键。输入模式:你按字母键,才会输入字母。命令模式:需要先输入":" 冒号,才会进入。例如,你输入 :ls , 就相当于运行了 ls 命令。
发布了文章2021-10-07
复盘一下CS144(2020Fall)的8个LabLab主要内容lab 0使用telnet & netcat发送和接受应用层的数据使用自带套接字写一个webget,了解套接字编程实现ByteStream作为TCP连接的最底器的容器FIFO模型有限容量支持write,peak,pop,read,remaining_capacity,end_input操作la...
赞了文章2021-10-05
socket(...): 创建一个socket结构体,并初始化相应的操作函数,由于我们定义的是UDP的socket,所以里面存放的都是跟UDP相关的函数
赞了文章2021-10-05
本示例里列出的函数调用关系来自于kernel 3.13.0,如果你的内核不是这个版本,函数名称和相关路径可能不一样,但背后的原理应该是一样的(或者有细微差别)