Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 15665|Resposta: 3

Ferramentas de popularização científica para arquiteturas em grande escala

[Copiar link]
Publicado em 14/05/2018 13:32:51 | | | |

I.1 Java Spring Boot

É adequado para construir sistemas de microserviços

  • Usar a página Spring Project Bootstrap pode construir um projeto em segundos
  • É conveniente exportar várias formas de serviços, como REST API, WebSocket, Web, Streaming e Tarefas
  • Integração de políticas de segurança muito concisa
  • Bancos de dados relacionais e não relacionais são suportados
  • Suporta containers embutidos durante a execução, como Tomcat e Jetty
  • Pacote de desenvolvimento poderoso com suporte para hotboot
  • Gerenciar automaticamente dependências
  • Monitoramento de aplicações embutido
  • Suporta diversos IEDs, como IntelliJ IDEA e NetBeans

Outras linguagens: .net core, Go, etc


I.2 Jenkins

Procedimentos automatizados de CI para integração contínua

  • Código aberto e gratuito
  • Multiplataforma, suporte a todas as plataformas (instalei no Ubuntu 14.04, usando a imagem docker do Jenkins não foi bem-sucedida)
  • Master/Slave suporta builds distribuídas
  • Uma página de gerenciamento visual na forma de uma web
  • A instalação e configuração são super fáceis
  • Dicas Ajuda rápida e rápida
  • Centenas de plugins que já existem



I.3 GitLab

  • Um repositório de projetos Git auto-hospedado que pode ser acessado por meio de uma interface web para instalações públicas ou privadas de projetos.
  • Ele possui funcionalidades semelhantes ao GitHub, com a capacidade de navegar pelo código-fonte, gerenciar bugs e comentários. É possível gerenciar o acesso da equipe ao repositório, é muito fácil navegar pelas versões enviadas e oferece uma biblioteca de histórico de arquivos.
  • Os membros da equipe podem se comunicar usando o programa simples de chat embutido (Wall). Também oferece um recurso de coleta de trechos de código que permite fácil reutilização do código e fácil de encontrar depois, quando necessário.
  • Dokcer
  • Docker é um motor de código aberto que facilita a criação de um container leve, portátil e autossuficiente para qualquer aplicação. Contêineres que desenvolvedores compilam e testam em notebooks podem ser implantados em lotes em ambientes de produção, incluindo VMs (máquinas virtuais), bare metal, clusters OpenStack e outras plataformas de aplicação subjacentes.
  • Docker é comumente usado nos seguintes cenários:
  • empacotamento e publicação automatizados de aplicações web;
  • testes automatizados e integração contínua, lançamento;
  • Implantar e ajustar bancos de dados ou outras aplicações em segundo plano em um ambiente orientado a serviços;
  • Construa seu próprio ambiente PaaS compilando ou estendendo sua plataforma OpenShift ou Cloud Foundry do zero.



I.4 Kubernetes

  • Kubernetes é um sistema de gerenciamento de clusters de contêineres e uma plataforma de código aberto que pode realizar funções como implantação automatizada, escalonamento automático e manutenção de clusters de contêineres.
  • Com o Kubernetes você pode:
  • Implante aplicações rapidamente
  • Escale suas aplicações rapidamente
  • Integre-se perfeitamente com novas funções da aplicação
  • Economize recursos e otimize o uso dos recursos de hardware



I.5 MQ

Quando fatores como a velocidade ou estabilidade da "produção" e do "consumo" são inconsistentes no sistema, filas de mensagens são necessárias como uma camada de abstração para preencher as diferenças entre os dois lados. Uma mensagem é uma unidade de dados transmitida entre dois computadores. Mensagens podem ser muito simples, como conter apenas strings de texto; Também pode ser mais complexo e conter objetos embutidos. As mensagens são enviadas para filas, que são contêineres que armazenam mensagens durante a transmissão.

  • Desacoplado
  • Redundância
  • Escalabilidade
  • Flexibilidade e pico de rendimento
  • Recuperabilidade
  • Entrega garantida
  • Classificação garantida
  • Buffering
  • Compreender fluxos de dados
  • Comunicação assíncrona


