Fale sobre essas coisas sobre computação em nuvem


Os blogs orientados para entrevistas são apresentados no estilo Q / A.
Coluna de entrevista Java: computação em nuvem https://blog.csdn.net/qq_36963950/article/details/105228870
Coluna de entrevista Java: zookeeper https://blog.csdn.net/qq_36963950/article/details/105200255
Entrevista Java: SSM ( Spring + SpringMVC + Mybatis) https://blog.csdn.net/qq_36963950/article/details/105230985
Coluna de entrevista em Java: microservices https://blog.csdn.net/qq_36963950/article/details/105265993
Coluna de entrevista em Java: Netty e RPC https://blog.csdn.net/qq_36963950/article/details/105266425
coluna de entrevista em Java: rede de computadores https://blog.csdn.net/qq_36963950/article/details/105297603
Coluna de entrevista em Java: Kafka https: //blog.csdn.net/qq_36963950/article/details/105333460
Coluna de entrevista em Java: RabbitMQ https://blog.csdn.net/qq_36963950/article/details/105335758
Coluna de entrevista em Java: Big Data Hadoop https: // blog. csdn.net/qq_36963950/article/details/105336055
Coluna da entrevista em Java: Big Data Spark https://blog.csdn.net/qq_36963950/article/details/105336060
Coluna da entrevista em Java: Big Data Storm https://blog.csdn.net/qq_36963950/article/details/105336074
Entrevista em Java Coluna: Hbase de Big Data https://blog.csdn.net/qq_36963950/article/details/105336095
Coluna de entrevista em Java: Balanceamento de carga https://blog.csdn.net/qq_36963950/article/details/105336111
Coluna de entrevista em Java: banco de dados https://blog.csdn.net/qq_36963950/article/details/105336136

Question1: arquitetura de computação em nuvem de três camadas?

Resposta 1:

A arquitetura de três camadas da computação em nuvem
Insira a descrição da imagem aqui
é mostrada na figura: Explicação da figura acima:

SaaS
SaaS é Software como Serviço (software como serviço).

PaaS
PaaS é uma abreviação de Platform-as-a-Service, que significa plataforma como serviço. Use a plataforma do servidor como um modelo de negócios para a prestação de serviços. O serviço fornecido pelo programa através da rede é chamado SaaS (Software como Serviço), e a plataforma de servidor ou ambiente de desenvolvimento correspondente na era da computação em nuvem é fornecida como um serviço para se tornar PaaS (Plataforma como Serviço).

IaaS
IaaS (infraestrutura como serviço), ou seja, infraestrutura como serviço. O serviço prestado aos consumidores é o uso de todas as instalações, incluindo processamento, armazenamento, rede e outros recursos básicos de computação.Os usuários podem implantar e executar qualquer software, incluindo sistemas operacionais e aplicativos.


Pergunta2: Descreva a arquitetura geral do Docker?

Answer2:

O diagrama da arquitetura do Docker é o seguinte: Os
Insira a descrição da imagem aqui
conceitos relacionados na arquitetura do Docker são os seguintes (correspondendo à imagem acima):

Conceitos no Docker Explique
Imagens do Docker (imagens) As imagens do Docker são modelos para a criação de contêineres do Docker.
Contêiner do Docker (contêiner) Um contêiner é um aplicativo ou grupo de aplicativos que é executado de forma independente.
Cliente Docker (Cliente) O cliente do Docker usa a API do Docker para se comunicar com o daemon do Docker por meio da linha de comando ou de outras ferramentas.
Host do Docker (host) Uma máquina física ou virtual é usada para executar daemons e contêineres do Docker.
Armazém do Docker (Registro) O armazém do Docker é usado para armazenar imagens, que podem ser entendidas como um armazém de código no controle de código. O Docker Hub fornece uma enorme coleção de imagens para uso.
Docker Machine O Docker Machine é uma ferramenta de linha de comando que simplifica a instalação do Docker.Você pode instalar o Docker na plataforma correspondente por meio de uma linha de comando simples, como VirtualBox, Digital Ocean, Microsoft Azure.

O Docker usa um padrão de arquitetura cliente / servidor (C / S) e usa APIs remotas para gerenciar e criar contêineres do Docker. Os contêineres do Docker são criados a partir de imagens do Docker. O surgimento do Docker ocorre porque o back-end atual realmente precisa de uma tecnologia de virtualização para resolver o problema da consistência do ambiente de desenvolvimento e do ambiente de produção durante os estágios de desenvolvimento, operação e manutenção.Com o Docker, também podemos incluir o ambiente no qual o programa é executado no controle de versão e exclui Porque o ambiente pode causar resultados operacionais diferentes.


