摘要: 我们知道InnoDB数据库的数据是持久化在磁盘上的,而磁盘的IO速度很慢,如果每次数据库访问都直接访问磁盘,显然严重影响数据库的性能。为了提升数据库的访问性能,InnoDB为数据库的数据增加了内存缓存区(BufferPool),避免每次访问数据库都进行磁盘IO。 缓存区BufferPool 缓存区并 阅读全文
posted @ 2021-12-07 10:54 御狐神 阅读(172) 评论(0) 推荐(0) 编辑
摘要: Java的BeanInfo在工作中并不怎么用到,我也是在学习spring源码的时候,高手是怎么玩时时彩的SpringBoot启动时候会设置一个属叫"spring.beaninfo.ignore",网上只能搜索到这个配置的意思是是否跳过java BeanInfo的搜索,没找到其他信息,但是BeanInfo又是什么呢? 阅读全文
posted @ 2021-12-06 14:00 御狐神 阅读(206) 评论(0) 推荐(2) 编辑
摘要: 对于Java中的锁大家肯定都很熟悉,在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我们的分布式环境中上面加锁的方法就会失去作用。为了 阅读全文
posted @ 2021-12-01 17:09 御狐神 阅读(246) 评论(2) 推荐(0) 编辑
摘要: 我们在业务中经常会遇到参数校验问题,比如前端参数校验、Kafka消息参数校验等,如果业务逻辑比较复杂,各种实体比较多的时候,我们通过代码对这些数据一一校验,会出现大量的重复代码以及和主要业务无关的逻辑。Spring MVC提供了参数校验机制,但是其底层还是通过Hibernate进行数据校验,所以有必 阅读全文
posted @ 2021-11-25 13:45 御狐神 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 秒杀活动是指网络商家为促销等目的组织会网上限时抢购活动,这种活动具有瞬时并发量大、库存量少和业务逻辑简单等特点。设计一个秒杀系统需要考虑的因素很多,比如对现有业务的影响、网络带宽消耗以及超卖等因素。本文会讨论秒杀系统的各个环节可能存在的问题以及解决方案。 秒杀系统 傻瓜式秒杀系统 秒杀系统的核心难点 阅读全文
posted @ 2021-11-24 13:48 御狐神 阅读(1247) 评论(6) 推荐(16) 编辑
摘要: 在前面的文章中,我们介绍了分布式事务的概念以及一些解决方案。fenSeata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。 Seata介绍 本文以一个用户下单购买商品的系统为 阅读全文
posted @ 2021-11-23 15:07 御狐神 阅读(271) 评论(0) 推荐(1) 编辑
摘要: 消息发送一致性:是指产生消息的业务动作与消息发送的一致。也就是说,如果业务操作成功,那么由这个业务操作所产生的消息一定要成功投递出去(一般是发送到kafka、rocketmq、rabbitmq等消息中间件中),否则就丢消息。 可靠消息最终一致性 发送消息不可靠性 既然提到了可靠消息的最终一致性,那么 阅读全文
posted @ 2021-11-22 16:17 御狐神 阅读(419) 评论(0) 推荐(3) 编辑
摘要: 最大努力通知型( Best-effort delivery)是最简单的一种柔性事务,适用于一些最终一致性时间敏感度低的业务,且被动方处理结果不影响主动方的处理结果。典型的使用场景:如银行通知、商户通知等。 最大努力通知 最大努力通知型( Best-effort delivery)是最简单的一种柔性事 阅读全文
posted @ 2021-11-09 17:47 御狐神 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 在电商领域等互联网场景下,传统的事务在数据库性能和处理能力上都暴露出了瓶颈。在分布式领域基于CAP理论以及BASE理论,有人就提出了柔性事务的概念。在业内,关于柔性事务,最主要的有以下四种类型:两阶段型、补偿型、异步确保型、最大努力通知型几种。我们前边讲过的2PC和3PC都属于两阶段型,两阶段型事务 阅读全文
posted @ 2021-11-07 17:38 御狐神 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 三阶段提交(3PC)是二阶段提交(2PC)的改进版本,三阶段提交协议主要是为了解决两阶段提交协议的阻塞问题,2pc存在的问题是当协调者崩溃时,参与者不能做出最后的选择。因此参与者可能在协调者恢复之前保持阻塞。三阶段提交(Three-phase commit),是二阶段提交(2PC)的改进版本。 三阶 阅读全文
posted @ 2021-11-02 15:51 御狐神 阅读(293) 评论(0) 推荐(0) 编辑