I.6 SQL DB

  • Um banco de dados é um depósito construído sobre dispositivos de armazenamento de computador que organiza, armazena e gerencia dados de acordo com uma estrutura de dados.
  • Simplificando, pode ser considerado um arquivo eletrônico – um lugar onde arquivos eletrônicos são armazenados, e os usuários podem adicionar, interceptar, atualizar, excluir e realizar outras operações sobre os dados do arquivo.
  • No trabalho diário da gestão econômica, muitas vezes é necessário colocar alguns dados relevantes em um "armazém" e processá-los de acordo com as necessidades da gestão.


MySQL/PostgreSQL é um representante dos bancos de dados relacionais tradicionais.

O HBase é um representante da tecnologia Big Tables (indexação de linhas, armazenamento de colunas).

Neo4j(http://www.neo4j.org/) é um representante de banco de dados de grafos usado para armazenar dados complexos e multidimensionais de estruturas de grafos.

Redis é um representante NoSQL baseado em Chave-Valor, e existe o Redis-to-go para fornecer serviços de armazenamento.

MongoDB/CouchDB é um representante NoSQL baseado em Document, e Couchbase é uma fusão da tecnologia Document/Chave-Valor.

VoltDB é um representante do NewSQL, com consistência de dados e boa escalabilidade, e sua afirmação de desempenho é dezenas de vezes maior que a do MySQL.

TiDB é um banco de dados SQL distribuído desenvolvido pela equipe nacional PingCAP. Inspirado pelo F1 e pelo Google Spanner, o TiDB suporta recursos que incluem RDBMS tradicionais e NoSQL.

I.7 Pilha de TICK

InfluxDB

Ferramentas de banco de dados de séries temporais.

Telegraf

é uma ferramenta de coleta e armazenamento de dados. Ele fornece muitos plugins de entrada e saída, como coletar CPU local, carga, tráfego de rede, etc., e depois gravá-los no InfluxDB ou Kafka.

Chronograf

Ferramentas de desenho

Kapacitor

Kapacitor é uma ferramenta de alarme do InfluxData, que lê dados do InfluxDB e configura o TickScript de acordo com o tipo DLS para alertar.

I.8 Mantido em Vida

Keepalived é um software de serviço em gerenciamento de clusters que garante alta disponibilidade de cluster, semelhante ao heartbeat, para evitar pontos únicos de falha.

keepalilived é baseado no protocolo VRRP, que significa Virtual Router Redundancy Protocol, ou seja, o protocolo de redundância de roteamento virtual.

Protocolo de redundância de rota virtual, que pode ser considerado um protocolo para alcançar alta disponibilidade de roteadores, ou seja, N roteadores que fornecem as mesmas funções formam um grupo de roteadores, esse grupo possui um mestre e múltiplos backups, e há um VIP no mestre que fornece serviços ao mundo externo (a rota padrão de outras máquinas na LAN onde o roteador está localizado é o VIP), o mestre enviará um multicast, e quando o backup não consegue receber o pacote VRRP, considera-se que o mestre está fora do ar. Neste momento, você precisa escolher um backup como mestre de acordo com a prioridade do VRRP. Isso garantirá alta disponibilidade do roteador.

Keepalived possui três módulos principais, a saber: Core, Check e VRRP. O módulo central é o núcleo do keepalived, responsável por iniciar e manter o processo principal, bem como por carregar e analisar arquivos de configuração globais. O Check é responsável pelos exames de saúde, incluindo vários métodos comuns de exame. O módulo VRRP foi projetado para implementar o protocolo VRRP


I.9 Porto

Harbor é um servidor de registro de nível empresarial para armazenar e distribuir imagens Docker.

I.10 Ignite / Redis

O Apache Ignite In-Memory Data Organization Framework é uma plataforma de computação e transação em memória integrada e distribuída de alto desempenho, para processamento em larga escala de conjuntos de dados com desempenho superior às tecnologias tradicionais baseadas em disco ou flash, além de fornecer gerenciamento distribuído de organização de dados em memória de alto desempenho entre aplicações e diferentes fontes de dados.


número de sérieCompare projetosApache IgniteRedis
1JCache (JSR 107)O Ignite é totalmente compatível com a especificação de cache JCache (JSR107)Não suportado
2Transações ACIDO Ignite suporta totalmente transações ACID, incluindo modelos otimistas e pessimistas de concorrência, bem como níveis de isolamento READ_COMMITTED, REPEATABLE_READ e SERIALIZÁVEL.O Redis oferece suporte limitado para transações otimistas do lado do cliente, que exigem que o cliente tente manualmente a transação novamente em caso de atualizações simultâneas.
3Particionamento de dadosO Ignite suporta cache particionado, semelhante a um hash distribuído, onde cada nó do cluster armazena uma parte dos dados, e o Ignite rebalanceia automaticamente os dados em caso de alteração na topologia.O Redis não oferece particionamento, mas fornece fragmentação de réplicas, que é muito rígida de usar e requer uma série de etapas manuais bastante complexas sempre que a topologia muda, tanto cliente quanto servidor.
4Cópia completaO Ignite suporta replicação em cache, suportada por todo par-chave-valor para cada nó do cluster.O Redis não oferece suporte direto para replicação completa.
5Objeto nativoO Ignite permite que os usuários usem seu próprio modelo de objeto de domínio e oferece suporte nativo para qualquer tipo de dado (objeto) Java/Scala, C++ e .NET/C#, possibilitando que os usuários armazenem facilmente qualquer programa e objeto de domínio no cache do Ignite.O Redis não permite que usuários usem tipos de dados personalizados, apenas suporta coleções pré-definidas de estruturas de dados básicas, como Set, List, Array e algumas outras.
6Cache do lado do cliente (quase)O Ignite oferece suporte direto para cache do lado do cliente de dados recentemente acessados.Não suportado
7 (lado do servidor) justaposiçãoO Ignite suporta execução direta de qualquer código Java, C++ e .NET/C# de forma colateral, próxima aos dados do lado do servidor.O Redis geralmente não possui capacidades de colocação, e o lado do servidor basicamente suporta apenas linguagem de script LUA, enquanto o lado do servidor não suporta diretamente execução de código Java, .NET ou C++.
8Consultas SQLO Ignite suporta sintaxe SQL completa (ANSI-99) para consultar dados em memória.O Redis não suporta nenhuma linguagem de consulta, apenas a API de cache do lado do cliente.
9Investigação contínuaO Ignite oferece suporte tanto para consultas persistentes do lado do cliente quanto do lado do servidor, e os usuários podem configurar filtros do lado do servidor para reduzir e diminuir o número de eventos transmitidos ao cliente.O Redis oferece suporte para notificações de eventos baseadas em chaves do lado do cliente, mas não fornece filtros do lado do servidor, resultando em um aumento significativo no tráfego de rede para atualizar notificações tanto no lado do cliente quanto no do servidor.
10Integração com banco de dadosO Ignite pode integrar automaticamente bancos de dados externos - RDBMS, NoSQL e HDFS.O Redis não pode ser integrado a bancos de dados externos.



I.11 ELK

ELK consiste em três componentes: Elasticsearch, Logstash e Kibana;

Elasticsearch é um mecanismo de busca distribuído de código aberto que possui distribuição distribuída, configuração zero, auto-descoberta, auto-fragmentação de índice, mecanismo de réplica de índice, interface de estilo restful, múltiplas fontes de dados e carga útil de busca automática.

Logstash é uma ferramenta totalmente de código aberto que coleta, analisa e armazena seus logs para uso posterior

Kibana é uma ferramenta de código aberto e gratuita que oferece ao Logstash e ao ElasticSearch uma interface web amigável para análise de logs, que pode ajudar você a agregar, analisar e buscar logs de dados importantes.



I.12 Kong(Nginx)

Kong é um projeto API altamente disponível e fácil de expandir, escrito em módulos Nginx_Lua e é de código aberto pela Mashape. Como o Kong é baseado no Nginx, ele pode escalar vários servidores Kong horizontalmente e distribuir requisições de forma uniforme para cada servidor por meio de uma configuração de carregamento antecipado para lidar com um grande número de requisições na rede.

Kong possui três componentes principais:

KongServer: Um servidor baseado no nginx que recebe solicitações de API.

ApacheCassandra/PostgreSQL: Usado para armazenar dados operacionais.

Kongdashboard: Ferramenta oficialmente recomendada de gerenciamento de interface, claro, você também pode usar o restfull para gerenciar adminapi.

O Kong utiliza um mecanismo de plugins para personalização funcional, onde um conjunto de plugins (que pode ser 0 ou n) é executado durante o ciclo de vida do ciclo de resposta de requisição da API. O plugin é escrito em Lua e atualmente possui várias funções básicas: autenticação básica HTTP, autenticação de chaves, CORS (Cross-originResourceSharing), TCP, UDP, registro de arquivos, redução de requisições de API, encaminhamento de requisições e monitoramento nginx.



I.13 Openstack

OpenStack+KVM

OpenStack: Projeto de gerenciamento de código aberto

OpenStack é um projeto de código aberto que visa fornecer software para a construção e gestão de nuvens públicas e privadas. Não é um software, mas uma combinação de vários componentes principais para realizar um trabalho específico. O OpenStack é composto pelos seguintes cinco componentes relativamente independentes:

OpenStackCompute (Nova) é um conjunto de controladores usados para computação de máquinas virtuais ou para lançar instâncias de máquinas virtuais usando grupos;

OpenStack Image Service (Glance) é um sistema de busca e recuperação de imagens de máquina virtual que realiza gerenciamento de imagens de máquinas virtuais.

OpenStack Object Storage (Swift) é um sistema de armazenamento baseado em objetos para sistemas de grande escala com redundância e tolerância a falhas embutidas, semelhante ao Amazon S3.

OpenStackKeystone para serviços de identidade de usuário e gerenciamento de recursos, bem como

OpenStackHorizon, uma interface de dashboard baseada em Django, é uma interface de gerenciamento gráfico.

Originalmente desenvolvido pela NASA e Rackspace no final de 2010, este projeto de código aberto tem como objetivo criar uma plataforma de computação em nuvem fácil de implantar, rica em recursos e escalável. A primeira tarefa do projeto OpenStack é simplificar o processo de implantação da nuvem e trazer boa escalabilidade para ela, na tentativa de se tornar o sistema operacional do data center, ou seja, o sistema operacional da nuvem.

KVM: Tecnologia de virtualização aberta

KVM (VirtualMachine baseada em kernel) é um módulo de virtualização de sistemas de código aberto que requer suporte de hardware, como a tecnologia IntelVT ou a tecnologia AMDV, totalmente virtualizado com base em hardware e totalmente incorporado ao Linux.

Em 2008, a Red Hat adquiriu a Qumranet para adquirir a tecnologia KVM e promovê-la como parte de sua estratégia de virtualização, apoiando o KVM como o único hipervisor quando o RHEL 6 foi lançado em 2011. O KVM foca em alto desempenho, escalabilidade, alta segurança e baixo custo.



I.14 Desconfúgio

Focando em vários "componentes comuns" e "plataformas comuns" de "gerenciamento distribuído de configuração de sistemas", fornecemos serviços unificados de "gerenciamento de configuração".

I.15 Apollo

Apollo é uma plataforma de gerenciamento de configuração desenvolvida pelo departamento de framework do Ctrip, que pode gerenciar centralmente a configuração de diferentes ambientes e clusters de aplicações, pode ser direcionada para o lado da aplicação em tempo real após modificação de configuração, além de possuir permissões padronizadas, governança de processos e outras características.

O servidor é desenvolvido com base no SpringBoot e SpringCloud, e pode ser executado diretamente após o empacotamento, sem instalar contêineres adicionais de aplicação como o Tomcat.


I.16 gRPC

gRPC é uma framework RPC de alto desempenho, código aberto e versátil para projetos móveis e HTTP/2. Atualmente, versões das linguagens C, Java e Go estão disponíveis, a saber: grpc, grpc-java e grpc-go. A versão C suporta C, C++, Node.js, Python, Ruby, Objective-C, PHP e C#.

o gRPC foi projetado com base no padrão HTTP/2, trazendo recursos como fluxo bidirecional, controle de fluxo, compressão de cabeça e requisições de multiplexação em uma única conexão TCP. Esses recursos fazem com que tenha melhor desempenho em dispositivos móveis, economizando energia e espaço.



I.17 Canal

canal é um projeto de código aberto do Alibaba, dedicado exclusivamente ao desenvolvimento em Java. Baseado em análise incremental de log de banco de dados, ele fornece assinatura e consumo incremental de dados, e atualmente suporta principalmente MySQL (também suporta mariaDB).

Serviços baseados em suporte incremental de assinaturas e consumo:

  • Espelhamento de banco de dados
  • Backup de banco de dados em tempo real
  • Indexação multinível (índices separados de vendedores e compradores)
  • searchbuild
  • Atualização do cache de serviço
  • Notícias importantes de negócios, como mudanças de preços



I.18 Sparkstreaming

SparkStreaming é uma extensão da API central Spark que permite o processamento de dados em streaming em tempo real e tolerante a falhas de alta produtividade. Suporte para aquisição de dados de diversas fontes, incluindo Kafk, Flume, Twitter, ZeroMQ, Kineses e TCPsockets, e após buscar dados de fontes, algoritmos complexos podem ser processados usando funções avançadas como mapear, reduzir, juntar e janela.


I.19 SonarQube

Sonar é uma plataforma de código aberto para gerenciamento de qualidade de código para gerenciar a qualidade do código-fonte e detectar a qualidade do código a partir de sete dimensões

Por meio de plug-ins, ele pode suportar gerenciamento e detecção de qualidade de código em mais de 20 linguagens de programação, incluindo java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy, etc

I.20 DataX

DataX é uma ferramenta de sincronização offline para fontes de dados heterogêneas, dedicada a alcançar uma sincronização estável e eficiente entre várias fontes heterogêneas, incluindo bancos de dados relacionais (MySQL, Oracle, etc.), HDFS, Hive, ODPS, HBase, FTP e outros.

I.21 Gestão Zen/Jira

Função Zen
1) Gestão de produtos: produtos, requisitos, planos, lançamentos, roteiros e outras funções.
2) Gestão de projetos: projetos, tarefas, equipes, builds, burndown charts e outras funções.
3) Gestão de qualidade: bugs, casos de teste, tarefas de teste, resultados de testes e outras funções.
4) Gestão documental: biblioteca de documentos de produto, biblioteca de documentos de projetos, biblioteca de documentos personalizada e outras funções.
5) Gestão de transações: gestão de tarefas, funções de gestão de assuntos pessoais como Minhas Tarefas, Meus Bugs, Minhas Necessidades e Meus Projetos.
6) Organização e gestão: departamentos, usuários, grupos, permissões e outras funções.
7) Função estatística: tabela estatística rica.
8) Função de busca: Encontre os dados correspondentes por meio de busca.