Question3: Uma breve introdução aos Namespaces no Linux?

Resposta3:

Namespaces (namespaces) é um método fornecido pelo Linux para separar a árvore de processos, a interface de rede, o ponto de montagem e a comunicação entre processos e outros recursos. No uso diário do Linux, não precisamos executar vários servidores completamente separados, mas se iniciarmos vários serviços no servidor, esses serviços realmente afetarão um ao outro, cada serviço poderá ver o progresso de outros serviços , Você também pode acessar qualquer arquivo na máquina host, que não queremos ver muitas vezes. Esperamos que diferentes serviços em execução na mesma máquina possam ser completamente isolados, assim como em várias máquinas diferentes. O mesmo que acima.

O mecanismo de namespace do Linux fornece os sete namespaces diferentes a seguir, incluindo CLONE_NEWCGROUP,
CLONE_NEWIPC, CLONE_NEWNET, CLONE_NEWNS, CLONE_NEWPID,
CLONE_NEWUSER e CLONE_NEWUTS, por meio dessas sete opções, podemos definir quais recursos o novo processo deve criar ao criar um novo processo Isolar da máquina host.


Question4: Fale sobre o isolamento do processo do Docker?

Resposta4:

Quando o docker cria um novo processo, ele passa no isolamento do processo implementado pelo CLONE_NEWPID, ou seja, usando o espaço para nome do Linux para obter o isolamento do processo.Qualquer processo dentro do contêiner do Docker não sabe nada sobre o processo da máquina host. Toda vez que executamos o docker run ou start docker, criaremos uma Especificação para configurar o isolamento do processo, definir o espaço para nome relacionado ao processo e também definir o espaço para nome dos usuários, rede, IPC e UTS. Todas as configurações relacionadas ao espaço para nome Spec serão definidas como os parâmetros de entrada da função Create ao criar um novo contêiner.


Pergunta5: introduza o isolamento de rede do Docker (ou fale sobre o entendimento da Libnetwork no Docker)?

Resposta5:

Se o contêiner do Docker concluir o isolamento da rede do processo do host por meio do namespace do Linux, mas não houver maneira de conectar-se à Internet inteira por meio da rede do host, haverá muitas restrições, portanto, embora o Docker possa criar um isolamento por meio do namespace Ambiente de rede, mas os serviços no Docker ainda precisam estar conectados ao mundo externo para funcionar.

As funções de toda a parte da rede do Docker são implementadas através da libnetwork dividida pelo Docker.Ele fornece uma implementação para conectar contêineres diferentes e também pode fornecer ao aplicativo um modelo de rede de contêiner que pode fornecer uma interface de programação consistente e uma abstração da camada de rede. .

O conceito mais importante na libnetwork, o modelo de rede de contêineres consiste nos seguintes componentes principais, a saber Sandbox, Endpoint e Network. No modelo de rede do contêiner, cada contêiner contém uma Sandbox, que armazena a configuração da pilha de rede do contêiner atual, incluindo a interface do contêiner, a tabela de roteamento e as configurações de DNS.O Linux usa o namespace da rede para implementar essa Sandbox. Pode haver um ou mais pontos de extremidade, que é uma placa de rede virtual no Linux. A sandbox se une à rede correspondente através do ponto de extremidade.A rede aqui pode ser a ponte ou VLAN do Linux mencionada acima.

Na verdade, cada contêiner iniciado com a execução do docker possui um espaço para nome de rede separado.O Docker fornece quatro modos de rede diferentes, Host, Container, None e Bridge, conforme mostrado na figura:

Insira a descrição da imagem aqui

O modo de configuração de rede padrão do Docker é o modo de ponte .

No modo de ponte, além de atribuir namespaces de rede isolados, o Docker também define endereços IP para todos os contêineres. Quando o servidor do Docker é iniciado no host, uma nova ponte virtual docker0 é criada e todos os serviços iniciados no host são conectados à ponte por padrão. Por padrão, cada contêiner criará um par de NICs virtuais quando ele for criado.Duas NICs virtuais formam um canal de dados, um dos quais será colocado no contêiner criado e será adicionado à ponte denominada docker0 Como mostrado.

Insira a descrição da imagem aqui


Question6: Uma breve introdução ao CGroups

Resposta6:

