- 博客(5)
- 收藏
- 关注
原创 MyBatis之ResultMap的association和collection标签详解
MyBatis 创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子。我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样。如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有。而 ResultMap 就是 MyBatis 对这个问题的答案。- 用于在实例化类时,注入结果到构造方法中idArg- ID 参数;标记出作为 ID 的结果可以帮助提高整体性能arg- 将被注入到构造方法的一个普通结果id– 一个 ID 结果;
2024-01-22 17:49:59
1507
1
原创 分布式锁(Redisson)-从零开始,深入理解与不断优化
关于第二个提升性能的问题,我们可以参考ConcurrentHashMap的锁分段技术的思想,例如我们代码的库存量当前为1000,那我们可以分为10段,每段100,然后对每段分别加锁,这样就可以同时执行10个请求的加锁与处理,当然有要求的同学还可以继续细分。经过改进后的代码是否还存在问题呢?我们思考正常执行的情况下应该是没有问题,但我们假设请求在执行到业务代码时服务突然宕机了,或者正巧你的运维同事重新发版,粗暴的 kill -9 掉了呢,那代码还能执行 finally 吗?但我们再思考下是否还存在问题呢?
2024-01-19 17:27:41
1537
1
原创 详解RocketMQ 顺序消费机制
顺序消息是指对于一个指定的 Topic ,消息严格按照先进先出(FIFO)的原则进行消息发布和消费,即先发布的消息先消费,后发布的消息后消费。
2024-01-18 15:22:19
1421
原创 RocketMQ 工程准备、同步消息、延时消息、顺序消息、事务消息 生产消费代码示例说明
如果设置稍后重新消费,接收消息失败时,服务器会按照延时级别慢慢提升而反复发送消息的时间间隔也拉长,直到18个级别都结束,就不会再发送消息,总共4个小时多;比如电商里,提交了一个订单就可以发送一个延时消息,1h后去检查这个订单的状态,如果还是未付款就取消订单释放库存。同步消息发送要保证强一致性,发到master的消息向slave复制后,才会向生产者发送反馈信息。这种可靠性同步地发送方式使用的比较广泛,比如:重要的消息通知,短信通知。消息生产者发送消息,设置延时级别对应的时间过后消费者自动收到消息。
2024-01-18 15:14:06
1515
原创 Spring Rocketmq 事务消息 消费者使用注解消费
注意:顺序处理不能和广播模式同时使用,应该广播模式是属于并发的,而顺序是强调。@RocketMQMessageListener事务消息。原则,广播模式不能保证顺序一致性。
2024-01-18 14:39:03
637
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人