自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一蓑烟雨任平生

个人技术学习笔记仓库

  • 博客(15)
  • 资源 (7)
  • 收藏
  • 关注

转载 哨兵集群:哨兵挂了,主从库还能切换吗?

上节课,我们学习了哨兵机制,它可以实现主从库的自动切换。通过部署多个实例,就形成了一个哨兵集群。哨兵集群中的多个实例共同判断,可以降低对主库下线的误判率。但是,我们还是要考虑一个问题:如果有哨兵实例在运行时发生了故障,主从库还能正常切换吗?实际上,一旦多个实例组成了哨兵集群,即使有哨兵实例出现故障挂掉了,其他哨兵还能继续协作完成主从库切换的工作,包括判定主库是不是处于下线状态,选择新主库,以及通知从库和客户端。如果你部署过哨兵集群的话就会知道,在配置哨兵的信息时,我们只需要用到下面的这个配置项,

2021-10-20 21:07:23 166

转载 哨兵机制:主库挂了,如何不间断服务?

无论是写服务中断,还是从库无法进行数据同步,都是不能接受的。所以,如果主库挂了,我们就需要运行一个新主库,比如说把一个从库切换为主库,把它当成主库。这就涉及到三个问题:主库真的挂了吗?该选择哪个从库作为主库?怎么把新主库的相关信息通知给从库和客户端呢?这就要提到哨兵机制了。在 Redis 主从集群中,哨兵机制是实现主从库自动切换的关键机制,它有效地解决了主从复制模式下故障转移的这三个问题。接下来,我们就一起学习下哨兵机制。哨兵机制的基本流程哨兵其实就是一个运行在特殊模式下的 Re

2021-10-19 20:55:36 230

转载 Redis数据同步:读写分离

我们学习了 AOF 和 RDB,如果 Redis 发生了宕机,它们可以分别通过回放AOF日志和重新读入 RDB 文件的方式恢复数据,从而保证尽量少丢失数据,提升可靠性。不过,即使用了这两种方法,也依然存在服务不可用的问题。比如说,我们在实际使用时只运行了一个 Redis 实例,那么,如果这个实例宕机了,它在恢复期间,是无法服务新来的数据存取请求的。那我们总说的 Redis 具有高可靠性,又是什么意思呢?其实,这里有两层含义:一是数据尽量少丢失,二是服务尽量少中断。AOF 和 RDB 保证了前者,而对

2021-10-19 20:00:59 1100

原创 进程间通信IPC★★★

管道模型传统的模型就是软件开发的瀑布模型(Waterfall Model)。所谓的瀑布模型,其实就是将整个软件开发过程分成多个阶段,往往是上一个阶段完全做完,才将输出结果交给下一个阶段。就像下面这张图展示的一样。这种模型类似进程间通信的管道模型。Linux 有下面这样一行命令:ps -ef | grep 关键字 | awk '{print $2}' | xargs kill -9这里面的竖线“|”就是一个管道。它会将前一个命令的输出,作为后一个命令的输入。从管道的这个名称...

2021-10-17 10:29:24 136

原创 Redis持久化:RDB内存快照

AOF 方法好处:每次执行只需要记录操作命令,需要持久化的数据量不大。一般而言,只要你采用的不是 always 的持久化策略,就不会对性能造成太大影响。但是,也正因为记录的是操作命令,而不是实际的数据,所以,用 AOF 方法进行故障恢复的时候,需要逐一把操作日志都执行一遍。如果操作日志非常多,Redis 就会恢复得很缓慢,影响到正常使用。这当然不是理想的结果。那么,还有没有既可以保证可靠性,还能在宕机时实现快速恢复的其他方法呢?内存快照,就是指内存中的数据在某一个时刻的状态记录。这就类似于照片,当你

2021-10-16 20:16:30 340

原创 Redis持久化: AOF日志

Redis 用在什么业务场景下?把它当作缓存使用,因为它把后端数据库中的数据存储在内存中,然后直接从内存中读取数据,响应速度会非常快。但是一旦服务器宕机,内存中的数据将全部丢失。很容易想到的一个解决方案是,从后端数据库恢复这些数据,但这种方式存在两个问题:一是,需要频繁访问数据库,会给数据库带来巨大的压力;二是,这些数据是从慢速数据库中读取出来的,性能肯定比不上从 Redis 中读取,导致使用这些数据的应用程序响应变慢。所以,对 Redis 来说,实现数据的持久化,避免从后端数据库中进行恢复,是至关重要

2021-10-14 21:43:03 146

转载 用户态内存映射 与 mmap()

