摘要:
1、CopyOnWrite (1)、在写操作的线程,会将数组复制出来一份进行操作。而原本的数组不会做改变。 (2)读线程则不会受到影响,但是可能读到的是一个过期的数据。 在juc(java.util.concurrent)包下有着这么两个类,CopyOnWriteArrayList 和 CopyOn 阅读全文
摘要:
方法一:基于数据库生成 A库、B库、C库支持同时写入 A库初始值为1,自增为3,获取的值一次是1、4、7 B库初始值为2,自增为3,获取的值一次是2、5、8 C库初始值为3,自增为3,获取的值一次是6、6、9 获取ID时可从三库轮询获取 优点 此方法使用数据库原有的功能,所以相对简单 能够保证唯一性 阅读全文
摘要:
rabbitmq如何保证消息的可靠性 1、保证消息不丢失 1.1、开启事务(不推荐) 1.2、开启confirm(推荐) 1.3、开启RabbitMQ的持久化(交换机、队列、消息) 1.4、关闭RabbitMQ的自动ack(改成手动) 2、保证消息不重复消费 2.1、幂等性(每个消息用一个唯一标识来 阅读全文