etcd 是一个分布式一致性键值存储。其主要功能有服务注册与发现、消息发布与订阅、负载均衡、分布式通知与协调、分布式锁、分布式队列、集群监控与 leader 选举等。 1.etcd 性能优化 官方文档原文:https://github.com/etcd-io/etcd/blob/master/Doc ...
分类:
其他好文 时间:
2020-06-03 12:15:15
阅读次数:
77
1. 什么是分布式锁? 分布式锁:进程锁(可以在查询和更新数据库的时候都加锁) 分布式就是SOA,面向分布式对象的架构 2. 为什么使用分布式锁:数据安全 保持数据一致性的是分布式事务 3.应用分布式的场景: 3.1 redis 3.2 redis客户端,StackExchange Redis 3. ...
分类:
其他好文 时间:
2020-06-02 23:01:36
阅读次数:
53
1、 一致性读 InnoDB 中的一致性读(consistend read)指的是利用多版本查询数据库在某个时间点的快照。此查询可以看到该时间点之前提交的事务所做的更改并且不会被之后的修改或者未提交事务所影响。但是对于同一事务中的较早语句的修改则不适用此规则,这种情况会产生以下异常:如果你更新表中的 ...
分类:
数据库 时间:
2020-06-02 19:23:53
阅读次数:
79
一、事务四大属性 分别是原子性、一致性、隔离性、持久性。 1、原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 2、一致性(Consistency) 一致性是指事务必须使数 ...
分类:
数据库 时间:
2020-06-02 19:10:12
阅读次数:
58
面试题:高并发场景下,如何保证缓存与数据库一致性? 问题分析 我们日常开发中,对于缓存用的最多的场景就像下图一样,可能仅仅是对数据进行缓存,减轻数据库压力,缩短接口响应时间。 这种方案在不需要考虑高并发得去写缓存,高并发得读写缓存时,是不会有问题,但是如果是在高并发场景下,要保证缓存和数据库的一致性 ...
分类:
数据库 时间:
2020-06-02 11:23:03
阅读次数:
81
前言 可以自行去学习一下Zookeeper中的系统模型,节点特性,权限认证以及事件通知Watcher机制相关知识,本篇主要学习Zookeeper一致性算法和满足分布式协调的Zab协议 Paxos算法 Paxos算法是莱斯利*兰伯特在1990年提出的一种基于消息传递并且具有高度容错特性的一致性算法,是 ...
分类:
编程语言 时间:
2020-06-02 11:14:57
阅读次数:
72
etcd简介 etcd 是 coreOs 团队于 2013 年 6 发起的开源项目, 他的目标是构建一个高可用的分布式键值(key-value)数据库. etcd 内部采用 raft 协议作为一致性算法, etcd基于 go 语言实现. 项目地址: https://github.com/coreos ...
分类:
其他好文 时间:
2020-06-02 00:10:06
阅读次数:
119
多表查询 # 温馨提示 书写orm语句跟书写sql语句一样,不要试图一次性写完,可以分步书写 """ 多表操作 1.子查询 2.联表操作 inner join left join right join union Django orm中 1.基于对象的跨表查询 子查询 1.先拿到一个数据对象 2.对 ...
分类:
其他好文 时间:
2020-06-01 20:27:33
阅读次数:
58
Zookeeper保证了CP(C:一致性,P:分区容错性),Eureka保证了AP(A:高可用) (1)当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的信息,但不能容忍直接down掉不可用。就是说,服务注册功能对高可用性要求比较高,但zk会出现这样一种情况,当master节点因为 ...
分类:
其他好文 时间:
2020-05-31 00:57:27
阅读次数:
93
什么是分布式事务问题? 单体应用 单体应用中,一个业务操作需要调用三个模块完成,此时数据的一致性由本地事务来保证。 微服务应用 随着业务需求的变化,单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本 ...
分类:
编程语言 时间:
2020-05-30 20:08:27
阅读次数:
75