首页
学习
活动
专区
工具
TVP
发布

咖啡拿铁

专栏成员
95
文章
151595
阅读量
18
订阅数
再谈分布式事务
三年前,我写了第一篇和分布式事务相关的文章再有人问你分布式事务,把这篇扔给他,后面陆续也写了一些和分布式事务相关的文章:
用户5397975
2022-02-24
4010
Innodb RR隔离级别下到底能否避免幻读
这个事情要回溯到曾经背八股文的时候了,想必大家在背八股文的时候对于事务隔离级别都已经背得滚瓜烂熟了,一般在说隔离级别的时候,都顺带会提到mysql的innodb的RR隔离级别,由于他与众不同的实现方式,通常会有下面的一些描述:
用户5397975
2021-09-09
1.6K1
TIDB,面向未来的数据库到底是什么?
tidb这个技术名词很多同学或多或少都曾经耳闻过,但是很多同学觉得他是分布式数据库,自己的业务是使用mysql,基本使用不上这个技术,可能不会去了解他。最近业务上有个需求使用到了tidb,于是学习了一下基本原理,会发现这些原理其实不仅仅局限于分布式数据库这一块,很多技术都是通用的,所以在这里写一下分享一下学习tidb的一些心得。
用户5397975
2021-07-21
6280
逸仙电商Seata企业级落地实践
就职于逸仙电商交易中心;Seata Committer,加入 Seata 社区已有一年半,见证了从 Fescar 到 Seata 的变更,GA 等。
用户5397975
2021-04-26
4920
随笔——消息队列线程池模型如何保证重启时消息不丢
这个帖子的意思是:在使用Kafka的时候,我们已经设置了多个分区,如何去提升消费能力?如果使用线程池的方式去提升如何保证重启时消息不丢。
用户5397975
2020-11-05
9080
万亿级数据应该怎么迁移?
在星爷的《大话西游》中有一句非常出名的台词:“曾经有一份真挚的感情摆在我的面前我没有珍惜,等我失去的时候才追悔莫及,人间最痛苦的事莫过于此,如果上天能给我一次再来一次的机会,我会对哪个女孩说三个字:我爱你,如果非要在这份爱上加一个期限,我希望是一万年!”在我们开发人员的眼中,这个感情就和我们数据库中的数据一样,我们多希望他一万年都不改变,但是往往事与愿违,随着公司的不断发展,业务的不断变更,我们对数据的要求也在不断的变化,大概有下面的几种情况:
用户5397975
2020-11-05
1.4K0
Oh! Binlog还能这样用之Canal篇
•当你使用了redis或者其他中间件做缓存的时候,经常发现缓存和数据库的数据不一致,只能通过定时任务或者缓存过期的方式去做一些限制。•当你使用了ES做搜索工具,使用双写的那一套方法,还在为ES和数据库不是一个事务而担忧。•当你需要迁移数据的时候,也还在使用双写的方法,如果是同一个数据库的还好,如果是不同数据库就不能保证事务,那么数据一致性也是个问题,就会写很多的修复Job和检查Job。
用户5397975
2020-09-18
1.8K0
讲讲insert on duplicate key update 的死锁坑
最近有一些活动,于是会对系统做一些平时量比较小的路径做一些打压,这不打压还好,这一打压就出现了奇怪的问题,居然有一段陈年老代码出现了死锁的问题,日志如下:
用户5397975
2020-04-07
20.6K4
聊聊计算和存储分离
这篇文章是我一直想写的一篇,因为“计算和存储分离”最近几年在大家的视野中出现得越来越多,但其实很多对于其到底代表着什么也是模糊不清,这里我查阅了很多的资料再结合平时自己的理解,聊聊到底什么是“计算和存储分离”
用户5397975
2020-02-17
4.6K1
数据库连接池到底应该设多大?这篇文章可能会颠覆你的认知
数据库连接池大小往往是一个很容易被大家所忽略的参数,通常这个参数也和公司或者组内文化有关系,以前在美团的时候基本所有的项目连接池大小都设置20, 当时也没有考虑为什么会这么设置,反正就跟着大伙儿用。后来来到了猿辅导,发现大家使用的连接池是tomcat-jdbc,并没有针对连接池大小做特殊配置,使用的是默认的100。
用户5397975
2019-11-28
2.1K0
注意Spring事务这一点,避免出现大事务
本篇文章主要分享压测的(高并发)时候发现的一些问题。之前的两篇文章已经讲述了在高并发的情况下,消息队列和数据库连接池的一些总结和优化,有兴趣的可以在我的公众号中去翻阅。废话不多说,进入正题。
用户5397975
2019-11-26
3.1K0
一名3年工作经验的java程序员应该具备的职业技能
一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容。我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪水势必也越高。
用户5397975
2019-10-14
4960
你应该知道的乐观锁-高效控制线程安全的手段
最近在修改Seata线程并发的一些问题,把其中一些经验总结给大家。先简单描述一下这个问题,在Seata这个分布式事务框架中有个全局事务的概念,在大多数情况下,全局事务的流程基本是顺序推进不会出现并发问题,但是当一些极端的情况下,会出现多线程访问导致我们全局事务处理不正确。 如下面代码所示: 在我们全局事务commit阶段,有一个如下代码:
用户5397975
2019-10-14
4570
如果再有人问你分布式ID,这篇文章丢给他
通常我们会调研各种各样的生成策略,根据不同的业务,采取最合适的策略,下面我会讨论一下各种策略/算法,以及他们的一些优劣点。
用户5397975
2019-10-13
8510
再有人问你分布式事务,把这篇扔给他
不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱一手交货。有了事务,你去网上购物,扣款即产生订单交易。
用户5397975
2019-10-13
4560
为什么开发人员必须要了解数据库锁?
锁在现实中的意义为:封闭的器物,以钥匙或暗码开启。在计算机中的锁一般用来管理对共享资源的并发访问,比如我们java同学熟悉的Lock,synchronized等都是我们常见的锁。当然在我们的数据库中也有锁用来控制资源的并发访问,这也是数据库和文件系统的区别之一。
用户5397975
2019-10-13
5290
解密分布式事务框架-Fescar
在去年的时候我写过一篇关于分布式事务的文章再有人问你分布式事务,把这篇扔给他。再这篇文章中我叫大家能不用分布式事务就别用分布式事务,因为会引入很多的复杂度。当时说这个的时候其实还有一个原因,没有大厂的成熟开源解决方案,虽然再网上有很多开源的分布式事务框架,但是都不是太成熟,没有大量的业务验证。它不像其他的分布式中间件有大量的成熟的解决方案,比如分布式消息队列中间件:Apache Kafka,Apache RocketMQ,Apache Pulsar这三个均是Apache顶级项目;又比如分布式任务调度,也有很多的开源比如XXL-JOB,Elastic-Job都是有很多的公司在使用。
用户5397975
2019-10-13
5980
如何优雅的使用缓存?
在之前的文章中你应该知道的缓存进化史介绍了爱奇艺的缓存架构和缓存的进化历史。俗话说得好,工欲善其事,必先利其器,有了好的工具肯定得知道如何用好这些工具,本篇将介绍如何利用好缓存。
用户5397975
2019-10-13
9380
聊聊分布式锁
对于锁大家肯定不会陌生,在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我们的分布式环境中上面加锁的方法就会失去作用。于是人们为了在分布式环境中也能实现本地锁的效果,也是纷纷各出其招,今天让我们来聊一聊一般分布式锁实现的套路。
用户5397975
2019-10-13
5310
谈谈数据一致性
数据一致性这个单词在平常开发中,或者各种文章中都能经常看见,我们常常听见什么东西数据不一致了,造成了一定的损失,赶快修复一下。但是很多同学对一致性具体代表什么意思,他有什么作用依然不是很了解,今天我们就来聊聊一致性。
用户5397975
2019-10-13
3.1K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档