Alibaba Cloud RocketMQ — Cloud Message Queue RocketMQ のエクスペリエンスをご案内します

Alibaba Cloud 製品評価-RocketMQ

まだ試したことのない友達は、クリックしてリソースを無料で入手し、私と一緒に練習してください。2 分でタスクを完了すると、10 元の猫スーパー カードを受け取るチャンスがあります。
ここに画像の説明を挿入現在、友達をトライ​​アルに招待しており、評価活動について知るために、あなたもチャレンジに参加できます。
Alibaba Cloud RocketMQ 公式イベント入場口
ここに画像の説明を挿入

今日は、Ali の別の製品 (RocketMQ) の詳細な評価を実施しました。

1. 実践的な操作

1. RocketMQ を支払うか、無料で開く

Cloud Message Queue RocketMQ Edition は、Alibaba Cloud によって開始された Apache RocketMQ に基づく分散メッセージ処理システムであり、マイクロサービスの非同期デカップリング、ストリーミング データ処理、イベント駆動型処理などのインターネット分散アプリケーションのニーズを満たすことができ、高可用性、高信頼性、低遅延、および高同時実行性のコア機能を提供します。
ここに画像の説明を挿入

2. コンソールに入り、以下を表示します。

ここに画像の説明を挿入

3. 例のリストは次のとおりです。

ここに画像の説明を挿入

4. トピックを作成し、対応する設定を入力します。

トピックとは、メッセージ キュー内のメッセージの分類を指します。メッセージ キュー内のメッセージはトピックに従って分類され、異なるトピックのメッセージが混在することはありません。トピックにより、メッセージの正確な検索とフィルタリングが実現され、メッセージの利用率と柔軟性が向上します。たとえば、ユーザーの注文情報を処理するためのトピックと、ユーザーの行動統計を処理するための別のトピックを作成して、メッセージの分類と配信を実現できます。
ここに画像の説明を挿入

5. ワンクリックでのメッセージ送受信体験

ワンクリックメッセージ送受信エクスペリエンスでは、自動保存、ワンクリック送信、ワンクリック受信、メッセージフィルタリングなどの便利な機能が提供されます。これらの機能を利用することで、メッセージのやり取りや配信を簡単に実現し、業務効率を向上させることができます。さらに、ワンクリックのメッセージ送受信エクスペリエンスでは、メッセージのセキュリティを確保するために、メッセージの暗号化や本人確認などのセキュリティ機能も提供できます。

ここに画像の説明を挿入

メッセージの詳細は次のとおりです。
ここに画像の説明を挿入

6. グループを作成する

グループとは、メッセージ キュー内のメッセージのグループ化方法を指します。メッセージ キュー内のメッセージはグループに従ってグループ化でき、同じグループ内のメッセージはまとめてキューに送信されます。グループ化によりメッセージの一括送信・一括受信が実現でき、メッセージ送信の効率化と安定性を向上させることができます。たとえば、ユーザーの注文情報を処理するグループと、ユーザーの行動統計を処理するグループを作成して、メッセージの一括送信と一括受信を実現できます。
ここに画像の説明を挿入
メッセージ再発行ツール
ここに画像の説明を挿入

2.体験シナリオ:ワンクリックメッセージ送受信体験

ワンクリックメッセージ送受信エクスペリエンスの公式ソースコードは次のとおりです。

package com.aliyun.openservices;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import org.apache.rocketmq.client.apis.producer.SendReceipt;
import org.apache.rocketmq.client.apis.producer.Producer;
import org.apache.rocketmq.client.apis.ClientServiceProvider;
import org.apache.rocketmq.client.apis.ClientConfiguration;
import org.apache.rocketmq.client.apis.ClientConfigurationBuilder;
import org.apache.rocketmq.client.apis.ClientException;
import org.apache.rocketmq.client.apis.StaticSessionCredentialsProvider;
import org.apache.rocketmq.client.apis.message.MessageBuilder;

public class Demo {
    
    
    /**
     * 实例接入点,从控制台实例详情页的接入点页签中获取。
     * 如果是在阿里云内网 VPC 访问,建议填写 VPC 接入点。
     * 如果是在本地公网访问,或者是线下 IDC 环境访问,可以使用公网接入点。使用公网接入点访问,必须开启实例的公网访问功能。
     */
    public static final String ENDPOINT = "rmq-cn-uax3azb880h-vpc.cn-hangzhou.rmq.aliyuncs.com:8080";
    public static final String TOPIC_NAME = "xiaoz";
    public static final String TAG = "";
    public static final String KEY = "";
    public static final String BODY = "good";

