国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐

這篇具有很好參考價值的文章主要介紹了【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

為了支持長遠(yuǎn)的云原生發(fā)展,RocketMQ引入了一個全新的模塊:Proxy,官方對RocketMQ客戶端提供了獨(dú)立的開源項(xiàng)目:https://github.com/apache/rocketmq-clients,如果要使用這個新的客戶端,必須要使用Proxy作為endpoint。

Proxy有兩種搭建方式:

  • LOCAL:本地模式,顧名思義,通過追加參數(shù),在broker本地啟動
  • CLUSTER:集群模式,作為獨(dú)立的集群啟動,搭建完nameserver和broker后,獨(dú)立部署

本地模式更適合非正式的場景,如調(diào)試、開發(fā),線上環(huán)境還是推薦集群模式,本文基于集群模式進(jìn)行部署驗(yàn)證。

啟動proxy使用mqproxy命令:

[root@XXGL-T-TJSYZ-REDIS-01 bin]# ./mqproxy -help
usage: mqproxy [-bc <arg>] [-h] [-n <arg>] [-pc <arg>] [-pm <arg>]
 -bc,--brokerConfigPath <arg>   Broker config file path for local mode
 -h,--help                      Print help
 -n,--namesrvAddr <arg>         Name server address list, eg: '192.168.0.1:9876;192.168.0.2:9876'
 -pc,--proxyConfigPath <arg>    Proxy config file path
 -pm,--proxyMode <arg>          Proxy run in local or cluster mode
[root@XXGL-T-TJSYZ-REDIS-01 bin]# 
  • -bc:使用本地模式時,指定broker的配置文件路徑
  • -h:輸出幫助信息;
  • -n:nameserver路徑,也可以通過在配置文件中配置namesrvAddr指定;
  • -pc:proxy配置文件路徑;
  • -pm:代理模式:LOCAL / CLUSTER,默認(rèn)為CLUSTER(集群模式)

需要編輯的文件有:

  • bin/runserver.sh:修改GC日志目錄和JVM參數(shù);(非必須)
  • conf/rmq-proxy.json:
    主要是設(shè)置集群名、自定義端口
{
  "rocketMQClusterName": "littleCat",
  "remotingListenPort":28080,
  "grpcServerPort":28081
}

完整參數(shù)見源碼:org.apache.rocketmq.proxy.config.ProxyConfig

啟動腳本:

#!/bin/bash
. /etc/profile

nohup sh /neworiental/rocketmq-5.1.0/rocketmq-proxy/bin/mqproxy -n '172.24.30.192:19876;172.24.30.193:19876;172.24.30.194:19876' -pc /neworiental/rocketmq-5.1.0/rocketmq-proxy/conf/rmq-proxy.json >/dev/null 2>&1 &
echo "deploying rocketmq-proxy..."

停止腳本:

#!/bin/bash
. /etc/profile

PID=`ps -ef | grep '/neworiental/rocketmq-5.1.0/rocketmq-proxy' | grep -v grep | awk '{print $2}'`
if [[ "" !=  "$PID" ]]; then
  echo "killing rocketmq-proxy : $PID"
  kill $PID
fi

啟動成功

【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐

客戶端測試:

pom依賴:

        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-client-java</artifactId>
            <version>5.0.4</version>
        </dependency>

生產(chǎn)者:

package cn.xdf.xadd.rmq.test.newclient;

import org.apache.rocketmq.client.apis.ClientConfiguration;
import org.apache.rocketmq.client.apis.ClientException;
import org.apache.rocketmq.client.apis.ClientServiceProvider;
import org.apache.rocketmq.client.apis.message.Message;
import org.apache.rocketmq.client.apis.producer.Producer;
import org.apache.rocketmq.client.apis.producer.SendReceipt;

import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class ProducerNormalMessageExample {

    public static void main(String[] args) throws ClientException, IOException {
        final ClientServiceProvider provider = ClientServiceProvider.loadService();

        String endpoints = "172.24.30.192:28080";
        ClientConfiguration clientConfiguration = ClientConfiguration.newBuilder()
                .setEndpoints(endpoints)
                .build();
        String topic = "zhurunhua-test";
        // In most case, you don't need to create too many producers, singleton pattern is recommended.
        final Producer producer = provider.newProducerBuilder()
                .setClientConfiguration(clientConfiguration)
                // Set the topic name(s), which is optional but recommended. It makes producer could prefetch the topic
                // route before message publishing.
                .setTopics(topic)
                // May throw {@link ClientException} if the producer is not initialized.
                .build();
        // Define your message body.
        byte[] body = "This is a normal message for Apache RocketMQ".getBytes(StandardCharsets.UTF_8);
        String tag = "new-client-test";
        final Message message = provider.newMessageBuilder()
                // Set topic for the current message.
                .setTopic(topic)
                // Message secondary classifier of message besides topic.
                .setTag(tag)
                // Key(s) of the message, another way to mark message besides message id.
                .setKeys("test")
                .setBody(body)
                .build();
        try {
            final SendReceipt sendReceipt = producer.send(message);
            System.out.println("Send message successfully, messageId=" + sendReceipt.getMessageId());
        } catch (Throwable t) {
            System.err.println(t);
        }
        // Close the producer when you don't need it anymore.
        producer.close();
    }
}