Recursos do JIRA
1) Acompanhamento e gerenciamento de problemas (tipos de problemas incluem NewFeature, Bug, Task e Improvement);
2) Relatório de análise do acompanhamento do problema;
3) Função de gestão de categorias de projetos;
4) função líder de componente/módulo;
5) Função de endereço de e-mail do projeto;
6) Fluxos de trabalho ilimitados.



I.22 XXJOB

O XXL-JOB é um framework distribuído leve de agendamento de tarefas com objetivos centrais de desenvolvimento rápido, aprendizado simples, leve e fácil de escalar.

  • Simples: Suporte à operação CRUD em tarefas por meio de páginas web, operação simples, um minuto para começar;
  • Dinâmica: Suporta modificação dinâmica do status da tarefa, pausa/retomada de tarefas e encerramento de tarefas em execução, que entram em vigor imediatamente.
  • Centro de Despacho HA (centralizado): O escalonamento é projetado centralmente, e o "Centro de Despacho" é baseado no cluster Quartz e suporta a implantação de clusters, o que pode garantir a HA do centro de despacho.
  • Executor HA (distribuído): As tarefas são executadas de forma distribuída, e o "executor" de tarefas suporta a implantação em cluster para garantir a execução das tarefas no HA.
  • Registro: O Executor registrará automaticamente as tarefas periodicamente, e o Centro de Despacho descobrirá automaticamente as tarefas registradas e acionará sua execução. Ao mesmo tempo, também suporta a entrada manual dos endereços dos atuadores;
  • Escalonamento elástico: Assim que uma nova máquina executora entra online ou offline, a tarefa será reatribuída durante o próximo agendamento.
  • Estratégias de Roteamento: Fornece estratégias de roteamento avançadas ao implantar um cluster executor, incluindo: primeiro, último, polling, HASH aleatório, consistente, menos utilizado, mais recentemente não utilizado, failover, transferência ocupada, etc.
  • Failover: Se o Failover for selecionado para a política de roteamento de tarefas, se uma máquina do cluster do executor falhar, o sistema automaticamente muda para um executor normal para enviar uma solicitação de agendamento.
  • estratégia de manejo de falhas; As políticas de tratamento para agendamento de falhas incluem: alarme de falha (padrão), tentativa de falha;
  • Retentativa falhada: Quando o escalonamento do centro de despacho falha e a política de Retentativa Falhada é ativada, o sistema tenta automaticamente uma vez. Se o executor falhar em executar e o callback falhar em tentar novamente o estado, ele também será automaticamente tentado novamente.
  • Estratégia de processamento bloqueante: a estratégia de processamento quando o escalonamento é denso demais para o executor processar, incluindo serial de máquina única (padrão), descarte de agendamento subsequente e sobrescrever escalonamento anterior;
  • Tarefa de broadcast de shard: Quando o cluster de executores é implantado, se a política de roteamento de tarefas for selecionada como "Broadcast de Shard", um agendamento de tarefas será transmitido para acionar todos os executores do cluster a executar uma tarefa, e a tarefa de sharding pode ser desenvolvida de acordo com os parâmetros de sharding.
  • Fragmentação dinâmica: A tarefa de broadcast com fragmentação é fragmentada com base na dimensão do executor e suporta a expansão dinâmica do cluster do executor para aumentar dinamicamente o número de shards e colaborar no processamento empresarial. Ao realizar operações empresariais em grande volume de dados, pode melhorar significativamente a capacidade e a velocidade de processamento de tarefas.
  • Disparo de eventos: Além do método cron e do modo dependente da tarefa para acionar a execução da tarefa, são suportados métodos de disparo baseados em eventos. O centro de despacho oferece serviços de API que acionam uma única execução de tarefas, que pode ser acionada de forma flexível conforme eventos de negócios.
  • Monitoramento do progresso da tarefa: Suporte ao monitoramento em tempo real do progresso da tarefa;
  • Registro em tempo real contínuo: suporta visualização dos resultados do agendamento online e suporta a visualização da saída completa do log de execução do executor em tempo real de forma contínua.
  • COLA: Fornece um WebIDE que suporta o desenvolvimento online de código lógico de tarefas, liberação dinâmica, compilação e eficácia em tempo real, eliminando o processo de implantação e lançamento. Suporte 30 versões da versão histórica ao contrário.
  • Tarefas de script: Suportam o desenvolvimento e execução de tarefas de script no modo GLUE, incluindo Shell, Python, NodeJS e outros scripts.
  • Dependências de tarefas: Suporta a configuração de dependências de subtarefas; quando a tarefa pai é executada e a execução é bem-sucedida, a execução da subtarefa será ativamente acionada e múltiplas subtarefas serão separadas por vírgulas.
  • Consistência: O Centro de Escalonamento garante a consistência do escalonamento distribuído em cluster por meio de bloqueios de banco de dados, e apenas um agendamento de tarefas acionará uma execução.
  • Parâmetros personalizados de tarefa: Suporte à configuração online dos parâmetros de agendamento de tarefas, que entram em vigor imediatamente;
  • Pool de threads de agendamento: O sistema de agendamento aciona a operação de agendamento com múltiplas threads para garantir que o escalonamento seja executado com precisão e não bloqueado.
  • Criptografia de dados: A comunicação entre o centro de despacho e o executor é criptografada para melhorar a segurança das informações de despacho.
  • Alarme de e-mail: Suporte ao alarme de e-mail quando uma tarefa falha, e suporte para configurar múltiplos endereços de e-mail para enviar e-mails de alarme em massa.
  • Push repositório central do Maven: A versão estável mais recente será enviada para o repositório central do Maven para facilitar o acesso e uso do usuário.
  • Relatório de execução: Suporta visualização em tempo real de dados em execução, como número de tarefas, número de agendamentos, número de executores, etc. e relatórios de agendamento, como tabela de distribuição de datas de agendamento, mapa de distribuição de sucesso de agendamento, etc.;
  • Totalmente assíncrono: A camada inferior do sistema realiza o assíncrono completo, e a redução de picos de tráfego é realizada para agendamento denso, que teoricamente suporta a operação de tarefas de qualquer duração.



