摘要: 当单库已不能支撑当前业务的时候,我们往往都考虑进行分库(横向拆分或者纵向拆分)。但分库有个无法回避的问题,就是事务问题。网上有很多分布式事务解决方案,例如XA,TCC等,但是最常用,也是改造成本最低就是使用最终一致性来保证分布式事务。 比较常用的就是使用消息中间件(RabbitMq,RocketMq),通过事务消息来解决最终一致性。本篇文章将介绍数据库的来完成最终一致的方案。 阅读全文
posted @ 2018-03-06 20:15 atheva 阅读(1190) 评论(1) 推荐(2) 编辑
摘要: spring事务实现原理 阅读全文
posted @ 2018-01-30 11:19 atheva 阅读(1619) 评论(0) 推荐(0) 编辑
摘要: 1.概述 有些时候,我们需要在spring启动过程中加入一些自己的逻辑,特别是一些基本框架和spring做整合的时候(例如:mybatis-spring-boot-starter),就需要使用Spring给我们预留的扩展接口。本文将介绍3个常用的初始化扩展接口: 2.spring初始化 下图是spr 阅读全文
posted @ 2018-01-10 16:33 atheva 阅读(1412) 评论(0) 推荐(1) 编辑
摘要: 一、概述 随着时间和业务的发展,数据库中表的数据量会越来越大,相应地,数据操作,增删改查的开销也会越来越大。因此,把其中一些大表进行拆分到多个数据库中的多张表中。另一方面,在分库分表以后还需要保证分库分表的和主库的事务一致性。这片文章介绍一下:https://zhuanlan.zhihu.com/p 阅读全文
posted @ 2017-12-13 21:40 atheva 阅读(13371) 评论(0) 推荐(6) 编辑
摘要: 单元测试 首先单元测试真的算是一种“脏活累活”,但是我个人感觉还是有必要,至少本人最近开始写单元测试后还是能发现一些“bug”的。 如何写单元测试 单元测试的要求...网上很多。下面来分享一下我是如何写单元测试。首先我们项目一般都是MVC分层的,而单元测试主要是在Dao层和Service层上进行编写 阅读全文
posted @ 2017-11-26 18:04 atheva 阅读(20224) 评论(3) 推荐(0) 编辑
摘要: 概述 Spring的切面(Spring动态代理)在Spring中应用十分广泛,例如还有事务管理,重试等等。网上介绍SpringAop源码很多,这里假设你对SpringAop有基本的了解。如果你认为Spring代理类会创建多重代理,那说明你真的没了解。 需求背景 假设我现在想提供一个jar包,这个ja 阅读全文
posted @ 2017-10-31 01:23 atheva 阅读(1506) 评论(0) 推荐(2) 编辑
摘要: 概述 我们知道,在Spring boot中可以通过xml或者@ImportResource 来引入自己的配置文件,但是这里有个限制,必须是本地,而且格式只能是 properties(或者 yaml)。那么,如果我们有远程配置,如何把他引入进来来呢。 第一种方式 这外一种方法,相对更简单些,但是相对没 阅读全文
posted @ 2017-10-17 18:45 atheva 阅读(9339) 评论(2) 推荐(3) 编辑
摘要: 概述 Druid是阿里巴巴开源的一个数据库连接池 源码地址。下面简单分析一下连接池是怎么实现的 怎么开始阅读 如果使用过Druid连接池的都只要在Spring配置中配置jdbc的时候配置Driver是使用的DruidDataSource。因此,在读源码的时候也可以从这个类入口。 Datasouce 阅读全文
posted @ 2017-10-12 19:56 atheva 阅读(3067) 评论(0) 推荐(1) 编辑
摘要: 文章推荐 jdk9都已经出来了,虽然很多项目都已经使用jdk8,但是很少会用到jdk8中的新特性。本人经常用的到也就是使用Stream,Lambda,但也仅仅是使用,基本不知道什么Function,Consumer东西。Optional和CompletableFuture就更不清楚了。下面整理了一些 阅读全文
posted @ 2017-10-02 15:05 atheva 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 概述 垃圾收集器是jvm实现内存回收的具体实现。本次分享要介绍的7种垃圾收集器的作用区域及其之间的关系如下图: 注: 如果2个垃圾收集器之间有连线,表示可以搭配使用 垃圾收集器并没有最好的,只有针对不同应用场景最合适的 (1)Serial收集器 过程 先暂停全部用户线程(Stop The World 阅读全文
posted @ 2017-10-01 15:50 atheva 阅读(444) 评论(0) 推荐(0) 编辑