RocketMQ同步异步单项时间效率分析

同步:450  491  439  512 497

异步:4  1  2   2   3

单项:432  429  449   527  496   (不输出还捞)

同步:

public static void main(String[] args) throws Exception {
        //实例化生产者对象
        DefaultMQProducer producer = new DefaultMQProducer("group_test");

        //设置nameserver地址
        producer.setNamesrvAddr("127.0.0.1:9876");

        //启动producer
        producer.start();

        long l = System.currentTimeMillis();

        //发送并接收同步消息
        for (int i = 0; i < 10; i++) {
            Message message = new Message("Topic_TEST","Tags_TEST",("Message body:"+i).getBytes(StandardCharsets.UTF_8));
            SendResult send = producer.send(message);
            System.out.println("producer: "+send);
        }
        long l1 = System.currentTimeMillis();
        System.out.println("time:"+(l1-l));
        producer.shutdown();
    }

异步:

public static void main(String[] args) throws Exception {
        //实例化生产者
        DefaultMQProducer producer = new DefaultMQProducer("group_test");

        //设置nameserver地址
        producer.setNamesrvAddr("localhost:9876");
        producer.start();
        long l = System.currentTimeMillis();
        for (int i = 0; i < 10; i++) {
            Message message = new Message("Topic_TEST","Tags_TEST",("Message body"+i).getBytes(StandardCharsets.UTF_8));
            producer.send(message, new SendCallback() {
                @Override
                public void onSuccess(SendResult sendResult) {
                    System.out.println("producer success:"+sendResult);

                }

                @Override
                public void onException(Throwable e) {
                    System.out.println("producer error:"+e);
                }
            });
        }
        long l1 = System.currentTimeMillis();
        System.out.println("time:"+(l1-l));
    }

单项:

 public static void main(String[] args) throws Exception{
        DefaultMQProducer producer = new DefaultMQProducer("group_test");
        producer.setNamesrvAddr("localhost:9876");
        producer.start();
        long l = System.currentTimeMillis();
        for (int i = 0; i < 10; i++) {
            Message message = new Message("Topic_TEST","Tags_TEST",("Message body"+i).getBytes(StandardCharsets.UTF_8));

            producer.sendOneway(message);


        }

        long l1 = System.currentTimeMillis();
        System.out.println("time:"+(l1-l));
    }

你可能感兴趣的:(大数据)