欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

阿里云服務(wù)器部署RabbitMQ集群的詳細(xì)教程

 更新時(shí)間:2022年05月31日 08:50:41   作者:Bug?終結(jié)者  
本文是對(duì)?RabbitMQ?進(jìn)階?阿里云服務(wù)器部署RabbitMQ集群簡(jiǎn)單的概述,搭建集群達(dá)到消息的高可用,高可靠,可以提高吞吐量,集群部署是一個(gè)很不錯(cuò)的選擇,鏡像隊(duì)列集群,這個(gè)我們可以根據(jù)配置來(lái)進(jìn)行同步規(guī)則,根據(jù)需求來(lái)定制化我們的規(guī)則,感興趣的朋友一起看看吧

一、為什么要搭建RabbitMQ集群?

未部署集群的缺點(diǎn)

如果RabbitMQ集群只有一個(gè)broker節(jié)點(diǎn),那么該節(jié)點(diǎn)的失效將導(dǎo)致整個(gè)服務(wù)臨時(shí)性的不可用,并且可能會(huì)導(dǎo)致message的丟失(尤其是在非持久化message存儲(chǔ)于非持久化queue中的時(shí)候)。可以將所有message都設(shè)置為持久化,并且使用持久化的queue,但是這樣仍然無(wú)法避免由于緩存導(dǎo)致的問(wèn)題:因?yàn)閙essage在發(fā)送之后和被寫(xiě)入磁盤并執(zhí)行fsync之間存在一個(gè)雖然短暫但是會(huì)產(chǎn)生問(wèn)題的時(shí)間窗。通過(guò)publisher的confirm機(jī)制能夠確??蛻舳酥滥男﹎essage已經(jīng)存入磁盤,盡管如此,一般不希望遇到因單點(diǎn)故障導(dǎo)致服務(wù)不可用。

部署集群后

如果RabbitMQ集群是由多個(gè)broker節(jié)點(diǎn)構(gòu)成的,那么從服務(wù)的整體可用性上來(lái)講,該集群對(duì)于單點(diǎn)失效是有彈性的,但是同時(shí)也需要注意:盡管exchange和binding能夠在單點(diǎn)失效問(wèn)題上幸免于難,但是queue和其上持有的message卻不行,這是因?yàn)閝ueue及其內(nèi)容僅僅存儲(chǔ)于單個(gè)節(jié)點(diǎn)之上,所以一個(gè)節(jié)點(diǎn)的失效表現(xiàn)為其對(duì)應(yīng)的queue不可用。

RabbitMQ本身是基于Erlang編寫(xiě),Erlang語(yǔ)言天生具備分布式特性(通過(guò)同步Erlang集群各節(jié)點(diǎn)的erlang.cookie來(lái)實(shí)現(xiàn))。因此,RabbitMQ天然支持集群。集群是保證可靠性的一種方式,同時(shí)可以通過(guò)水平擴(kuò)展以達(dá)到增加消息吞吐量能力的目的。

為了提高程序的吞吐量,保持消息的可靠性,一臺(tái)機(jī)器掛了后,RabbitMQ能夠正常生產(chǎn),消費(fèi)消息。

二、RabbitMQ集群的三種模式

rabbitmq有三種模式:?jiǎn)螜C(jī)模式,普通集群模式,鏡像集群模式

??單機(jī)模式

Demo級(jí)別的,一般只是本機(jī)測(cè)試玩玩而已,生產(chǎn)環(huán)境下不會(huì)用的。

?普通集群模式

多臺(tái)機(jī)器上啟動(dòng)多個(gè)rabbitmq實(shí)例每個(gè)機(jī)器啟動(dòng)一個(gè)。
但是你創(chuàng)建的queue,只會(huì)放在一個(gè)rabbtimq實(shí)例上,但是每個(gè)實(shí)例都同步queue的元數(shù)據(jù)(存放含queue數(shù)據(jù)的真正實(shí)例位置)。消費(fèi)的時(shí)候,實(shí)際上如果連接到了另外一個(gè)實(shí)例,那么那個(gè)實(shí)例會(huì)從queue所在實(shí)例上拉取數(shù)據(jù)過(guò)來(lái)。

示意圖

這種方式確實(shí)很麻煩,也不怎么好,沒(méi)做到所謂的分布式,就是個(gè)普通集群。

普通集群的方式,確實(shí)達(dá)到了消息的高可用,但沒(méi)辦法保證可靠性,沒(méi)做到分布式,簡(jiǎn)而言之,只是一個(gè)普通的集群。