    public static void main(String[] args) throws ClientException, IOException {
    
    
        ClientServiceProvider provider = ClientServiceProvider.loadService();
        ClientConfigurationBuilder configBuilder = ClientConfiguration.newBuilder().setEndpoints(ENDPOINT);

        /**
         * 如果是使用公网接入点访问,configuration 还需要设置实例的用户名和密码。用户名和密码在控制台实例详情页获取。
         * 如果是在阿里云内网 VPC 中访问,无需填写该配置,服务端会根据内网 VPC 信息智能获取。
         */
        // configBuilder.setCredentialProvider(
        //  new StaticSessionCredentialsProvider("Instance UserName", "Instance Password")
        // );
        ClientConfiguration configuration = configBuilder.build();

        /**
         * 初始化 Producer 时直接配置需要使用的 Topic 列表,实现提前检查错误配置、拦截非法配置启动。
         * 针对非事务消息 Topic,也可以不配置,服务端会动态检查消息的 Topic 是否合法。
         * 注意!!!事务消息 Topic 必须提前配置,以免事务消息回查接口失败,具体原理请参见事务消息。
         */
        Producer producer = provider.newProducerBuilder()
                .setClientConfiguration(configuration)
                .setTopics(TOPIC_NAME)
                .build();

        MessageBuilder builder = provider.newMessageBuilder()
                // 为当前消息设置 Topic。
                .setTopic(TOPIC_NAME)
                // 消息体。
                .setBody(BODY.getBytes(StandardCharsets.UTF_8));

        if (!KEY.isEmpty()) {
    
    
            // 设置消息索引键,可根据关键字精确查找某条消息。
            builder.setKeys(KEY);
        }

        if (!TAG.isEmpty()) {
    
    
            // 设置消息 Tag,用于消费端根据指定 Tag 过滤消息。
            builder.setTag(TAG);
        }

        // 配置消息的自定义属性
        // builder.addProperty("key", "value");

        try {
    
    
            // 发送消息,需要关注发送结果,并捕获失败等异常。
            final SendReceipt sendReceipt = producer.send(builder.build());
            System.out.println("Send mq message success! Topic is:" + TOPIC_NAME + " msgId is: "
                    + sendReceipt.getMessageId().toString());
        } catch (Throwable t) {
    
    
            System.out.println("Send mq message failed! Topic is:" + TOPIC_NAME);
            t.printStackTrace();
        }
        
        // 如果不需要再使用,可关闭该进程。
        producer.close();
    }
}

私の例:
ここに画像の説明を挿入
メッセージ トラック:
ここに画像の説明を挿入
メッセージの詳細は次のとおりです。
ここに画像の説明を挿入

2.1 RocketMQの実際の使用感

初心者の経験:

1) 製品の使用プロセス: 簡単な操作でメッセージをすばやく送受信できるため、便利で速く、使いやすいです。
2) 学習に関する提案: ワンクリック メッセージの送受信エクスペリエンスをより適切に活用するために、ユーザーがメッセージ キューの基本についてさらに学ぶことをお勧めします。

高度な経験:

1) ソースコードの体験: ソースコードを理解することで、ワンクリックメッセージ送受信体験の実現原理をより深く理解し、メッセージキューについての理解を深めることができます。
2) シナリオ アプリケーション: この機能は、オンライン教育、電子商取引プラットフォームなど、高速なインタラクションとメッセージ配信が必要なシナリオで使用される傾向があります。これにより、作業効率が向上し、ユーザー エクスペリエンスが向上します。
3) 利点: 使いやすく、高速かつ効率的、便利で実用的です。改善の観点: さまざまなユーザーのニーズを満たすために、メッセージ フィルタリングなどの機能をさらに最適化し、より多くのカスタマイズ オプションを提供する必要があるかもしれません。

2.2 利用シナリオの傾向

私は、オンライン教育、電子商取引プラットフォームなど、高速な対話とメッセージ配信が必要なシナリオで RocketMQ のこの機能を使用することが多いです。これにより、作業効率が向上し、ユーザー エクスペリエンスが向上します。さらに、RocketMQ を使用すると、メッセージ送信の安定性と信頼性が向上し、メッセージの損失と遅延のリスクが軽減されるため、システムの可用性と拡張性が向上し、企業にさらなる利益と価値をもたらします。

2.3 体験に関する感想: 利点と改善の提案

このシナリオの主な利点は次のとおりです。
● 使いやすさ: 簡単な操作でメッセージをすばやく送受信できるため、便利で高速で使いやすいです。
● 高速かつ効率的: メッセージの一括送受信が実現でき、メッセージ送信の効率と安定性が向上します。
●便利で実用的:自動保存、ワンキー送信、ワンキー受信、メッセージフィルタリングなどの便利な機能を提供し、作業効率を向上させることができます。
改善すべき主な点は次のとおりです。
● カスタマイズ: さまざまなユーザーのニーズを満たすために、メッセージ フィルタリングなどの機能をさらに最適化し、より多くのカスタマイズ オプションを提供する必要がある場合があります。
● セキュリティ: メッセージのセキュリティを確保するために、メッセージの暗号化や認証などのセキュリティ機能を追加することを検討してください。

RocketMQ に興味のある友人は、公式リンクで試してみることができます:
Alibaba Cloud RocketMQ 公式入口

おすすめ

転載: blog.csdn.net/weixin_52908342/article/details/131773048