- 博客(63)
- 收藏
- 关注
原创 消息队列高手课笔记
在实际应用中,比较常见的分布式事务实现有 2PC(Two-phase Commit,也叫二阶段提交)、TCC(Try-Confirm-Cancel) 和事务消息。每一种实现都有其特定的使用场景,也有各自的问题,都不是完美的解决方案。事务消息适用的场景主要是那些需要异步更新数据,并且对数据实时性要求不太高的场景。比如我们在开始时提到的那个例子,在创建订单后,如果出现短暂的几秒,购物车里的商品没有被及时清空,也不是完全不可接受的,只要最终购物车的数据和订单数据保持一致就可以了。
2023-02-27 15:10:28
503
转载 MyBatis常用对象SqlSessionFactory和SqlSession介绍和运用
MyBatis常用对象SqlSessionFactory和SqlSession介绍和运用
2021-10-12 19:49:44
74
转载 【Spring MVC】HandlerMapping初始化详解(超详细过程源码分析)
【Spring MVC】HandlerMapping初始化详解(超详细过程源码分析)
2021-09-27 21:06:33
61
转载 Logger.getLogger()和LogFactory.getLog()的区别
Logger.getLogger()和LogFactory.getLog()的区别
2021-09-27 16:27:56
151
原创 Leecode:76. 最小覆盖子串
给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。滑动窗口的思想:用i , j分别表示滑动窗口的左右边界,滑动窗口的扩展收缩可以通过i,j的增减实现,步骤1:不断增加使得need包含所有t中字符步骤2:不断增加i,直到碰到一个t中字符步骤3:让i再增加一个位置,寻找下一个滑动窗口,如此循环public class Main { p
2021-06-10 11:15:28
105
原创 5.5显示系统通知
//通知列表 @RequestMapping(path = "/notice/list",method = RequestMethod.GET) public String getNoticeList(Model model) { User user = hostHolder.getUser(); // 查询最新评论类通知 Message message = messageService.findLatestNotice(user.getI..
2021-06-03 20:37:48
103
原创 7.5网站数据统计
public class DataService { @Autowired private RedisTemplate redisTemplate; private SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); // 去重IP记入UV public void recordUV(String ip) { String redisKey = RedisKeyUtil.getUVKey(d
2021-06-03 20:27:55
48
原创 Kafka
第1章 Kafka概述1.1 定义 Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。1.2 消息队列1.2.1 传统消息队列的应用场景MQ传统应用场景之异步处理使用消息队列的好处1)解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2)可恢复性 系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。3)缓
2021-05-22 19:10:43
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人