缺點(diǎn):

  • 可能會(huì)在RabbitMQ集群內(nèi)部產(chǎn)生大量數(shù)據(jù)傳輸
  • 可用性沒(méi)有達(dá)到保證,一臺(tái)機(jī)器掛了就是掛了,無(wú)法恢復(fù),只能手動(dòng)恢復(fù)

?鏡像隊(duì)列

這種模式,才是所謂的rabbitmq的高可用模式,跟普通集群模式不一樣的是,你創(chuàng)建的queue,無(wú)論元數(shù)據(jù)還是queue里的消息都會(huì)存在于多個(gè)實(shí)例上,然后每次你寫(xiě)消息到queue的時(shí)候,都會(huì)自動(dòng)把消息到多個(gè)實(shí)例的queue里進(jìn)行消息同步。

上圖中每個(gè)節(jié)點(diǎn)有一個(gè)queue,生產(chǎn)者生產(chǎn)完畢數(shù)據(jù)后投遞到指定交換機(jī)的隊(duì)列,交換機(jī)的隊(duì)列進(jìn)行消息同步。

每個(gè)節(jié)點(diǎn)queue都有一個(gè)完整的rabbitmq節(jié)點(diǎn),所以這種方式叫做鏡像集群

鏡像集群模式的好處與壞處

好處: 任何一個(gè)節(jié)點(diǎn)宕機(jī)后,其它節(jié)點(diǎn)不受影響,正常使用

壞處:

  • 性能開(kāi)銷大,消息同步所有機(jī)器,導(dǎo)致網(wǎng)絡(luò)帶寬壓力和消耗很重
  • 沒(méi)有擴(kuò)展性,如果某個(gè)queue負(fù)載很重,加機(jī)器,新增的機(jī)器也包含了這個(gè)queue的所有數(shù)據(jù),沒(méi)有辦法擴(kuò)展

對(duì)于以上方式,我們的鏡像集群可以通過(guò)配置來(lái)解決這種擴(kuò)展性的問(wèn)題,配置同步的方式

三、阿里云服務(wù)器下Docker搭建RabbitMQ集群

??Docker安裝RabbitMQ集群

確保機(jī)器中安裝了Docker,若未安裝,可看:Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑(問(wèn)題小結(jié))

使用Docker安裝RabbitMQ鏡像

# 拉取鏡像,帶有管理界面的版本
docker pull rabbitmq:management

查看拉取的鏡像

docker images

運(yùn)行Docker鏡像

# 開(kāi)啟第一個(gè)RabbitMQ服務(wù)
docker run -d --hostname myRabbit1 --name rabbit1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:management

# 開(kāi)啟第二個(gè)
docker run -d --hostname myRabbit2 --name rabbit2 -p 15673:15672 -p 5673:5672 --link rabbit1:myRabbit1 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:management

# 開(kāi)啟第三個(gè)
docker run -d --hostname myRabbit3 --name rabbit3 -p 15674:15672 -p 5674:5672 --link rabbit1:myRabbit1 --link rabbit2:myRabbit2 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:management

查看正在運(yùn)行的鏡像

docker ps

成功運(yùn)行

配置RabbitMQ節(jié)點(diǎn)之間的關(guān)系

設(shè)置節(jié)點(diǎn)1

[root@wanghuichen /]# docker exec -it rabbit1 bash
root@myRabbit1:/# rabbitmqctl stop_app
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Stopping rabbit application on node rabbit@myRabbit1 ...
root@myRabbit1:/# rabbitmqctl reset
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Resetting node rabbit@myRabbit1 ...
root@myRabbit1:/# rabbitmqctl

設(shè)置節(jié)點(diǎn)2

[root@wanghuichen /]# docker exec -it rabbit2 bash
root@myRabbit2:/# rabbitmqctl stop_app
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Stopping rabbit application on node rabbit@myRabbit2 ...
root@myRabbit2:/# rabbitmqctl reset
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Resetting node rabbit@myRabbit2 ...
root@myRabbit2:/# rabbitmqctl join_cluster --ram rabbit@myRabbit1
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Clustering node rabbit@myRabbit2 with rabbit@myRabbit1
root@myRabbit2:/# rabbitmqctl join_cluster --ram rabbit@myRabbit1

配置節(jié)點(diǎn)3

