什么是IO模型?一次网络IO,在计算机底层到底发生了什么?

一、什么是IO? 我们都知道unix世界里、一切皆文件、而文件是什么呢?文件就是一串二进制流而已、不管socket、还是FIFO、管道、终端、对我们来说、一切都是文件、一切都是流、在信息交换的过程中、我们都是对这些流进行数据的收发操作、简称为I/O操作(input and output)、往流中读出…

Redis 集群模式下的数据分片机制

在博客中,我介绍了 Redis 哨兵机制的搭建和Redis 主从读写分离的优势,此次分享的是Redis 数据分片集群部署 在看这篇文章之前,如果你对读写分离与哨兵机制还不够清楚的情况下,请优先查阅我前两篇文章。 我们知道 Redis 主从读写分离它解决了在高并发场景下读数据的瓶颈,而哨兵机制解决了在…

Redis 哨兵

Redis 主从架构下,主服务器如果宕机,将会导致从服务器无法写入。如果你对Redis主从不够了解请转移到我的这篇文章中阅读,也许会对你有帮助。 如下图所示是一个Redis主从架构: 主服务器负责写入,从服务器则主动同步主服务器数据。 但是如果主Redis 宕机了,我们是否拥有一种机制,让从Redi…

谈谈Redis中的SetNX

谈SetNX命令前,先顺带引入下Set命令,由于在Golang开启两个并发协程后,单位时间内读到的有可能是同一个值,因此这对本来就是单线程并发安全的Redis造成了非并发安全的错觉。如下代码所示: 其实redis本身是并发安全的。只是单位时间有两个协程同时读到了一样的值 下面引入SETNX 在 Re…

初试 Manba API GateWay

在微服务大行其道的业务场景中,首先得要明白什么是 API 网关。 我来举个例子,假设有如下场景: 我运营着一个电商平台,它的平台技术架构体系是微服务,此时假设平台拥有三个模块,分别是订单模块、商品展示模块、物流模块,在前后端分离的情况下,前端调用后端接口是需要鉴权的。如果运气不好,三个独立模块的鉴权…