摘要:
历史数据迁移 项目地址:https://gitee.com/xl-echo/dataMigration 历史迁移解决方案。微服务的架构为基础,使用多种设计模式,如:单利、桥接、工厂、模板、策略等。其中涉及的核心技术有,多线程、过滤器等。致力于解决mysql大表迁移的问题。提供多种迁移模式,如:库到库 阅读全文
摘要:
并发问题的产生背景 该问题是在生产运行的过程中出现的。这个运行的项目是一个拉取第三方数据的一个服务,该服务会在拉取到数据之后直接将该数据直接插入到本地库,其中插入本地库的操作是调用的一个静态方法,静态方法对数据进行了多次数据处理,并且静态方法是异步执行的。当多个调用一起出现的时候,就相当于启动了多个 阅读全文
摘要:
震惊JDBC查询比MyBatis查询快? 文章编写起始原因,在编写项目的时候碰到一个深坑,JDBC获取5000条数据,居然耗时261s,MyBatis同样的操作,耗时12s左右,震惊。看到这里下巴都快掉下来了。不是网上都说MyBatis就是封装了的JDBC吗?不是都说JDBC比MyBatis快很多很 阅读全文
摘要:
上两篇文章讲到了两种分库分表的方式,这两种方式可以归结为一种类型,都是通过配置的形式来分片数据。本文我们继续讲解一种新的方式来分片数据,除了配置的形式外,shardingjdbc还支持通过代码来自定义规则。 自定义规则 之前我们实现了id取模和按日期分库分表,这里我们为了展示技术,还是继续按照日期分 阅读全文
摘要:
上文中我们实现了SpringBoot整合shardingjdbc+mybatis,其中我们分库分表的时候选择的是根据id取模来进行分库分表。这种分库分表的形式是比较经典的方式,但是也有很多其他的分表的方式,比如按照年月日分库分表。本文将详细讲述按照年月日分表 环境准备 在商业开发当中,有一些需求会将 阅读全文
摘要:
上文我们已经完成了springboot整合shardingjdbc并且拿到了有效的DataSource,那证明我们已经可以通过shardingjdbc的连接来操作数据库。本文我们将使用springboot整合shardingjdbc+mybatis,真正的实现分库分表的操作。大佬请略过 整合myba 阅读全文
摘要:
该教程仅仅适用于4.x版本,在ShardingSphere的迭代历史中很多的配置和兼容问题很大,这里入手一定要注意版本。 构建一个SpringBoot项目 SpringBoot项目的构建这里不再赘述,这里要提及的一点就是我们构建的时候,基本不需要引入依赖,后面会一步一步加入 数据库准备 构建两个库, 阅读全文
摘要:
分库分表、分区能解决很多的问题,这也是我们在优化的时候常常听到的一些可行的方案,不过提到优化就来分库分表是不是不太合适,本文所阐述的就是分库分表、分区,什么时候用,应该怎么用,怎么选择。 话题起点 最近听到一些学员的面试复述,基本很多的人去面试的时候都会碰到要对MySQL进行优化这样的题目,很多学员 阅读全文
摘要:
容器刷新前的准备做好了之后,接下来就是初始化beanFactory,加载并解析配置,当我们的ApplicationContext执行过obtainFreshBeanFactory之后,它就能拥有BeanFactory全部的功能 obtainFreshBeanFactory()做了哪些事 先来看看源码 阅读全文
摘要:
之前我们查看了初始化流程的super(parent)和setConfigLocations(configLocations),接下来我们进入最重要的环节refresh()方法,这个方法,才是我们spring初始化容器的最关键的方法。我们将一步一步细读,大佬略过。 refresh() 这个方法主要做了 阅读全文