I.23 Pilha de sal

Uma nova forma de gerenciamento de infraestrutura, fácil de implantar, pode rodar em minutos, boa escalabilidade, fácil de gerenciar dezenas de milhares de servidores, rápida o suficiente, comunicação entre servidores em segundos.

A camada subjacente de sal adota um barramento de conexão dinâmico que pode ser usado para orquestração, execução remota, gerenciamento de configuração, etc.

I.24 Istio

Como um projeto de ponta para gerenciamento da camada de agregação de serviços de microserviços, o Istio é o primeiro projeto open source conjunto do Google, IBM e Lyft (uma empresa internacional de caronas compartilhadas e rival da Uber), oferecendo uma solução unificada, segurança, gerenciamento e monitoramento de microsserviços.

A primeira versão beta está atualmente para ambientes Kubernetes, e a comunidade afirma que o suporte para máquinas virtuais e outros ambientes, como CloudFoundry, será adicionado nos próximos meses. O Istio adiciona gerenciamento de tráfego aos microserviços e cria uma base para funções de valor agregado, como segurança, monitoramento, roteamento, gerenciamento de conexão e políticas.

  • balanceamento automático de carga para tráfego de rede HTTP, gRPC e TCP;
  • Ele fornece regras de roteamento avançadas para alcançar um controle detalhado do comportamento do tráfego de rede.
  • criptografia de tráfego, autenticação entre serviços e reivindicações de identidade forte;
  • Aplicação da política em toda a frota;
  • Telemetria profunda e relatórios.



Arquitetura




Segurança



Básico

Salt Stack + OpenStack + KVM + Kubernetes + Istio





Anterior:Compartilhamento de dados de IA
Próximo:Explicação detalhada de C# Tuple VS ValueTuple
Publicado em 17/07/2019 13:41:46 |
Obrigado por compartilhar, aprender...
Publicado em 27/11/2019 10:56:12 |
A quantidade de conhecimento é um pouco grande
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com