摘要:之前一篇文章中大发pk10大发pk10我 们 讲了基于Mysql8的读写分离(文末有链接),这次来说说分库分表的实现过程。 概念解析 垂直分片 按照业务拆分的方式称为垂直分片,又称为纵向拆分,它的核心理念是专库专用。 在拆分之前,一个数据库由多个数据表构成,每个表对应着不同的业务。而拆分之后,则是按照业务将表进行归类,分布到不 阅读全文
posted @ 2019-10-17 17:23 张坚 阅读 (78) 评论 (0) 编辑
摘要:继承这个概念做java开发的同学应该都很熟悉了,继承指的是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和大发pk10方法 ,或子类从父类继承大发pk10方法 ,使得子类具有父类相同的行为。 数据库设计的时候也是有继承关系的,在数据库设计大发pk10方法 论中继承有三种,分别是具体表继承(Concrete Table Inh 阅读全文
posted @ 2019-10-12 08:26 张坚 阅读 (92) 评论 (0) 编辑
摘要:在实际的生产环境中,为了确保数据库的稳定性,大发pk10大发pk10我 们 一般会给数据库配置双机热备机制,这样在master数据库崩溃后,slave数据库可以立即切换成主数据库,通过主从复制的方式将数据从主库同步至从库,在业务代码中编写代码实现读写分离(让主数据库处理 事务性增、改、删操作,而从数据库处理查询操作)来提升数据 阅读全文
posted @ 2019-10-11 15:30 张坚 阅读 (1217) 评论 (13) 编辑
摘要:如果有人问大发pk10你 “数据库事务有哪些特性”?大发pk10你 可能会很快回答出原子性、一致性、隔离性、持久性即ACID特性。那么大发pk10你 知道InnoDB如何保证这些事务特性的吗?如果知道的话这篇文章就可以直接跳过不看啦( ^.^ ) 先说结论: redo log重做日志用来保证事务的持久性 undo log回滚日志保证事务的原 阅读全文
posted @ 2019-10-09 17:30 张坚 阅读 (235) 评论 (0) 编辑
摘要:A系统与B系统之间有很多接口交互,但是有一段时间接口经常报错,作为开发如果不能第一时间知道问题且及时解决的话就会收到业务投诉,当月绩效凉凉。 如果大发pk10你 也有这种场景,那么大发pk10你 就需要一个及时告警的功能。 实现方案 实现及时告警分以下两种场景: 有ELK日志收集 没有ELK日志收集 没有ELK日志收集的方案 阅读全文
posted @ 2019-10-05 12:34 张坚 阅读 (57) 评论 (0) 编辑
摘要:这篇文章以一个问题开始,如果大发pk10你 知道答案的话就可以跳过不看啦@(o・ェ・)@ Q:在一个批量任务执行的过程中,调用多个子任务时,如果有一些子任务发生异常,只是回滚那些出现异常的任务,而不是整个批量任务,请问在Spring中事务需要如何配置才能实现这一功能呢? 隔离级别 隔离性(Isolation)作为 阅读全文
posted @ 2019-09-29 15:55 张坚 阅读 (202) 评论 (0) 编辑
摘要:一、什么是Disruptor 从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。 可以拿 JDK 的 BlockingQueue 做一个简单对比,以便更好地认识 Disruptor 是什么。 大发pk10大发pk10我 们 知道 Block 阅读全文
posted @ 2018-04-14 09:58 张坚 阅读 (168) 评论 (0) 编辑
摘要:系统需要生成根据业务类型生成流水号,每天从1开始生成,第二天会清零继续从0开始,流水号格式为: bizCode + date + incr 如:TT-2017112300001。 思路:利用Redis Incr 生成序列号,使用日期加业务编码作为组合Key,这样保证第二天生成的序列号又是从1开始。 阅读全文
posted @ 2017-11-23 09:31 张坚 阅读 (2053) 评论 (1) 编辑
摘要:一、一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 select * from order where status!=0 and stauts!=1 not in/not exists都不是好 阅读全文
posted @ 2017-10-26 08:46 张坚 阅读 (81) 评论 (0) 编辑
摘要:一、架构方向 MQ要想尽量消息必达,架构上有两个核心设计点: (1)消息落地 (2)消息超时、重传、确认 二、MQ核心架构 上图是一个MQ的核心架构图,基本可以分为三大块: (1)发送方 -> 左侧粉色部分 (2)MQ核心集群 -> 中间蓝色部分 (3)接收方 -> 右侧黄色部分 粉色发送方又由两部 阅读全文
posted @ 2017-09-18 10:10 张坚 阅读 (122) 评论 (0) 编辑