美文网首页
模仿rocket实现mq

模仿rocket实现mq

作者: Ace_b90f | 来源:发表于2020-09-04 13:52 被阅读0次

项目地址
使用和rocket相似

// producer
public class ProducerExample {
    static final String BROKER = "localhost:8989";
    static final String TOPIC = "test-topic";

    public static void main(String[] args) {
        DefaultProducer producer = new DefaultProducer();
        producer.start();
        producer.addBroker(TOPIC, BROKER);
        for (int i = 0; i < 10; i++) {
            Message msg = new Message();
            msg.setTopic(TOPIC);
            msg.setBody(("this is body" + i).getBytes(Charset.forName("UTF-8")));
            SendResult result = producer.send(msg);
            if (result.getSendStatus().equals(SendStatus.SEND_OK)) {
                System.out.println("success");
            } else {
                System.out.println("error");
            }
        }
    }
}
// consumer
public class ConsumerExample {
    static final String BROKER = "localhost:8989";
    static final String TOPIC = "test-topic";

    public static void main(String[] args) {
        DefaultConsumer consumer = new DefaultConsumer();

        consumer.registerMessageListener(new MessageListenerConcurrently() {
            @Override
            public ConsumeConcurrentlyStatus consumeMessage(Message msg) {
                System.out.println(new String(msg.getBody()));
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
            }
        });
        consumer.start();
        consumer.addBroker(TOPIC, BROKER);
        consumer.subscribe(TOPIC);
    }
}

后期准备做的

  • 完善客户端channel管理。
  • broker分布式。这依赖于客户端的负载均衡,将topic分片存储。由于目前无持久化,因此使用同步双写保证数据一致性。
  • 数据持久化。

相关文章

  • 模仿rocket实现mq

    项目地址使用和rocket相似 后期准备做的 完善客户端channel管理。 broker分布式。这依赖于客户端的...

  • Rocket MQ

    Name Server是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。 Broker部署相对复杂,Bro...

  • Rocket MQ

    参考万亿级数据洪峰下的分布式消息引擎 - 简书 Page Cache Page Cache是文件的缓存,用于加速对...

  • rocket mq 底层存储源码分析(2)-业务消息持久化

    本章主要详细分析Rocket mq 消息持久化底层源码实现。 先讲解几个核心的业务抽象类 MappedFile, ...

  • 消费者客户端(1)-消息拉取总概

    前言 从本章开始,将会以系列的方式,分章节讲解Rocket Mq是如何实现消息的消费模型。 消息的广播或单播 不管...

  • netty源码write

    以Rocket MQ一段代码为例 ChannelHandlerContext.writeAndFlush(Obje...

  • RocketMq-两主配置

    rocket mq详细解析参考: https://www.cnblogs.com/tudachui/p/10998...

  • RocketMQ源码解析-topic创建机制

    以下源码基于Rocket MQ 4.7.0 1. RocketMQ Topic创建机制 RocketMQ Topi...

  • rocket mq 底层存储源码分析(1)-存储总概

    前言:从本节开始,我们将分七个章节从底层源码来分析Rocket mq 是如何实现自己的消息持久化的: 第(1)章节...

  • 1 ROCKET MQ 安装

    文档 官方文档 参考文档 安装 环境变量 Start Name Server Start Broker Shutd...

网友评论

      本文标题:模仿rocket实现mq

      本文链接:https://www.haomeiwen.com/subject/syuzsktx.html