[root@wanghuichen /]# docker exec -it rabbit3 bash
root@myRabbit3:/# rabbitmqctl stop_app
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Stopping rabbit application on node rabbit@myRabbit3 ...
root@myRabbit3:/# rabbitmqctl reset
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Resetting node rabbit@myRabbit3 ...
root@myRabbit3:/# rabbitmqctl join_cluster --ram rabbit@myRabbit1
root@myRabbit3:/# rabbitmqctl start_app

進(jìn)入每個(gè)集群依次設(shè)置用戶密碼

rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

配置鏡像隊(duì)列

[root@wanghuichen /]# docker exec -it rabbit1 bash
root@myRabbit1:/# rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Setting policy "ha-all" for pattern "^" to "{"ha-mode":"all"}" with priority "0" for vhost "/" ...
root@myRabbit1:/# rabbitmqctl cluster_status
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Cluster status of node rabbit@myRabbit1 ...

查看集群狀態(tài)

rabbitmqctl cluster_status

常用命令

# 查看已經(jīng)運(yùn)行過(guò)但停止了的鏡像
docker ps -a
# 停止鏡像
docker stop 鏡像id/鏡像名稱
# 開(kāi)啟鏡像,恢復(fù)運(yùn)行狀態(tài)
dockers start 鏡像id/鏡像名稱
# 刪除鏡像
docker rm 鏡像id/鏡像名稱
# 刪除所有鏡像
docker rmi $(docker ps -a)

??測(cè)試RabbitMQ集群

瀏覽器輸入 您的ip地址:15673

部署RabbitMQ鏡像集群成功~

如果出現(xiàn)無(wú)法訪問(wèn)的情況,可在阿里云服務(wù)器開(kāi)啟安全組,因?yàn)榘⒗镌颇J(rèn)全部開(kāi)啟了安全組,配置允許訪問(wèn)的端口即可

再次測(cè)試即可成功~

四、SpringBoot整合RabbitMQ集群

?創(chuàng)建Maven聚合工程

File —> New —> Project —> Maven —> 直接Next 進(jìn)入下一步創(chuàng)建普通的Maven工程即可

創(chuàng)建一個(gè)默認(rèn)的Maven聚合工程,將src文件夾刪除,該工程就是一個(gè)Maven聚合工程

??引入共有依賴

引入依賴如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wanshi</groupId>
    <artifactId>springboot-rabbitmq</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>rabbitmq-order-producer</module>
        <module>rabbitmq-order-consumer</module>
    </modules>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.5</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-amqp</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

?創(chuàng)建生產(chǎn)者

在項(xiàng)目?jī)?nèi),新建一個(gè)Moudle,rabbitmq-order-producer 默認(rèn)Maven工程,下一步即可

引入依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.5</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>rabbitmq-order-producer</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>

?創(chuàng)建消費(fèi)者

在項(xiàng)目?jī)?nèi),新建一個(gè)Moudle,rabbitmq-order-cousumer 默認(rèn)Maven工程,下一步即可

引入依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springboot-rabbitmq</artifactId>
        <groupId>com.wanshi</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>rabbitmq-order-consumer</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

</project>

Maven聚合工程創(chuàng)建完成圖

Maven依賴圖

自行手寫(xiě)MainApplication即可

創(chuàng)建完成!

??核心源碼

生產(chǎn)者服務(wù)配置

# 服務(wù)端口
server:
  port: 8080
# 配置rabbitmq服務(wù)
spring:
  rabbitmq:
    username: admin
    password: admin
    virtual-host: /
    connection-timeout: 16000
    addresses: 8.130.28.198:5672, 8.130.28.198:5673, 8.130.28.198:5674,
    # 啟用消息確認(rèn)模式
    publisher-confirm-type: correlated

    # 啟用 return 消息模式
    publisher-returns: true
    template:
      mandatory: true

消費(fèi)者服務(wù)配置

# 服務(wù)端口
server:
  port: 8081
# 配置rabbitmq服務(wù)
spring:
  rabbitmq:
    username: admin
    password: admin
    virtual-host: /
    addresses: 8.130.28.198:5672, 8.130.28.198:5673, 8.130.28.198:5674,

生產(chǎn)者

package com.wanshi.service;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.UUID;

/**
 * @author whc
 * @date 2022/5/23 18:50
 */

@Service
public class OrderService {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void makeOrder() {
        String orderId = UUID.randomUUID().toString();
        System.out.println("訂單生成成功:" + orderId);
        String exchange_name = "fanout_order_exchange";
        String routeingKey = "";
        rabbitTemplate.convertAndSend(exchange_name, routeingKey, orderId);
    }
}