mmap 的原理在虚拟地址空间那一节,我们知道,每一个进程都有一个列表 vm_area_struct,指向虚拟地址空间的不同的内存块,这个变量的名字叫mmap。struct mm_struct { struct vm_area_struct *mmap; /* list of VMAs */......} struct vm_area_struct { /* * For areas with an address space and backing store, * li

2021-10-11 20:52:10 599

原创 vecotr 数组去重

一、手动去重两种思路:一是:将不重复的元素存入另一个数组,再输出。二是:将重复的元素值置为0 或 -1 或 其他标记值,然后输出时,只输出标记值以外的值。思路二:#include <iostream>#include <vector>#include <algorithm>using namespace std;int main() { int i = 0, j =0; vector<int> nums = { 0,2,2

2021-10-10 12:29:03 423

转载 Linux 进程内存管理

摘要- 内存管理信息在 task_struct 的 mm_struct 中- task_size 指定用户态虚拟地址大小- 32 位系统:3G 用户态, 1G 内核态- 64 位系统(只利用 48 bit 地址): 128T 用户态; 128T 内核态- 用户态地址空间布局和管理- mm_struct 中有映射页的统计信息(总页数, 锁定页数, 数据/代码/栈映射页数等)以及各区域地址- 有 vm_area_struct 描述各个区域(代码/数据/栈...

2021-10-09 20:42:27 1368

原创 STL系列等待搬运

STL系列等待搬运

2021-10-09 20:23:11 55

转载 程序员成长路线

回顾过去,我们会清晰地看见走过来的路线,但面向未来我们又该如何走下去?但凡过往,皆为序章,过去不可变,未来才是希望,而如何去规划并管理好未来的成长进化之路,才是我们当下要面临的主要任务。我们先从一个高度抽象的维度,来看看这条成长之路。一、成长路线结合我自己的经历、思考与总结,我对走过的路和未来的路概括成如下这张图:图中描述了好几个阶段,从一个阶段到下一个阶段,都会经历一次转折。1. 开发代码(Develop Code)从刚走出学校到进入职场成为一名新手程序员,在最初的一两年内,你

2021-10-08 20:17:49 3454

转载 工作之余,专业之外

程序员的主流成长发展路线,是一个明显的“T”形线路。在纵深方向上,工作到一个阶段后,可能我们就会感到深入不下去了,而且越走会越有沉滞的感觉;在横向上,是广度方面,包括技术专业之外的领域,也会感觉了解甚少,短板明显。有时候,要想产生真正的成长转变与发展突破,就不应自我局限于当下的工作内容和技术专业。一、工作之余工作,是技术发展纵深线中很重要的一个实践部分,但因为工作的内容和环境的限制,会把你困在一定的阶段,此时工作之余的内容将发挥很关键的作用。工作之余,你都在做什么?我猜有人会说,工作已经够忙

2021-10-08 20:03:20 224

转载 三视角:定位、自省与多维

记得以前阅读时碰到过一个观点,是关于 “视角” 的,其中说道:“视角的选择,对解题的难易,关系重大”。而关于成长,放到程序模型中来类比,就是一道图论题,我们求解的是适合自己的最优路径。面对这道成长路径的难题,我们可以从哪些视角来求解?我自己找到了下面三个视角。定位定位,是一个时间视角,回顾初心,定位未来。还记得当初为什么选择程序员这个职业么?如今程序员所在的行业处于发展上升期,薪酬待遇整体高于传统行业,所以各类程序员培训机构如雨后春笋涌现,流水线般地为各类只差程序员的公司批量供应,这样的批量

2021-10-08 19:57:18 467

转载 三角色:程序员、技术主管与架构师

还记得开篇词中我画了一个程序员的成长路径图,其中在图的左侧部分展示了程序员成长路径上一些主要阶段的定义,在我们从初级走向资深的过程中,会面临一条支路,在这条路上不仅普遍称呼的名称不同了,工作内容可能也发生了变化,角色的转换会带来不少的困惑。这条路就是从 “程序员” 到 “技术主管” 再到 “架构师” 的路径,下面我们就来看看这条路径上的三个角色有何不同?程序员与寻路当我刚进入软件行业成为一名程序员时,我的理想就是成为一名架构师。“架构师”这个词的英文叫 Architect,原意是建筑师,因为

2021-10-08 19:50:07 1885

原创 面经优质文章

HR特意刁难非科班!

2021-10-08 19:41:00 86

六维传感器UDP通信、六维传感器UDP通信

六维传感器UDP通信、六维传感器UDP通信、

2022-03-02

pdf转换器,免费 pdf转换器,免费 pdf转换器,免费

pdf转换器,免费 pdf转换器,免费 pdf转换器,免费

2022-02-24

六维力传感器的工业机器人末端重力补偿算法

六维力传感器的工业机器人末端重力补偿算法

2021-12-06

SOEM-EtherCAT-cia402-motorControl.zip

基于SOEM-EtherCAT-cia402-motorControl的电机控制代码

2021-01-12

typed_ast-1.4.0-cp36-cp36m-win_amd64.whl

Twisted-typed_ast-1.4.0-cp36-cp36m-win_amd64 Twisted-typed_ast-1.4.0-cp36-cp36m-win_amd64

2019-07-05

typed_ast-1.4.0-cp36-cp36m-win32.whl

Twisted-typed_ast-1.4.0-cp36-cp36m-win32.whl Twisted-typed_ast-1.4.0-cp36-cp36m-win32.whl

2019-07-05

typed_ast-1.4.0-cp37-cp37m-win32.whl

typed_ast-1.4.0-cp37-cp37m-win32.whl typed_ast-1.4.0-cp37-cp37m-win32.whl

2019-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除