工厂模式种类 工厂模式可以分为三类:简单工厂模式,工厂方法模式以及抽象工厂模式。 简单工厂模式 简单工厂模式又称为静态工厂方法模式,为何称为静态工厂方法模式呢?是因为该模式主要由一个工厂类的静态方法来提供各种产品。 简单工厂模式的优点 这里假设有三个角色:消费者,生产者和产品。通过简单工厂模式消费者 ...
分类:
编程语言 时间:
2019-02-12 00:14:59
阅读次数:
170
在第一篇博客我们了解到一个kafka系统,通常是生产者Producer 将消息发送到 Broker,然后消费者 Consumer 去 Broker 获取,那么本篇博客我们来介绍什么是生产者Producer。 1、生产者概览 我们知道一个系统在运行过程中会有很多消息产生,比如前面说的对于一个购物网站, ...
分类:
其他好文 时间:
2019-02-11 16:51:21
阅读次数:
233
1 package reentrantlock; 2 3 import java.util.ArrayList; 4 5 public class ProviderAndConsumerTest { 6 7 static ProviderAndConsumer providerAndConsumer... ...
分类:
编程语言 时间:
2019-02-11 12:31:18
阅读次数:
217
消费者确认解决的问题是确认消息是否被消费者"成功消费". 它有个前提条件,那就是生产者发布的消息已经"成功"发送出去了. 因此还需要一个机制来告诉生产者,你发送的消息真的"成功"发送了. 在标准的AMQP 0-9-1,保证消息不会丢失的唯一方法是使用事务:在通道上开启事务,发布消息,提交事务.但是事 ...
分类:
其他好文 时间:
2019-02-09 19:10:29
阅读次数:
266
搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务 初步认识RocketMQ的核心模块 rocketmq模块 rocketmq-broker:接受生产者发来的消息并存储(通过调用rocketmq-store),消费者从这里取得消息。 rocketmq-client:提供发送、接受消息的客 ...
分类:
其他好文 时间:
2019-02-08 21:53:04
阅读次数:
148
1. ArrayBlockingQueue简介 在多线程编程过程中,为了业务解耦和架构设计,经常会使用并发容器用于存储多线程间的共享数据,这样不仅可以保证线程安全,还可以简化各个线程操作。例如在“生产者-消费者”问题中,会使用阻塞队列(BlockingQueue)作为数据容器,关于BlockingQ ...
分类:
数据库 时间:
2019-02-08 20:00:17
阅读次数:
236
confirm 机制分串行和并行两种. 串行 生产者 并行(异步) 生产者 ...
分类:
其他好文 时间:
2019-02-07 16:15:16
阅读次数:
347
主体模式和路由模式很像 路由模式是精确匹配 主体模式是模糊匹配 依然先通过管理后台添加一个交换机. 生产者 消费者1 消费者2 运行结果: 由于消费者1的路由键只有 "product.add" 和 "product.update" ,不包含"product.delete", 而消费者2的路由键是"p ...
分类:
其他好文 时间:
2019-02-06 23:53:00
阅读次数:
256
路由模式下,生产者发送消息时需要指定一个路由键(routingKey),交换机只会把消息转发给包含该路由键的队列 这里,我们改变一下声明交换机的方式. 我们通过管理后台添加一个交换机. 添加后,生产者和消费者的代码中就不需要再声明交换机了.同样,也可以通过管理后台添加队列,那么代码中也不需要声明队列 ...
分类:
其他好文 时间:
2019-02-06 11:55:33
阅读次数:
141