Grupos de controle é abreviado como CGroups.Os CGroups podem isolar recursos físicos na máquina host, como CPU, memória, E / S de disco e largura de banda da rede. Cada CGroup é um grupo de processos restritos pelos mesmos padrões e parâmetros.Há um relacionamento hierárquico entre diferentes CGroups, o que significa que eles podem herdar alguns padrões e parâmetros usados ​​para restringir o uso de recursos da classe pai.


Question7: Introduzir a imagem do Docker

Resposta7:

O namespace e o grupo de controle do Linux resolvem, respectivamente, o problema do isolamento de diferentes recursos.O namespace no Linux resolve o isolamento de processos, redes e sistemas de arquivos.O grupo de controle no Linux realiza o isolamento de recursos como CPU e memória. Há outra questão muito importante no Docker que precisa ser resolvida - o espelhamento.

A imagem do Docker é na verdade um pacote compactado. Podemos usar o comando para exportar os arquivos em uma imagem do Docker. Você pode ver que a estrutura de diretórios nesta imagem não é muito diferente do conteúdo no diretório raiz do sistema operacional Linux. A imagem do Docker é apenas um arquivo.


Question8: Fale sobre o entendimento do driver de armazenamento no Docker

Resposta8:

O Docker usa uma série de drivers de armazenamento diferentes para gerenciar o sistema de arquivos na imagem e executar os contêineres.Estes drivers de armazenamento são um pouco diferentes dos volumes do Docker.O mecanismo de armazenamento gerencia o armazenamento que pode ser compartilhado entre vários contêineres.

Quando a imagem é criada pelo comando docker run, uma camada gravável é adicionada à camada superior da imagem, que é a camada do contêiner.Todas as alterações no contêiner de tempo de execução são na verdade alterações na camada de leitura e gravação desse contêiner.

A diferença entre contêineres e espelhos é que todos os espelhos são somente leitura e cada contêiner é realmente igual ao espelho mais uma camada legível e gravável, ou seja, o mesmo espelho pode corresponder a vários contêineres.

O UnionFS é na verdade um serviço de sistema de arquivos projetado para o sistema operacional Linux "unir" vários sistemas de arquivos no mesmo ponto de montagem. O AUFS, ou UnionFS avançado, é na verdade uma versão atualizada do UnionFS, que pode fornecer melhor desempenho e eficiência.

O AUFS é apenas um dos drivers de armazenamento usados ​​pelo Docker.Além do AUFS, o Docker também suporta drivers de armazenamento diferentes, incluindo aufs, devicemapper, overlay2, zfs e vfs etc. No Docker mais recente, overlay2 substituiu aufs como Driver de armazenamento recomendado, mas o aufs ainda será usado como o driver padrão do Docker em máquinas sem um driver overlay2.

Coluna de entrevista Java: computação em nuvem https://blog.csdn.net/qq_36963950/article/details/105228870
Coluna de entrevista Java: zookeeper https://blog.csdn.net/qq_36963950/article/details/105200255
Entrevista Java: SSM ( Spring + SpringMVC + Mybatis) https://blog.csdn.net/qq_36963950/article/details/105230985
Coluna de entrevista em Java: microservices https://blog.csdn.net/qq_36963950/article/details/105265993
Coluna de entrevista em Java: Netty e RPC https://blog.csdn.net/qq_36963950/article/details/105266425
coluna de entrevista em Java: rede de computadores https://blog.csdn.net/qq_36963950/article/details/105297603
Coluna de entrevista em Java: Kafka https: //blog.csdn.net/qq_36963950/article/details/105333460
Coluna de entrevista em Java: RabbitMQ https://blog.csdn.net/qq_36963950/article/details/105335758
Coluna de entrevista em Java: Big Data Hadoop https: // blog. csdn.net/qq_36963950/article/details/105336055
Coluna da entrevista em Java: Big Data Spark https://blog.csdn.net/qq_36963950/article/details/105336060
Coluna da entrevista em Java: Big Data Storm https://blog.csdn.net/qq_36963950/article/details/105336074
Entrevista em Java Coluna: Hbase de Big Data https://blog.csdn.net/qq_36963950/article/details/105336095
Coluna de entrevista em Java: Balanceamento de carga https://blog.csdn.net/qq_36963950/article/details/105336111
Coluna de entrevista em Java: banco de dados https://blog.csdn.net/qq_36963950/article/details/105336136

Publicado 207 artigos originais · elogiou 80 · 120.000 visualizações

Acho que você gosta

Origin blog.csdn.net/qq_36963950/article/details/105228870
Recomendado
Clasificación