摘要:
事务简介: 本地事务:即为mysql数据库实现的事务,事务内的操作都在本节点内,且单个数据库,不会跨越多个节点,多个数据库。完全符合ACID特性。 分布式事务:指事务的发起者、资源及资源管理器和事务协调者分别位于分布式系统的不同节点之上。本质上来说,分布式事务就是为了保证在分布式场景下,事务中分散在 阅读全文
摘要:
1.rabbitmq架构 Exchange:消息交换机,指定消息按照什么规则,路由到什么队列 Queue:消息的载体,每个消息会被投递到一个或者多个队列 Binding:绑定,将exchange和queue按照路由规则绑定起来 RoutingKey:路由关键字,exchange根据这个关键字进行消息 阅读全文
摘要:
本文记录一些对kafka的学习总结。 https://zhuanlan.zhihu.com/p/146913653 1.kafka架构 topic,主题。用于划分消息所属类别。相当于消息的标签。 partition,分区。topic中消息被划分到一个或者多个partition,是一个物理概念,对应到 阅读全文
摘要:
总体设计: 常见的电商中都会存在秒杀业务,下面我们针对秒杀业务做分析设计: 痛点:针对痛点进行设计 瞬间并发量大,大量用户会在同一时间进行抢购,网站瞬时流量激增 库存有限,访问请求数据量远大于库存数量,只有少部分用户能够秒杀成功。 不能超卖。 我们需要对秒杀业务的各个层面进行设计: 前端访问页面: 阅读全文
摘要:
问题:订单服务在通过feign调用库存服务进行库存扣减的时候,我们知道feign是有超时重试机制的。当出现feign超时,或者网络抖动的时候,订单服务以为上次调用没有成功,即使实际上调用成功了,还是会再次调用。库存服务无法区分是否为同一个操作,导致 相同操作被执行多次,造成多次扣减库存。 解决方案: 阅读全文
摘要:
1.1.1 运行到一半的函数不要强制杀死,调用stop(),destroy()函数虽然可以做到,会造成线程所使用的的资源,比如文件描述符,网络连接等不能正常关闭。合理的运行完毕,干净的释放资源。对于循环运行的线程,要通过线程间的通信机制,通知退出 1.1.2 守护线程,在java中,所有的非守护线程 阅读全文
摘要:
spring的认证授权是通过一些列的Filter实现的,最后请求才会到达DispatcherSevlet,分发到对应的controller处理器。Filter的入口就是filterName为springSecurityFilterChain代理过滤器DelegatingFilterProxy,这个过 阅读全文