![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springboot
jeff-y
所有文章用于个人记录,仅供参考,有错误的地方还请指出错误。
展开
-
微服务间异步通讯踩坑日记
背景公司的服务都是微服务之前的调用,现在A服务需要使用B服务的功能,但是B服务处理业务是需要一定的时间的。为了提高服务间的吞吐采用异步的方式执行。同步调用和异步调用同步调用带来的坏处同步调用需要被调用方的吞吐不低于调用方的吞吐。否则会导致被调用方因为性能不足而拖死调用方。换句话说,整个同步调用链的性能会由最慢的那个服务所决定。同步调用会导致调用方一直在等待被调用方完成,如果一层接一层地同步调用下去,所有的参与方会有相同的等待时间。这会非常消耗调用方的资源。因为调用方需要保存现场(Context原创 2020-08-07 19:24:42 · 1310 阅读 · 0 评论 -
SpringBoot 2.X中的@Async和Java8中的completableFuture的使用比较
背景看到項目中有使用到Async注解和completetableFuture的runApply方法的使用。兩者都是異步提交方法的方式。那他两都分别在什么场景底下比较适用呢?非常的明显的区别,一个是注解一个是方法调用。这样的话带来利好了。注解注释某个方法,那这个方法只要被调用就会产生异步。那使用的completableFuture的话你调用那个方法那个方法才会被异步。Async 产生的默认使用的线程池是不一样的。一个是forkJoinPool 一个是AsyncTaskExecutor。两个都是用默认原创 2020-08-03 23:18:21 · 4975 阅读 · 1 评论 -
spring事务传播属性,隔离性,以及事务的特性脑图
原创 2020-02-26 21:37:07 · 185 阅读 · 0 评论 -
spring事务传播特性
spring事务传播特性什么是事物呢?事务是一系列的动作(逻辑update,insert,delte…),它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,可以想一下0和1,你把0变成1的过程就比作事务,这个过程中如果遇到问题就会失败就会变为原有状态0,而不会出现0.5等值,如果成功就是1,我们不难发现这个事务需要正确的执行有几...原创 2020-02-25 23:00:19 · 795 阅读 · 0 评论 -
springBoot 线程池异步编程
线程池中的两个概念:线程和任务,任务是需要线程去执行的。这里写一个支付相关的异步线程池的栗子:1、在application.properties中添加线程池的配置参数: pay.threadNamePrefix=pay-exec- pay.maxPoolSize=20 pay.corePoolSize=10 pay.queueCapacity=10002、基于注解进行参数的配置...转载 2019-10-16 09:21:22 · 265 阅读 · 0 评论 -
SpringBoot的事务传播机制
一、事务传播机制:事务的传播行为是针对嵌套事务而言。示例:@Transactional(propagation = Propagation.REQUIRED)2.1.1 REQUIREDspring默认的事务传播行为就是它。支持事务。如果业务方法执行时已经在一个事务中,则加入当前事务,否则重新开启一个事务。外层事务提交了,内层才会提交。内/外只要有报错,他俩会一起回滚。只要内层方...转载 2019-09-04 22:51:54 · 3347 阅读 · 0 评论 -
Spring Event事件通知机制
Spring Event事件通知机制1、监听者模式2、DEMO(同步)3、Spring实现细节4、Spring Event4.1 ContextRefreshedEvent4.2 ServletRequestHandledEvent5、异步Pushlish以及DEMO1、监听者模式学习spring的事件通知机制肯定要先了解监听者模式(监听者模式和观察者模式有什么区别?)监听者模...原创 2019-09-29 09:03:36 · 262 阅读 · 0 评论