【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐

消費(fèi)者:

package cn.xdf.xadd.rmq.test.newclient;

import org.apache.rocketmq.client.apis.ClientConfiguration;
import org.apache.rocketmq.client.apis.ClientException;
import org.apache.rocketmq.client.apis.ClientServiceProvider;
import org.apache.rocketmq.client.apis.consumer.ConsumeResult;
import org.apache.rocketmq.client.apis.consumer.FilterExpression;
import org.apache.rocketmq.client.apis.consumer.FilterExpressionType;
import org.apache.rocketmq.client.apis.consumer.PushConsumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;
import java.util.Collections;

public class PushConsumerExample {
    private static final Logger log = LoggerFactory.getLogger(PushConsumerExample.class);

    public static void main(String[] args) throws ClientException, IOException, InterruptedException {
        final ClientServiceProvider provider = ClientServiceProvider.loadService();

        String endpoints = "172.24.30.192:28080";
        ClientConfiguration clientConfiguration = ClientConfiguration.newBuilder()
                .setEndpoints(endpoints)
                .build();
        String tag = "new-client-test";
        FilterExpression filterExpression = new FilterExpression(tag, FilterExpressionType.TAG);
        String consumerGroup = "new-client-test-group";
        String topic = "zhurunhua-test";
        PushConsumer pushConsumer = provider.newPushConsumerBuilder()
                .setClientConfiguration(clientConfiguration)
                // Set the consumer group name.
                .setConsumerGroup(consumerGroup)
                // Set the subscription for the consumer.
                .setSubscriptionExpressions(Collections.singletonMap(topic, filterExpression))
                .setMessageListener(messageView -> {
                    // Handle the received message and return consume result.
                    log.info("Consume message={}", messageView);
                    return ConsumeResult.SUCCESS;
                })
                .build();
        // Block the main thread, no need for production environment.
        Thread.sleep(Long.MAX_VALUE);
        // Close the push consumer when you don't need it anymore.
        pushConsumer.close();
    }
}

【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐

以上,搭建成功,消息生產(chǎn)消費(fèi)成功~

遇到的問題:

【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐

找到rmq.proxy,logback.xml,批量修改對應(yīng)的路徑:

【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐

將${brokerLogDir}批量替換成自定義的路徑即可。

dashboard目前還不能采集到客戶端的信息:

【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐文章來源地址http://www.zghlxwxcb.cn/news/detail-428956.html