消費(fèi)者

交換機(jī)的聲明與隊(duì)列我們放在消費(fèi)者端,因?yàn)橄M(fèi)者是先開(kāi)啟的,如果沒(méi)有交換機(jī)和隊(duì)列,則會(huì)報(bào)錯(cuò)!

RabbitMQConfiguration

package com.wanshi.config;

import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author whc
 * @date 2022/5/23 10:18
 */
@Configuration
public class RabbitMQConfiguration {

    //1.聲明注冊(cè)fanout模式的交換機(jī)
    @Bean
    public FanoutExchange fanoutExchange() {
        return new FanoutExchange("fanout_order_exchange", true, false);
    }

    //2.聲明隊(duì)列,sms.fanout.queue email.fanout.queue msg.fanout.queue
    @Bean
    public Queue smsQueue() {
        return new Queue("sms.fanout.queue", true);
    }

    @Bean
    public Queue emailQueue() {
        return new Queue("email.fanout.queue", true);
    }

    @Bean
    public Queue msgQueue() {
        return new Queue("msg.fanout.queue", true);
    }

    //3.完成綁定關(guān)系(隊(duì)列與交換機(jī)完成綁定關(guān)系)
    @Bean
    public Binding smsBind() {
        return BindingBuilder.bind(smsQueue()).to(fanoutExchange());
    }

    @Bean
    public Binding emailBind() {
        return BindingBuilder.bind(emailQueue()).to(fanoutExchange());
    }

    @Bean
    public Binding msgBind() {
        return BindingBuilder.bind(msgQueue()).to(fanoutExchange());
    }
}

編寫(xiě)具體業(yè)務(wù)消費(fèi)類

FanoutEmailConsumer

package com.wanshi.service;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * @author whc
 * @date 2022/5/23 18:53
 */
@RabbitListener(queues = "email.fanout.queue")
@Component
public class FanoutEmailConsumer {

    @RabbitHandler
    public void messageService(String message) {
        System.out.println("fanout email ==>" + message);
    }
}

FanoutMsgConsumer

package com.wanshi.service;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * @author whc
 * @date 2022/5/23 18:55
 */
@RabbitListener(queues = "msg.fanout.queue")
@Component
public class FanoutMsgConsumer {

    @RabbitHandler
    public void messageService(String message) {
        System.out.println("fanout msg ==>" + message);
    }
}

FanoutSmsConsumer

package com.wanshi.service;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * @author whc
 * @date 2022/5/23 18:54
 */
@RabbitListener(queues = "sms.fanout.queue")
@Component
public class FanoutSmsConsumer {

    @RabbitHandler
    public void messageService(String message) {
        System.out.println("fanout sms ==> " + message);
    }
}

編寫(xiě)完成!

五、測(cè)試消息的生產(chǎn)與消費(fèi)

啟動(dòng)消費(fèi)者,查看RabbitMQ隊(duì)列的情況

啟動(dòng)消費(fèi)者

查看RabbitMQweb管理界面綁定信息

交換機(jī)

查看隊(duì)列Queue

查看其它兩臺(tái)機(jī)器是否同步了數(shù)據(jù)

15674

15675

生產(chǎn)者投遞消息,查看消費(fèi)者消費(fèi)情況

成功消費(fèi)數(shù)據(jù)!

只生產(chǎn)消息,關(guān)閉消費(fèi)者,查看消息同步情況

已成功同步消息~

?小結(jié)

以上就是【Bug 終結(jié)者】對(duì) RabbitMQ 進(jìn)階 – 阿里云服務(wù)器部署RabbitMQ集群簡(jiǎn)單的概述,搭建集群達(dá)到消息的高可用,高可靠,可以提高吞吐量,集群部署是一個(gè)很不錯(cuò)的選擇,鏡像隊(duì)列集群,這個(gè)我們可以根據(jù)配置來(lái)進(jìn)行同步規(guī)則,根據(jù)需求來(lái)定制化我們的規(guī)則!

