クラウドサービス、API、SDK、デバッグ、閲覧、全部できます
短い記事から学ぶことができます: アプリケーション ミドルウェア シリーズの Redis 実装 (ビデオ ライブ ブロードキャスト) メッセージ連発
1 DEVKITとは
Huawei Cloud Developer Plug-in (Huawei Cloud Toolkit) は、Huawei Cloud の製品機能を開発者のデスクトップに拡張するもので、開発者がローカルで Huawei Cloud に迅速に接続できるようにし、Huawei Cloud から開発者へのラストマイルを開放します。Huawei Cloud ToolKit は、Huawei Cloud の開発者エコシステム ツール システムを中心に構築された一連の IDE プラグインであり、VS Code、IntelliJ IDEA およびその他の一連のプラットフォームに加え、Huawei Cloud の自社開発 CodeArts IDE をサポートし、開発者がより効率的にアプリケーションを構築できるようにします。そして便利に。開発者により安定、高速、安全なプログラミング エクスペリエンスを提供することに尽力します。
2 IDE と DEVKIT の関係
2.1 CodeArts IDEとは何ですか?
CodeArts IDE は、ソース コード エディターのシンプルさと、コード補完やデバッグなどの開発者ツールの機能を組み合わせた統合開発環境 (IDE) です。
ダウンロード パス: Toolkit-Huawei Cloud
2.2 IntelliJ IDEA と DEVKIT の関係
インストールの準備
JDK1.8以降をダウンロードしてインストールします。
IntelliJ IDEA 2020.2 以降をダウンロードしてインストールします。
インストールの検証
IntelliJ シリーズ プラットフォームにプラグインが正常にインストールされると、左側のナビゲーション バーに Huawei Cloud Toolkit アイコンが表示され、それをクリックすると背面パネルに「Huawei Cloud API」という文字が表示され、インストールが成功したことが示されます。
ダウンロード パス: Toolkit-Huawei Cloud
2.3 CodeArts IDE と DEVKIT の関係
API プラグインは CodeArts IDE のネイティブ組み込みプラグインであり、デフォルトでインストールされます。関連するアイコンは左側のナビゲーション バーに表示されます。
ダウンロード パス: Toolkit-Huawei Cloud
2.4 Visual Studio Code IDE と DEVKIT の関係
インストールの準備
最新バージョンの Visual Studio Code をダウンロードしてインストールします。
インストールの検証
VS Code IDE にプラグインが正常にインストールされると、左側のナビゲーション バーに Huawei Cloud Toolkit アイコンが表示され、それをクリックすると背面パネルに「Huawei Cloud API」という文字が表示され、インストールが成功したことが示されます。
ダウンロード パス: Toolkit-Huawei Cloud
3 Redis実装(ビデオライブブロードキャスト)メッセージ連発例(Java版)
3.1 Redisを利用してランキング機能を実装する
リリースノート
この例は、Huawei Cloud Distributed Cache Service Redis Basic Edition 5.0 に基づいて開発されています。
導入
Redis実装(ビデオライブブロードキャスト)メッセージ連発例(Java版)
ライブ ブロードキャスト ルームのオンライン ユーザー リスト、ギフト ランキング、集中砲火メッセージ、その他の情報はすべて、Redis の SortedSet 構造を使用したストレージに適しています。
たとえば、ZREVRANGEBYSCORE を使用して弾幕メッセージを並べ替えて返すことができます。Redis 5.0 では、メッセージ処理をより便利にするために zpopmax および zpopmin コマンドが追加されています。
この演習では、Redis を使用してメッセージ弾幕機能 (ビデオ ライブ ブロードキャスト) を実装する方法を紹介します。
開発前の準備
Huawei Cloud アカウントを登録します。詳細な手順については、「Huawei Cloud Management Console のユーザーとして登録する方法」を参照してください。, 実名認証が完了します。
パブリック IP アドレスを持つ ECS が購入されました。詳細については、「Linux Elastic Cloud サーバーの購入とログイン」を参照してください。
DCS キャッシュ インスタンスが購入されました。詳細な操作については、「キャッシュ インスタンスの購入」を参照してください。DCS インスタンスと購入した ECS が同じ仮想プライベート クラウドおよびサブネット内にあることを確認し、購入したインスタンスで Redis へのパブリック ネットワーク アクセスを構成する必要があります。詳細については、「Nginx を使用してパブリック ネットワークから Redis 4.0/5.0 スタンドアロン/アクティブ/スタンバイ/プロキシ クラスター インスタンスにアクセスする」を参照してください。
SDKのインストール
Maven を通じて SDK を取得してインストールできます。まず、Maven をダウンロードしてオペレーティング システムにインストールする必要があります。インストールが完了したら、対応する依存関係を Java プロジェクトの pom.xml ファイルに追加するだけです。
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
使い始める
依存モジュールをインポートする
//导入数据类型类
import java.util.Set;
//Redis客户端Jedis类
import redis.clients.jedis.Jedis;
ライブブロードキャストルームの集中砲火データを生成する
サンプルコード
int num = 5;
// 随机生成进入直播间发弹幕用户数据
for (int i = 0; i < num; i++) {
jedisClient.zadd(key, danmuOrder + i,
"message" + (i + 1) + (i + 1) + (i + 1) + (i + 1) + (i + 1) + (i + 1));
}
ライブブロードキャストルームのコメントを取得する
サンプルコード
// 获取所有新增弹幕
Set<String> sortedDanmuList = jedisClient.zrevrangeByScore(key, danmuOrder + num, danmuOrder);
for (String danmu : sortedDanmuList) {
System.out.println(danmu);
}
System.out.println();
System.out.println(" " + key + "直播间最新的3条弹幕");
Set<String> sorteDamu0List = jedisClient.zrevrangeByScore(key, danmuOrder + num, danmuOrder, 0, 3);
for (String danmu : sorteDamu0List) {
System.out.println(danmu);
}
3.2 表示効果
上記のデモ プログラムをコンパイルして実行すると、結果は次のようになります。
ライブ弾幕リスト
弾幕内容: message-07f1add5-2f85-4309-9f31-313c860b33dc、送信時刻: 1686902337377
弾幕内容: message-2062e817-3145-4d8b-af7f-46f334c8569c、送信時刻: 1686902337394
弾幕コンテンツ: message-ad36a0ca-e8bd-4883-a091-e12a25c00106、送信時刻: 1686902337396
弾幕内容: message-f02f9960-bb57-49ae-b7d8-6bd6d3ad3d14、送信時刻: 1686902337412
弾幕内容: message-5ca39948-866e-4e54-a469-f958cae843f6、送信時刻: 1686902337457
弾幕内容: message-5cc8b4ba-da61-4d01-9625-cf2e7337ef10、送信時刻: 1686902337489
弾幕内容: message-15378516-18ce-4da7-bd3c-35c57dd65602、送信時刻: 1686902337495
弾幕内容: message-1b280525-53e5-4fc6-a3e7-fb8e71eef85e、送信時間: 1686902337540
弾幕コンテンツ: message-adf876d1-e747-414e-92a2-397fc329bd58、送信時刻: 1686902337541
弾幕内容: message-1d8d7901-164f-4dd4-abb4-6f2345164b0e、送信時刻: 1686902337582
弾幕内容: message-fb35b1b4-277a-48bf-b22b-80070aae8475、送信時間: 1686902337667
弾幕内容: message-973b1b03-bf95-44d8-ab91-0c317b2d61b3、送信時刻: 1686902337755
弾幕コンテンツ: message-1481f883-757d-47f7-b8c0-df024d6e64a4、送信時刻: 1686902337770
弾幕内容: message-b79292ca-2409-43fb-aaf0-e33f3b9d9c8d、送信時刻: 1686902337820
弾幕内容: message-66b0e955-d509-4475-9ae5-12fb86cf9596、送信時間: 1686902337844
弾幕内容: message-12b6d15a-037a-47ee-8294-8625d202c0a0、送信時刻: 1686902337907
弾幕内容: message-fbc06323-da2a-44b8-874b-d2cf1a737064、送信時刻: 1686902337927
弾幕内容: message-7a0f787c-aff1-422f-9e62-4beda0cd5914、送信時刻: 1686902337977
弾幕内容: message-8ba5e4e0-22af-4f80-90a6-35062967e0fd、送信時刻: 1686902337992
弾幕内容: message-fa9e1169-e918-4141-9805-87edcf84c379、送信時刻: 1686902338000
弾幕コンテンツ: message-5d17be15-ba2e-461f-aba5-65c20c21d313、送信時刻: 1686902338059
弾幕内容: message-dcedc840-1be7-496a-b781-5b79c2091fe5、送信時刻: 1686902338067
弾幕内容: message-9e39eb28-6629-4d4c-8970-2acdc0e81a5c、送信時刻: 1686902338102
弾幕内容: message-030b11fe-c258-4ca2-ac82-5e6ca1eb688f、送信時刻: 1686902338211
弾幕内容: message-93322018-a987-47ba-8093-3937dddda97d、送信時刻: 1686902338242
弾幕内容: message-bc04a9b0-ec83-4a24-83f6-0a4f25ee8896、送信時刻: 1686902338281
弾幕内容: message-c6dd96d0-c938-41e4-b5d8-6275fdf83050、送信時刻: 1686902338290
弾幕コンテンツ: message-12b70173-1b86-4370-a7ea-dc0ade135422、送信時刻: 1686902338312
弾幕内容: message-a39c2ef8-8167-4945-b60d-355db6c69005、送信時刻: 1686902338318
弾幕内容: message-2c3bf2fb-5298-472c-958c-c4b53d734e89、送信時刻: 1686902338326
最新 5 件の集中メッセージ
弾幕内容: message-2c3bf2fb-5298-472c-958c-c4b53d734e89、送信時刻: 1686902338326
弾幕内容: message-a39c2ef8-8167-4945-b60d-355db6c69005、送信時刻: 1686902338318
弾幕コンテンツ: message-12b70173-1b86-4370-a7ea-dc0ade135422、送信時刻: 1686902338312
弾幕内容: message-c6dd96d0-c938-41e4-b5d8-6275fdf83050、送信時刻: 1686902338290
弾幕内容: message-bc04a9b0-ec83-4a24-83f6-0a4f25ee8896、送信時刻: 1686902338281
プロセスは終了コード 0 で終了しました
4 プラグインの魅力を体験する
Huawei Cloud 開発キットがオンラインになりました: Toolkit-Huawei Cloud