摘要: SynchronousQueue是一个不存储元素的阻塞队列。当队列有1个元素时,必须被消费才可以再存入 *测试代码中可看到 put一个元素立马能take一个元素 阅读全文
posted @ 2019-05-13 01:20 fuguang 阅读(191) 评论(0) 推荐(0) 编辑
摘要: ArrayBlockingQueue需要初始化长度的阻塞队列 先进先出 * 添加元素用add方法时,如果超过定义的长度则会抛出异常 java.lang.IllegalStateException: Queue full * 取出元素时用remove方法,如果删除的元素超出定义长度则抛出异常 java 阅读全文
posted @ 2019-05-13 00:53 fuguang 阅读(837) 评论(0) 推荐(0) 编辑
摘要: 当缓存很多时,搭建集群根据数据的key取hash存储到redis集群中。 但是这种无法扩展。当增加redis节点或者减少节点时,hash值会变化。造成缓存失效。还可能引起缓存雪崩。使得请求压力都到了应用程序查库上面,使服务器崩溃。 hash一致性算法是将计算hash的数据和redis服务器抽取出来。 阅读全文
posted @ 2019-05-05 17:10 fuguang 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 转载自一个大拿:http://www.cnblogs.com/LBSer/p/4715395.html 前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了 阅读全文
posted @ 2019-04-17 14:58 fuguang 阅读(452) 评论(0) 推荐(0) 编辑
摘要: zk有四种节点类型: 持久节点,持久顺序节点,临时节点,临时顺序节点。 自定义监听事件时,在节点的创建,修改,删除的方法第一行都需要加入是否监听的一个方法: //开启监听的方法。第二个参数表示是否开启监听 zk.exists(path, true); zk自定义监听: 阅读全文
posted @ 2019-04-07 01:43 fuguang 阅读(1827) 评论(0) 推荐(0) 编辑
摘要: 两个项目。分别是生产者和消费者项目 。首先引入依赖。两边pom都一样 第一次练习,启动生产者后,再启动消费者,一直报找不到 队列的声明。 后排查发现是 需要现在生产者这边浏览器访问一次生产消息的方法,以让交换机和队列在rabbit服务器生成。 因为交换机的生成属于懒加载。不发送消息是不生成交换机的。 阅读全文
posted @ 2019-04-06 01:49 fuguang 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 加入事务的方法: txSelect() txCommit() txRollback() 生产者: 消费者: 阅读全文
posted @ 2019-04-06 00:26 fuguang 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 主题交换机类型为:topic。 是直连交换机的一种。只是比直连交换机更灵活,在路由键上引入了通配符的概念 生产者 : 消费者: 阅读全文
posted @ 2019-04-06 00:24 fuguang 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 直连交换机类型为:direct。加入了路由键routingKey的概念。 就是说 生产者投递消息给指定交换机的指定路由键。 只有绑定了此交换机指定路由键的消息队列才可以收到消息。 生产者: 消费者: 阅读全文
posted @ 2019-04-06 00:21 fuguang 阅读(267) 评论(0) 推荐(0) 编辑
摘要: rabbit引入交换机概念。 交换机与生产者绑定。 队列与消费者绑定。 队列又与交换机绑定。 扇形交换机是 fanout类型的。 类似于其他消息中间件的 topic。一对多(生产者推送消息到指定交换机,一个或多个绑定了此交换机的消费者的队列都可以收到此交换机的消息) 生产者: 消费者: 阅读全文
posted @ 2019-04-06 00:12 fuguang 阅读(350) 评论(0) 推荐(0) 编辑