到此這篇關(guān)于阿里云服務(wù)器部署RabbitMQ集群的文章就介紹到這了,更多相關(guān)阿里云服務(wù)器部署RabbitMQ集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spark的廣播變量和累加器使用方法代碼示例

    Spark的廣播變量和累加器使用方法代碼示例

    這篇文章主要介紹了Spark的廣播變量和累加器使用方法代碼示例,文中介紹了廣播變量和累加器的含義,然后通過(guò)實(shí)例演示了其用法,需要的朋友可以參考下。
    2017-09-09
  • CentOS 6.6實(shí)現(xiàn)永久修改DNS地址的方法

    CentOS 6.6實(shí)現(xiàn)永久修改DNS地址的方法

    這篇文章主要介紹了CentOS 6.6實(shí)現(xiàn)永久修改DNS地址的方法,涉及針對(duì)CentOS配置文件的相關(guān)設(shè)置技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • 安裝Nacos服務(wù)器的詳細(xì)過(guò)程

    安裝Nacos服務(wù)器的詳細(xì)過(guò)程

    Nacos是Dynamic?Naming?and?Configuration?Service的首字母簡(jiǎn)稱,一個(gè)由阿里開(kāi)發(fā),用于云原始應(yīng)用動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái),這篇文章主要介紹了安裝Nacos服務(wù)器的詳細(xì)過(guò)程,需要的朋友可以參考下
    2024-03-03
  • 服務(wù)器免密登錄的實(shí)現(xiàn)以及異常解決方案

    服務(wù)器免密登錄的實(shí)現(xiàn)以及異常解決方案

    當(dāng)我們?cè)诂F(xiàn)在創(chuàng)建測(cè)試用Linux服務(wù)器或者服務(wù)器集群的時(shí)候,需要通過(guò)終端連接自己創(chuàng)建的服務(wù)器,實(shí)現(xiàn)步驟可以分為2步,下面通過(guò)本文給大家詳細(xì)介紹下
    2016-12-12
  • MongoDB 內(nèi)存使用情況分析

    MongoDB 內(nèi)存使用情況分析

    都說(shuō) MongoDB 是個(gè)內(nèi)存大戶,但是怎么知道它到底用了多少內(nèi)存呢
    2013-07-07
  • 寶塔面板定時(shí)訪問(wèn)URL地址的實(shí)現(xiàn)步驟

    寶塔面板定時(shí)訪問(wèn)URL地址的實(shí)現(xiàn)步驟

    寶塔面板挺好用的,特別是用來(lái)定時(shí)備份網(wǎng)站及數(shù)據(jù)庫(kù)、同步時(shí)間、釋放內(nèi)存等,本文主要介紹了寶塔面板定時(shí)訪問(wèn)URL地址的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • 每天學(xué)一分鐘使用Git服務(wù)器實(shí)現(xiàn)查看Debug分支及修復(fù)

    每天學(xué)一分鐘使用Git服務(wù)器實(shí)現(xiàn)查看Debug分支及修復(fù)

    這篇文章主要教大家怎樣實(shí)現(xiàn)查看Debug分支及修復(fù),學(xué)習(xí)是一條長(zhǎng)遠(yuǎn)而無(wú)盡頭之路,堅(jiān)持就不用多少說(shuō)了,只要大家每天花一分鐘的時(shí)間來(lái)學(xué)習(xí)一下Git相信查看Debug分支及修復(fù)對(duì)大家來(lái)說(shuō)就是so easy
    2021-08-08
  • 詳解linux命令查看服務(wù)器上的實(shí)時(shí)日志

    詳解linux命令查看服務(wù)器上的實(shí)時(shí)日志

    在項(xiàng)目開(kāi)發(fā)過(guò)程中,在調(diào)試的階段,往往需要debug或者進(jìn)行查看日志,這篇文章主要介紹了linux命令如何查看服務(wù)器上的實(shí)時(shí)日志,需要的朋友可以參考下
    2022-09-09
  • rsync命令排除文件和文件夾(exclude-from)

    rsync命令排除文件和文件夾(exclude-from)

    今天在配置服務(wù)器同步額時(shí)候,需要排除一些不經(jīng)常更新或文件夾內(nèi)容過(guò)多的,提高同步效率,經(jīng)過(guò)測(cè)試通過(guò)rsync的exclude-from就可以實(shí)現(xiàn)
    2013-07-07
  • 集群運(yùn)維自動(dòng)化工具ansible之使用playbook安裝zabbix客戶端

    集群運(yùn)維自動(dòng)化工具ansible之使用playbook安裝zabbix客戶端

    Zabbix客戶端的安裝配置:Zabbix是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開(kāi)源解決方案。zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營(yíng);本文講述的是使用playbook安裝zabbix客戶端。
    2014-07-07

最新評(píng)論