到了這里,關(guān)于【RocketMQ】RocketMQ 5.1.0版本Proxy集群模式部署實(shí)踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • RocketMQ集群4.9.2升級4.9.6版本

    RocketMQ集群4.9.2升級4.9.6版本

    本文主要記錄生產(chǎn)環(huán)境短暫停機(jī)升級RocketMQ版本的過程 ????????1.將生產(chǎn)環(huán)境MQ4.9.2集群同步到測試環(huán)境,并啟動,確保正常運(yùn)行。 ? ? ? ? 2.參照4.9.2配置4.9.6集群 ? ? ? ? 3.停掉4.9.2集群,啟動4.9.6集群,測試確保正常運(yùn)行。 ? ? ? ? 4.停掉4.9.6集群,復(fù)制4.9.2集群的store存

    2024年02月15日
    瀏覽(12)
  • 使用?KubeSphere?部署高可用?RocketMQ?集群

    使用?KubeSphere?部署高可用?RocketMQ?集群

    作者:老Z,云原生愛好者,目前專注于云原生運(yùn)維,KubeSphere Ambassador。 Spring Cloud Alibaba 全家桶之 RocketMQ 是一款典型的分布式架構(gòu)下的消息中間件產(chǎn)品,使用異步通信方式和發(fā)布訂閱的消息傳輸模型。 很多基于 Spring Cloud 開發(fā)的項(xiàng)目都喜歡采用 RocketMQ 作為消息中間件。 Rock

    2023年04月15日
    瀏覽(21)
  • RocketMQ雙主雙從同步集群部署

    RocketMQ雙主雙從同步集群部署

    ?? 作者: 互聯(lián)網(wǎng)-小啊宇 ?? 簡介: CSDN 運(yùn)維領(lǐng)域創(chuàng)作者、阿里云專家博主。目前從事 Kubernetes運(yùn)維相關(guān)工作,擅長Linux系統(tǒng)運(yùn)維、開源監(jiān)控軟件維護(hù)、Kubernetes容器技術(shù)、CI/CD持續(xù)集成、自動化運(yùn)維、開源軟件部署維護(hù)等領(lǐng)域。 ?? 博客首頁:CSDN【互聯(lián)網(wǎng)-小阿宇】 、阿里云

    2024年02月12日
    瀏覽(23)
  • 關(guān)于使用RocketMQ搭建多Master多Slave模式(同步)集群時遇到的問題

    關(guān)于使用RocketMQ搭建多Master多Slave模式(同步)集群時遇到的問題

    1.1) 操作系統(tǒng): Linux 虛擬機(jī): VMware Workstation 16 Pro 、WSL ? Openjdk Version : 11.0.19 ? 使用 RocketMQ 進(jìn)行 多 Master 多 Slave 模式(同步)集群的搭建 2)集群配置: # nameserver xxx.xxx.xxx.xxx rocketmq-nameserver1 xxx.xxx.xxx.xxx rocketmq-nameserver2 ?# broker #? 在 VMware Workstation 上啟動 xxx.xxx.xxx.xxx:10

    2024年02月16日
    瀏覽(30)
  • RocketMQ 主備自動切換模式部署

    RocketMQ 主備自動切換模式部署

    目錄 主備自動切換模式部署 Controller 部署? Controller 嵌入 NameServer 部署? Controller 獨(dú)立部署? Broker 部署? 兼容性? 升級注意事項(xiàng)? ? ? 該文檔主要介紹如何部署支持自動主從切換的 RocketMQ 集群,其架構(gòu)如上圖所示,主要增加支持自動主從切換的 Controller 組件,其可以獨(dú)立

    2024年02月14日
    瀏覽(21)
  • Kubernetes高可用集群二進(jìn)制部署(五)kubelet、kube-proxy、Calico、CoreDNS

    Kubernetes高可用集群二進(jìn)制部署(五)kubelet、kube-proxy、Calico、CoreDNS

    Kubernetes概述 使用kubeadm快速部署一個k8s集群 Kubernetes高可用集群二進(jìn)制部署(一)主機(jī)準(zhǔn)備和負(fù)載均衡器安裝 Kubernetes高可用集群二進(jìn)制部署(二)ETCD集群部署 Kubernetes高可用集群二進(jìn)制部署(三)部署api-server Kubernetes高可用集群二進(jìn)制部署(四)部署kubectl和kube-controller-man

    2024年02月14日
    瀏覽(17)
  • Zabbix第二部分:基于Proxy分布式部署實(shí)現(xiàn)Web監(jiān)控和Zabbix HA集群的搭建

    Zabbix第二部分:基于Proxy分布式部署實(shí)現(xiàn)Web監(jiān)控和Zabbix HA集群的搭建

    1)分擔(dān) server 的集中式壓力; 2)解決多機(jī)房之間的網(wǎng)絡(luò)延時問題。 agent -- proxy -- server zabbix-server :整個監(jiān)控體系中最核心的組件,它負(fù)責(zé)接收客戶端發(fā)送的報告信息,所有配置、 統(tǒng)計(jì)數(shù)據(jù)及操作數(shù)據(jù)都由它組織。 Database :所有配置信息和zabbix收集到的數(shù)據(jù)都存儲在數(shù)據(jù)庫

    2024年02月06日
    瀏覽(45)
  • docker-compose 搭建RocketMQ 5.1.0 集群(雙主雙從模式) | Spring Cloud 28

    關(guān)于更多 RocketMQ 的介紹請見官網(wǎng):https://rocketmq.apache.org/zh/docs/ 網(wǎng)上關(guān)于 Docker 搭建 RocketMQ 單機(jī)集群的版本一般都是 4.X 。關(guān)于最新的 5.X 版本,官方給出的示例都是基于物理機(jī)虛擬機(jī)實(shí)現(xiàn),不便于我們我們?nèi)粘i_發(fā)使用,而且官方鏡像https://hub.docker.com/r/apache/rocketmq 中也沒有

    2024年02月05日
    瀏覽(24)
  • 【RocketMQ】RocketMQ5.0新特性(一)- Proxy

    【RocketMQ】RocketMQ5.0新特性(一)- Proxy

    為了向云原生演進(jìn),提高資源利用和彈性能力,RocketMQ在5.0進(jìn)行了架構(gòu)的調(diào)整與升級,先來看新特性之一,增加了Proxy層。 計(jì)算存儲分離 計(jì)算存儲分離是一種分層架構(gòu),將計(jì)算層與存儲層分開。 計(jì)算層指的是一些消耗計(jì)算資源的功能模塊比如協(xié)議解析、消費(fèi)管理等,存儲指的

    2024年02月08日
    瀏覽(23)
  • Kubernetes集群部署與實(shí)踐

    Kubernetes集群部署與實(shí)踐

    本博客鏈接:https://security.blog.csdn.net/article/details/128840528 部署Kubernetes集群至少需要3臺服務(wù)器,其中至少要有1個服務(wù)器做master節(jié)點(diǎn),至少要有1個服務(wù)器做node節(jié)點(diǎn),且節(jié)點(diǎn)名稱是唯一的。 當(dāng)集群中只有一個master節(jié)點(diǎn)時,如果其出現(xiàn)了故障,會導(dǎo)致Kubernetes的控制平面完全失效。

    2023年04月08日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包