很多程序员都学过MySQL,而且也会写SQL语句。但仅仅会写还远远不够,在面试中以及在工作中,还必须要会事务和并发。 一、事务 事务是满足 ACID 特性的操作,可以通过 Commit 提交事务,也可以使用 Rollback 进行回滚。 A(Atomicity)原子性:事务被视为不可分割的小单元,事 ...
分类:
数据库 时间:
2020-04-30 21:05:21
阅读次数:
76
最近工作中讨论到了Raft协议相关的一些问题,正好之前读过多次Raft协议的那paper,所以趁着讨论做一次总结整理。 我会将Raft协议拆成四个部分去总结: 算法基础 选举和日志复制 安全性 节点变更 这是第一篇:《解读Raft(一 算法基础)》 什么是RAFT 分布式系统除了提升整个体统的性能外 ...
分类:
其他好文 时间:
2020-04-30 18:59:10
阅读次数:
107
CAP CAP定理是分布式领域当中非常著名的定理,也是大家津津乐道的一个分布式定理。有些人这么理解CAP定理:在分布式系统中,- C代表一致性- A代表可用性,- P代表网络分区。因为,分布式环境中,P不不可避免的,分布式系统要么选择一致性放弃可用性,要么选择可用性放弃一致性。 在一个shared- ...
分类:
其他好文 时间:
2020-04-29 21:32:23
阅读次数:
91
1 简介 本文将简单回顾传统数据库高可用的实现方式,并详细介绍巨杉分布式数据库的高可用实现。通过对本文的阅读,小伙伴们能够了解到传统数据库的高可用实现方式,包括;主备结构和集群架构;了解到大名鼎鼎的RAFT算法;然后最重要的,巨杉分布式数据库是如何实一致性的,如何保证在集群环境中实现数据不错不丢。 ...
分类:
数据库 时间:
2020-04-26 10:34:41
阅读次数:
82
DockerConsul容器服务更新与发现容器服务更新与发现拓扑图在consul服务器上部署nginx代理服务,registrator检测到docker容器中的服务,注册添加到consul中,consul-template根据consul中的服务信息,注册写入创建好的template模板中,设置nginx代理服务器识别consul-template生成的模板文件,外部网络用户通过访问nginx代理
分类:
其他好文 时间:
2020-04-25 10:52:31
阅读次数:
86
并发指在同一时间内可以执行多个任务。并发编程含义比较广泛,包含多线程编程、多进程编程及分布式程序等。本章讲解的并发含义属于多线程编程。goroutine是由Go语言的运行时调度完成,而线程是由操作系统调度完成。使用者分配足够多的任务,系统能自动帮助使用者把任务分配到CPU上,让这些任务尽量并发运作。 ...
分类:
其他好文 时间:
2020-04-20 01:26:36
阅读次数:
69
并发指在同一时间内可以执行多个任务。并发编程含义比较广泛,包含多线程编程、多进程编程及分布式程序等。本章讲解的并发含义属于多线程编程。goroutine是由Go语言的运行时调度完成,而线程是由操作系统调度完成。使用者分配足够多的任务,系统能自动帮助使用者把任务分配到CPU上,让这些任务尽量并发运作。 ...
分类:
其他好文 时间:
2020-04-20 01:23:24
阅读次数:
64
集群:两个或两个以上的服务器组建而成 数据库集群-->读写功能 管理集群-->管理、故障恢复等功能 主节点,在一个分布式集群中负责对其他节点的协调和管理。主节点的存在,就可以保证其他节点的有序运行,以及数据库集群中的写入数据在每个节点上的一致性 分布式选举算法:基于序号选举的算法(比如Bully算法 ...
分类:
其他好文 时间:
2020-04-17 09:31:59
阅读次数:
58
搭建主从复制 简介 主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,mester以写为主,slaver以读为主。原则上是配从不配主。 搭建主从复制 新建三个文件夹:redis8000、redis8001、redis8002 将redis.conf复制到redis8000 ...
分类:
其他好文 时间:
2020-04-12 16:51:38
阅读次数:
64
[Toc] 1,mixins机制 多继承的正确打开方式:mixins机制 mixins机制核心:就是在多继承背景下尽可能地提升多继承的可读性 ps:让多继承满足人的思维习惯=》什么"是"什么 使用Mixin类实现多重继承要非常小心 首先它必须表示某一种功能,而不是某个物品,python 对于mixi ...
分类:
编程语言 时间:
2020-04-10 22:22:59
阅读次数:
107