一、分布式数据一致性 在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。 (1)什么是数据一致性 在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致 ...
分类:
其他好文 时间:
2017-09-24 19:25:56
阅读次数:
164
在slave服务器上通过如下命令 显示如下情况: 表示slave不同步 解决方法一(忽略错误,继续同步): 1、先停掉slave 2、跳过错误步数,后面步数可变 3、再启动slave 4、查看同步状态 解决方法二(重新做主从,完全同步): 1、先进入主库进行锁表,注意窗口不要关闭 2、把数据进行备份 ...
分类:
数据库 时间:
2017-09-23 19:05:02
阅读次数:
244
数据备份 xtrabackup是基于innodb的crash恢复功能之上的。它会拷贝innodb数据文件(这会导致数据不一致的),然后对文件执行crash恢复使其一致。 因为innodb维护了redo日志,即事务日志。redo日志包含对innodb数据修改的每一个记录。当innodb启动,会探测数据 ...
分类:
其他好文 时间:
2017-09-19 14:57:01
阅读次数:
195
原文http://blog.163.com/bigoceanwu@126/blog/static/172718064201683031639683/ 读写分离:利用最基础的mysql主从复制,事务性的查询无法分离出去(因为会导致数据不一致),这样就无法做到真正的读写分离,因为有些场景可能大部分都是事 ...
分类:
其他好文 时间:
2017-09-16 11:50:39
阅读次数:
287
表的重新再同步(无需时间窗口) 如果是某些表由于各种原因造成两边数据不一致,需要重新进行同步,但实际业务始终24小时可用,不能提供时间窗口, 则可以参照以下步骤。(因较为复杂,使用需谨慎!) 1)确认ext/dpe/rep进程均无较大延迟,否则等待追平再执行操作; 2)停止目标端的rep进程; 注意 ...
分类:
其他好文 时间:
2017-09-16 00:33:17
阅读次数:
238
表的重新再同步(需时间窗口) 如果是某些表由于各种原因造成两边数据不一致,需要重新进行同步,可以参照以下步骤。 1)确认需要修改的表无数据变化 (如果有条件建议停止应用系统并锁定除去sys和goldengate以外的其它所有用户防止升级期间数据变化, 或者锁定所要再同步的表); 2)重启dpe进程( ...
分类:
其他好文 时间:
2017-09-16 00:30:59
阅读次数:
131
锁的作用:避免并发请求时对同一个数据对象同时修改,导致数据不一致。 怎么加锁: 1.事务T1在对某个数据对象R1操作之前,先向系统发出请求,对其加锁L1. 2.之后,事务T1对该数据对象R1有了相应的控制,在T1释放L1之前,其它事务不能修改R1. 锁类型: 1.排它锁(X)。 2.共享锁(S)。 ...
分类:
数据库 时间:
2017-09-14 00:34:21
阅读次数:
259
hashMap数据结构图: HashMap特点: 允许多条记录的值为null; 非线程安全,任意时刻多线程操作hashmap,有可能导致数据不一致,可以通过Collections的synchronizedMap来实现Map的线程安全或者使用concurrentHashMap。 HashMap是链表+ ...
分类:
其他好文 时间:
2017-09-13 22:07:27
阅读次数:
191
在php与数据库的交互中,如果并发量大,并且都去进行数据库的修改的话,就有一个问题需要注意.数据的锁问题.就会牵扯数据库的事务跟隔离机制数据库事务依照不同的事务隔离级别来保证事务的ACID特性,也就是说事务不是一开启就能解决所有并发问题。通常情况下,这里的并发操作可能带来四种问题: 更新丢失:一个事 ...
分类:
数据库 时间:
2017-09-13 17:22:03
阅读次数:
261
业务复杂、数据量大、并发量大的业务场景下,典型的互联网架构,一般会分为这么几层: 调用层,一般是处于端上的browser或者APP 站点层,一般是拼装html或者json返回的web-server层 服务层,一般是提供RPC调用接口的service层 数据层,提供固化数据存储的db 调用层,一般是处 ...
分类:
其他好文 时间:
2017-09-12 10:04:44
阅读次数:
137