互联网并发编程中,锁的概念时时刻刻都在我们身边,无论是并发编程时候线程锁,还是数据库网络中的锁,都有一些相似之处,都是为了保持数据库的完整性和一致性。不恰当的使用锁,会导致性能下降,出现死锁等情况,所以弄清楚锁的原理概念是必要的。 一、锁分类 二、悲观锁(Pessimistic Lock) 顾名思义 ...
分类:
数据库 时间:
2020-03-07 12:51:05
阅读次数:
94
第一个文章 https://www.jdon.com/49366 在分布式系统中,重试是不可避免的,我们经常使用后台跑定时进行数据同步,同步不成功就实现重试,重试次数多少取决于你追求一致性还是可用性,如果希望两个系统之前无论如何都必须一致,那么你设置重试次数为无限,当然这是理想情况,实际情况是有重试 ...
分类:
其他好文 时间:
2020-03-06 20:09:32
阅读次数:
554
前言: CPU在摩尔定律的指导下以每18个月翻一番的速度在发展,然而内存和硬盘的发展速度远远不及CPU。这就造成了高性能能的内存和硬盘价格及其昂贵。然而CPU的高度运算需要 高速的数据。为了解决这个问题,CPU厂商在CPU中内置了少量的高速缓存以解决I\O速度和CPU运算速度之间的不匹配问题。 首先 ...
分类:
编程语言 时间:
2020-03-06 15:34:33
阅读次数:
80
1.什么是消息队列?消息队列,英文名message queue,简称MQ。MQ是一种应用程序对应用程序的通讯方法。消息队列是分布式应用中不可或缺的组件,主要解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性的架构。常用的有RabbitMQ、Kafka、ActiveMQ、R... ...
分类:
编程语言 时间:
2020-03-06 09:16:14
阅读次数:
83
【数据类型转换、运算符】 内容 数据类型转换 算数运算符 比较运算符 逻辑运算符 三元运算符 第一章 数据类型转换 Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。 1.1 自动转换 一个int 类型变量和一个 byte 类型变量进行加法运算, 结 ...
分类:
其他好文 时间:
2020-03-05 13:08:51
阅读次数:
86
一.局部化修改: 1.预期期望变更:连接数据库代码,Dao层的代码,前端页面设计代码等进行分开编写,最大程度使变更影响达到最小 2.维持语义一致性 降低模块依赖性,不用或少用继承关系,多使用专用的借口来限制对相关服务的修改 3.泛华模块 数据库连接语句 4.限制选择参数 将软件系统限制在具体操作系统 ...
分类:
其他好文 时间:
2020-03-05 01:24:53
阅读次数:
84
为什么要加锁? 为了保证在并发地存取时的数据一致性。 锁有哪些分类? ...
分类:
数据库 时间:
2020-03-04 22:33:25
阅读次数:
62
上一篇讲述了什么是分布式一致性问题,以及它难在哪里,liveness和satefy问题,和FLP impossibility定理。有兴趣的童鞋可以看看 "分布式系统一致性问题与Raft算法(上)" 。 这一节主要介绍raft算法是如何解决分布式系统中一致性问题的。说起raft大家可能比较陌生,但zo ...
分类:
编程语言 时间:
2020-03-04 20:50:49
阅读次数:
58
Java面试常被问到这道题:如何保证缓存与数据库的双写一致性?
分类:
数据库 时间:
2020-03-04 00:22:39
阅读次数:
75
数据一致性部分借用大神“耗叔”的博客:https://coolshell.cn/articles/20793.html。 总结:volatile 关键字通过内存屏障禁止了指令的重排序,并在单个核心中,强制数据的更新及时更新到缓存。在此基础上,依靠多核心处理器的缓存一致性协议等机制,保证了变量的可见性 ...
分类:
其他好文 时间:
2020-03-02 20:44:01
阅读次数:
88