自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Rabbitmq分布式事务

    今天小编带来的是分享课题是分布式事务。小编是在一家O2O公司做程序员,今天就以公司的一则订单业务来作为分享课题的场景。    业务场景:用户在APP上进行下单操作,商家接单,配送,订单结束。这里以商家接单为背景。        业务结构如下:架构实现:一、本地事务一个service里面通过单数据源保证三个表的事务,完全没有问题。完美解决。 二、分布式...

2018-07-23 17:21:51 9977 5

原创 Mybatis解析——SqlSessionFactoryBean

本文主要说明SqlSessionFactory的构建过程mysql配置文件如下:<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <proper

2018-06-28 17:52:43 1385

原创 Mybatis解析——Configuration

    从之前的《Mybatis解析——SqlSessionFactoryBean》可以看出,Configuration在SqlSessionFactory的创建过程中是一个很重要的环节。    在SqlSessionFactoryBean.class可以看到Configuration的创建方式,在未配置configurationProperties的情况下,这里主要的参数是configLocat...

2018-06-28 17:52:33 618

原创 Eureka解析

一、简介    Eureka是Netflix提供的一个用于作为注册中心的组件。提供服务注册、服务发现等功能。二、结构图    Eureka可以做集群部署,提供高可用性。如下是它的结构图。图片来源:https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance图中包含两个组件:Eureka Client、Eureka Server。服务提供者跟服务...

2018-06-25 18:59:54 308

原创 异步通信rabbitmq——消息重试

目标:    利用RabbitMQ实现消息重试和失败处理,实现可靠的消费消费。在消息消费异常时,自动延时将消息重试,当重试超过一定次数后,则列为异常消息,等待后续特殊处理。准备:    TTL:Time-To-Live,通过给消息、队列设置过期时间(单位:毫秒),来控制消息、队列的生命周期。在达到时间后,消息会变成dead message。    Dead Letter Exchanges:同普通...

2018-06-14 15:18:34 8331 1

转载 MySQL索引原理

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。二叉查找树二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键...

2018-06-08 11:34:07 152

原创 多线程并发获取任务结果集

一般在进行多线程开发时,常用的操作就是ExecutorService来处理任务。任务接口可以是Runnable、Callable。Runnable的源码如下,表明该任务不支持结果返回,同时不外抛异常。@FunctionalInterfacepublic interface Runnable { public abstract void run();}Callable的源码如下,表明该任...

2018-06-07 16:03:44 5011 2

转载 监控TP50,TP90

TP指标: TP50:指在一个时间段内(如5分钟),统计该方法每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第50%的那个值作为TP50 值;配置此监控指标对应的报警阀值后,需要保证在这个时间段内该方法所有调用的消耗时间至少有50%的值要小于此阀值,否则系统将会报警。TP90,TP99,TP999与TP50值计算方式一致,它们分别代表着对方法的不同性能要求,TP50相对较低,TP9...

2018-06-05 18:33:08 787

原创 异步通信rabbitmq

1、组件producer、broker、consumer参考:https://www.jianshu.com/p/79ca08116d57

2018-06-05 15:24:45 1859

翻译 InnoDB锁

1、前言mysql有两种常见引擎。InnoDB:支持事务。MyISAM:不支持事务。坑:曾经刚接触数据库的时候,没有区分InnoDB、MyISAM,在创建表的时候默认选择了MyISAM,造成在业务异常时,数据全都没有回滚。2、InnoDB锁2.1 共享锁(Share Locks)和排他锁(Exclusive Locks)InnoDB通过两种类型的行级锁来实现标准的行锁。共享锁(Share Lock...

2018-06-04 17:38:51 137

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除