O processo detalhado de implantação do cluster Redis e implantação de projetos de microsserviços no Docker

Índice
  • 1. Os benefícios de usar a implantação do Docker
  • 2. Comparação entre Docker e Kubernetes
  • Três, combate real de implantação de cluster Redis
  • 4. Imagem da embalagem do projeto Spring Boot
  • ?resumo

1. Os benefícios de usar a implantação do Docker

O benefício do Docker é: rodar o mesmo container em diferentes instâncias

Cinco vantagens do Docker:  持续部署与测试, 多云服务平台支持, 环境标准化和版本控制, 隔离,安全

2. Comparação entre Docker e Kubernetes

O Docker é adequado para aplicações relativamente pequenas. Quando a quantidade de simultaneidade não é grande, há mais de 10 microsserviços . Recomenda-se aplicar a implantação do Docker, que também economiza recursos e reduz os custos de desenvolvimento.

O K8S é adequado para grandes clusters, com alta simultaneidade e mais de 10 microsserviços. Ao mesmo tempo, o desempenho também é muito bom. Sob a premissa de bom desempenho, o custo de desenvolvimento também aumentou muito !

Três, combate real de implantação de cluster Redis

O seguinte implanta um cluster Redis com três mestres e três escravos, conforme mostrado na figura

Pare todos os contêineres e exclua todos os registros

?

1

docker rm $(docker ps -a -q)

Crie um redis de rede personalizado

?

1

docker network create redis --subnet 172.38.0.0/16

Crie seis informações básicas do redis por meio de scripts

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

for port in $(seq 1 6); \

do \

mkdir -p /mydata/redis/node-${port}/conf

touch /mydata/redis/node-${port}/conf/redis.conf

cat << EOF >/mydata/redis/node-${port}/conf/redis.conf

port 6379

bind 0.0.0.0

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 172.38.0.1${port}

cluster-announce-port 6379

cluster-announce-bus-port 16379

appendonly yes

EOF

done

Iniciar 6 contêineres redis e montar dados

?

1

2

3

4

5

6

7

8

# 通过脚本一次性启动

for port in $(seq 1 6); \

do

docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} \

-v /mydata/redis/node-${port}/data:/data \

-v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \

-d --net redis --ip 172.38.0.1${port} redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf; \

done

Insira as configurações em redis-1 para criar um cluster

?

1

2

3

4

5

# 进入redis-1

docker exec -it redis-1 /bin/sh

# 创建集群

redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13

:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1

no recipiente

?

1

2

3

4

redis-cli -c

# 查看详细信息

CLUSTER INFO

ver nós

?

1

CLUSTER NODES

Configurações

?

1

set k1 v1

Podemos ver que o valor está definido no nó 13, paramos o nó e obtemos o valor novamente para visualizar

?

1

2

# 新开窗口停止redis-3容器

docker stop redis -3

Obter k1 na janela original

?

1

2

# 需要重新进入再次获取

get k1

Pode-se ver que o valor foi sincronizado com outros nós. Depois que o nó mestre desligar, ainda podemos obter o valor!

4. Imagem da embalagem do projeto Spring Boot

Criar um projeto SpringBoot

TestController

?

1

2

3

4

5

6

7

8

@RestController

public class TestController {

    @GetMapping("/hello")

    public String hello() {

        return "Hello World!!!";

    }

}

O teste local é acessado com sucesso e, em seguida, o projeto é compilado como um pacote jar

?

1

2

// 进入项目目录

mvn clean package

Baixe a imagem do Docker

Escrever Dockerfile

?

1

2

3

4

5

FROM java:8

COPY *.jar /app.jar

CMD ["--server.port=8080"]

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "/app.jar"]

Carregue o pacote jar e o Dockerfile no servidor

arquivo do servidor

compilar Dockerfile

?

1

docker build -t xiaowang .

teste de acesso

?

1

curl localhost:49153

A imagem foi carregada com sucesso!

?resumo

O texto acima é [ Bug Terminator ]  uma breve introdução ao  combate real do Docker - implantando clusters Redis e implantando projetos de microsserviços . Usar o Docker para implantar nossos aplicativos é muito conveniente e rápido , mas se a arquitetura for enorme, não é recomendado usar o Docker. Você pode usar nossa implantação de cluster k8s é a tecnologia mais popular no momento!

Acho que você gosta

Origin blog.csdn.net/qq_15509251/article/details/131608108
Recomendado
Clasificación