A análise comparativa dos serviços de micro configuração arquitetura do centro da mainstream?

Por que precisamos para o centro configure

Configuração com efeito imediato :

configuração estática tradicional Para modificar uma configuração só pode voltar a publicar aplicações após a modificação, para alcançar dinâmico, você pode optar por usar o banco de dados, configurado para mudanças sentido no momento da votação, acessando o banco de dados. frequência de consulta das alterações de configuração de pouca consciência sobre a longa demora, alta frequência de polling, sentindo uma mudança na configuração no pequeno atraso, mas a perda de comparação de desempenho, um compromisso entre a necessidade de fazer o desempenho em tempo real. Center Configuration especificamente para este cenário de negócios, tendo em conta em tempo real e consistência para o gerenciamento de configuração dinâmica.

processo de gestão de configuração :

Configurar o controle de permissões, cinza publicar gestão relevante versão, configuração de segurança e formato do teste e uma série de recursos de gerenciamento de configuração também são parte do centro não pode ser obtido de configuração.

Open source descreve o centro de configuração básica

Atualmente no uso mercado mais centro de configuração :( espécie de tempo de código aberto)

Disconf

Julho de 2014 Baidu centro de gerenciamento de configuração de código aberto, têm as mesmas capacidades de gerenciamento de configuração, mas agora não é mantida, mais recentemente apresentado há dois anos a.

Primavera Nuvem de configuração

Setembro 2014 aberta, componentes ecológicos Primavera nuvem, e Spring Nuvem pode ser sistema integrado.

Apolo

Maio 2016, Ctrip aberto centro de gerenciamento de configuração de origem, têm normas de direitos, controle de processos e outros recursos.

nacos

Junho 2018, Ali centro de distribuição de código aberto, pode fazer a descoberta DNS e serviço RPC.

O conceito central do centro de distribuição de contraste

Desde Disconf não é mantida, compare o seguinte Primavera Nuvem Config, Apollo e Nacos. Primavera Nuvem Config, conceito Apollo e Nacos no campo da gestão de configuração é basicamente o mesmo, mas há alguns pontos diferentes, usando a configuração do processo envolverá alguns dos conceitos mais importantes.

aplicação

Aplicação da unidade básica dos sistemas cliente, Primavera Nuvem de configuração correspondente ao nome do aplicativo e o nome do arquivo é associado Git-se, assim você pode jogar uma pluralidade de aplicativos dispostos mutuamente isolamento. Apollo em uma configuração de aplicação são os seguintes (para além de uma configuração comum), também teve uma pluralidade de aplicações dispostas mutuamente isolamento. A aplicação do conceito de Nacos fraco, apenas uma propriedade adicional para distinguir configuração, mas pode ser usado para fazer a aplicação no campo Group, pode desempenhar um papel em isolamento.

Clusters

diferentes ambientes pode configurar diferentes clusters, para que possa desempenhar o papel de isolamento físico, Primavera Nuvem Config, Apollo, Nacos suportar vários clusters.

Etiqueta Perfil e ambiente & namespace

Primavera Nuvem configuração rótulo pode ser usado para fazer o isolamento lógico e perfil, Etiqueta para repositório remoto ramo, Maven perfil Perfil ambientes semelhantes podem ser distinguidos, como {aplicação} - {perfil} .properties.

E Apollo Nacos namespace ambiente, é um conceito lógico, como ambiente de isolamento lógico. Apollo é o nome da configuração de namespace, o item de configuração específica refere-se a um perfil de propriedade.

Comparação de recursos de gerenciamento de configuração

Como um centro de distribuição, todo o processo de gerenciamento de configuração deve ter capacidades aerodinâmicas.

liberação cinza

Grey publicar a configuração é configurar o centro das funções mais importantes, quando as mudanças afetam a configuração de relativamente grande, necessidade de verificar se a alteração de configuração em linha com as expectativas, e depois empurrado para todos os exemplos de aplicação em alguns exemplos de aplicação.

Primavera Nuvem de configuração suportados pelo parâmetro de destino / bus / endpoint de atualização para especificar atualizar a configuração da máquina, mas todo o processo não é automatizado e sistemático.

Apollo pode apontar diretamente no console da máquina-graduação liberação especificado o IP, seguido pela quantidade total lançado, fazer a comparação sistemática.

Nacos atualmente lançou a versão 0.9, não suporta versão em tons de cinza.

Rights Management

As alterações de configuração e mudanças de código são mudanças na lógica da aplicação é executado, ele é importante efeito de alterações de configuração muitas vezes trazem uma bomba nuclear, permissão para alterar as capacidades de controle de configuração e auditoria são também importante centro função de configuração.

Primavera Nuvem de configuração dependem de recursos de gerenciamento de direitos Git e controle de acesso de código aberto GitHub podem ser divididos em administração, escrever e permissões de leitura, gerenciamento de direitos mais perfeito.

autoridade Apollo para gerenciar a configuração pelas dimensões do projeto, proprietário de um projeto pode ser delegada a outros usuários permissão para modificar a configuração de lançamento.

Nacos o momento não têm as capacidades de gerenciamento de permissão.

Versioning & Rollback

Quando as mudanças de configuração não estão em linha com as expectativas quando a necessidade de reverter dependendo da configuração de lançamento. Primavera Nuvem Config, Apollo e Nacos todos têm a capacidade de configurar o controle de versão e rollback, você pode visualizar ou alterar o caso da reversão de configuração no console. Primavera Nuvem configuração feita pelo gerenciamento de versão Git, mais conveniente.

cheque formato de configuração

Os dados de configuração armazenados na aplicação são geralmente dispostas em um formato de armazenamento de configuração central, tais propriedades, Json, yaml semelhantes, se a configuração do mal formado, causa o cliente para analisar a configuração de falha devido à falha da produção, o centro de distribuição pode ser configurado para verificar o formato prevenir eficazmente a ocorrência da operação de erro humano, que é providenciado no centro das funções essenciais só precisa.
Primavera Nuvem de configuração usando Git, formato do teste ainda não é suportado, contam com a correção de seu próprio formato de R & D.
configuração do formato adequado Apollo e Nacos será testado, o erro humano pode ser eficazmente prevenida.

Escutas para consultas

Ao solucionar ou estatísticas, você precisa saber quais aplicativos usar um exemplo de configuração para ser, bem como um exemplo do que a configuração para uso.
Primavera Nuvem de configuração usando mudanças Primavera Nuvem de ônibus de configuração Push, Primavera Nuvem Bus RabbitMQ compatível, Kafka, e consultas de apoio Assinar Assinar relação de Tópico e do Consumidor.
Apollo pode ver uma lista de lista de exemplos de configuração de interceptação por exemplos cinza, mas os exemplos estão ouvindo configuração (Apollo conhecido como um namespace) ainda não exibido.

Nacos pode ver exemplos de configuração do monitor, você também pode ver o exemplo de configuração está escutando.

Basicamente, esses três produtos têm a capacidade de consulta monitor, em nosso próprio curso, Nacos relativamente simples de utilização, facilidade de uso é relativamente melhor.

vários ambientes

Na produção real, muitas vezes necessidade de configuração multi-center ou um ambiente multi-cluster, ambiente de desenvolvimento de serviço podem ser distinguidos no desenvolvimento e de produção, ou ambiente de produção, de acordo com uma pluralidade de diferentes linhas de negócios. Se a interacção entre os vários pequena ambiente (impacto ambiental da estabilidade de desenvolvimento da produção), o ambiente de configuração central pode suportar forma múltipla lógico isolado.

Primavera Nuvem de Configuração Suporte Perfil múltiplos ambientes isolados maneira, organizando uma pluralidade perfil de perfis no Git, o cliente inicia o perfil especificado pode acessar o arquivo de configuração correspondente.

Apollo ambiental também suporta vários ambientes, criar uma configuração no console quando devemos especificar uma configuração onde os parâmetros da JVM cliente especificado no arranque ENV para acessar o perfil ambiental correspondente.

Nacos suportado através do ambiente multi-namespace, a configuração de cada isolamento namespace do outro, o cliente especifica o namespace que você deseja acessar pode conseguir um isolamento lógico.

Multi-cluster

Quando as exigências de elevada estabilidade, o impacto ambiental de cada indivíduo não é permitida quando uma pluralidade de ambientes que requerem o isolamento físico por meio do multi-cluster.

Primavera Nuvem de configuração pode configurar vários conjuntos de configuração Server, Git Git usar vários armazéns do mesmo, para obter o isolamento físico.

Apollo pode construir vários conjuntos de agrupamentos, console e actualização de dados Apollo empurrar serviços aplicados separadamente, para implantar um console pode controlar vários clusters.

Nacos console e serviços de configuração de back-end são implantados juntos, você pode alternar para apoiar vários clusters em diferentes domínios.

Configurando comparação push-tempo real

Quando a configuração muda quando a necessidade centro de distribuição para aplicações em tempo real do configure empurrou para o cliente.

configuração Nacos e Apollo estão impulso baseada em HTTP longo de votação, o cliente e centro de distribuição para estabelecer a conexão HTTP muito tempo, quando as alterações de configuração, a configuração do centro de distribuição empurrou para o cliente.

A análise comparativa dos serviços de micro configuração arquitetura do centro da mainstream?

Primavera Nuvem configuração nativo não suporta a configuração push-tempo real, a necessidade de contar com webhook Git, Primavera Nuvem Bus e cliente / ônibus / parâmetros de atualização:

  • Git com base webhook, alterações de configuração gatilho de atualização do lado do servidor

  • Servidor recebe o pedido e enviou Primavera Nuvem Bus

  • Primavera Nuvem Bus recebeu a mensagem e notifica o cliente

  • O cliente recebe uma notificação solicitando clientes servidor para obter a configuração mais recente

A análise comparativa dos serviços de micro configuração arquitetura do centro da mainstream?

baixo comparação geral, Nacos e Apollo na configuração do link push-tempo real é relativamente simples e eficiente, empurrar configurações Primavera Nuvem config incorporados Primavera Nuvem Bus, um longo link, mais complexa.

estrutura comparação & implantação disponibilidade

Primavera Nuvem de configuração

Primavera Nuvem de configuração contém config-servidor, Git e Primavera Nuvem Bus de três componentes:

  • configuração config-servidor para o cliente adquiriu;

  • Git para armazenar e modificar a configuração;

  • Primavera Nuvem Bus notificar as alterações de configuração do cliente;

modo de teste local, Primavera Nuvem Bus e necessidade config-servidor para implementar um nó, Git pode usar GitHub. Em um ambiente de produção, Primavera Nuvem Config, necessidade config-servidor para implementar pelo menos dois nós. Primavera Nuvem Bus Se você usar RabbitMQ, de modo comum requer pelo menos dois nós do cluster.

Se você estiver usando a disponibilidade do serviço GitHub Git não teria considerado a questão, se você quiser ter em conta a segurança do repositório Git privada de auto-construção, o custo total é relativamente alta. serviços web podem ser implantados para suportar multi-nó de alta disponibilidade, uma vez que Git tem a consistência de dados, alta disponibilidade pode ser suportado pelas seguintes maneiras:

  • Git + keepalived modo de espera frio, quando o principal Git hung pode ser cortado imediatamente para preparar Git;

  • Git implantação multi-nó, armazenamento de dados ou um sistema de arquivos de rede implementada usando vários nós de sincronização DRBD Git;

Apolo

Apollo em MySQL, Serviço de Configuração, Serviço de administração, Portal quatro módulos:

  • dados de metadados de armazenamento e de configuração do utilizador Apollo MySQL;

  • Serviço de Configuração fornecer configuração de leitura, função push, solicitações de clientes são largados no serviço de configuração;

  • Serviço de administração fornece modificar, publicar recursos como configuração, operação do serviço de Portal é serviço de administração;

  • Portal para a interface de gerenciamento de configuração do usuário;

teste local Serviço de Configuração, Serviço de administração, Portal implantado três módulos podem ser combinados em conjunto, MySQL instalado separadamente e criar a estrutura da tabela necessária. Apollo usado em um ambiente de produção, dois nós podem ser implantados separadamente Portal, requisitos de estabilidade, então não é tão alta, Serviço de Configuração Serviço de Administração e podem ser implantados juntos, redundância de banco de dados de suporte de espera.

nacos

implantação Nacos requer o Service Nacos e MySQL:

  • Nacos prestação de serviços aos gerenciamento de configuração de apoio e descoberta de serviços;

  • MySQL fornece nacos armazenar dados persistente;

modo stand-alone, Nacos banco de dados integrado pode ser usado para implantar um nó, você pode começar. Se você é MySQL familiar, você quer entender fluir os dados globais, você pode instalar o MySQL para Nacos fornecer dados persistência serviços. Produção ambientes de necessidade de serviço Nacos, Nacos implantar pelo menos três nós, mais o mestre MySQL e escravo.

global

estrutura de implantação nacos é relativamente simples, de baixo custo de operação e de manutenção. Apollo implantar mais componentes, operação e custo de manutenção é maior do que Nacos. Primavera Nuvem configuração mais altos custos de produção de alta disponibilidade.

comparação de suporte multi-língua

vários sistemas de uma empresa podem variar linguagem, agora usado por mais como C ++, Java, PHP, Python, NodeJS, ir lá e assim por diante. Após a introdução do centro de distribuição, centro de distribuição para obter sistemas multi-língua pode apreciar a capacidade de configurado de forma dinâmica, a necessidade de suportar vários idiomas ecologia.

Multi-linguagem apoio

serviços de Primavera nuvem no ecossistema Java, inicialmente apenas para aplicações de micro-serviços Java para micro-serviços chamar aplicativos não-Java, você pode usar Sidecar fornece HTTP API, mas a configuração dinâmica também não é bem suportado.
Apollo tem apoiado vários idiomas, e fornece API aberta. Outros idiomas não são suportados, os custos de acesso Apollo são relativamente baixos.

línguas Nacos suporte mainstream, como Java, Go, Python, NodeJS, PHP, também fornece API aberta.

Suporte à migração

empresa de internet baseada em Java convencional doméstica ainda se baseia, além nativa Java SDK, em todo o ecossistema Java, tais como o apoio da Primavera Boot and Primavera Nuvem, os três produtos são suportados.

Primavera Nuvem de configuração original e suporte dotado Primavera Bota Primavera Nuvem, suporte Nacos Primavera Bota e ecologia Primavera nuvem por Primavera Nuvem de Alibaba, em linha com a implementação eco Primavera padrão, pode perfeitamente migrar de Primavera Nuvem Conig para Nacos.

Apollo e Primavera Nuvem Primavera Bota apoiar o projeto, mas a implementação é diferente do padrão, você não pode fazer a migração sem costura, a migração de Primavera Cloud para Apollo, há a transformação da compatibilidade de código e custo.

Comparação de desempenho

O desempenho é também a configuração de um anel ao redor do centro, mas, nas mesmas especificações da máquina, se eles podem suportar um volume maior de negócios é obrigado a economizar custos mais recursos para a empresa, melhorar a utilização dos recursos. cliente da aplicação tem que configurar as operações de interface centro de notificação de leitura, de escrita e de mudança, devido à notificação de alteração requer muita instância do cliente, um mau cenários de teste de simulação, abaixo somente ler e escrever operações para fazer o teste.

ambiente de hardware

Nacos Apollo e usar a mesma base de dados (32C128G), a configuração do recipiente 8C16G implantação da máquina para utilizar o serviço de servidor, o disco é 100G SSD.

edição

Nuvem mola de configuração utilizando 2.0.0.M9 versão, Apollo utilizando a versão 1.2.0 libertação, Nacos 0,5 versão.

cena única leitura

O programa de teste cliente por implementação de várias máquinas, cada máquina de abrir vários segmentos para ler diferentes configurações (3000) a partir do centro de distribuição. Nacos QPS pode chegar a 15000, Apollo e ler na memória buffer de leitura de duas maneiras do banco de dados, pode ser lido a partir de um banco de dados de 7500, a partir da memória cache de leitura desempenho pode ser alcançado 9000QPS. Primavera Nuvem de configuração usando jGit gravação Git, por causa das restrições do cliente, stand-alone capacidade de leitura é 7QPS limitado.

Cena 3 Nó Reading

O centro de nós de medição de pressão estão dispostos em três nódulos implantados. Nacos QPS pode chegar a 45000 QPS, Apollo ler memória cache até 27000 QPS. E Apollo Nacos uma vez que cada nó é independente da cena de leitura, é três vezes a relação básica entre a cena única ler. Primavera Nuvem de configuração três nós de leitura capacidade pode chegar 21QPS.

cenário de stand-alone Write

Da mesma forma, várias máquinas modificar simultaneamente os de configuração central de diferentes configurações. Nacos QPS pode chegar a 1800 banco de dados padrão Apollo pool de conexão de não utilizada (10) QPS só atingem 800 QPS (CPU não pressão completa), para ajustar o pool de conexão 100 pode chegar a 1100 QPS (CPU pressão total). Git será bloqueado no momento da apresentação do mesmo projeto, stand-alone Git pode escrever sobre 5QPS, Primavera Nuvem de configuração quando usado como fonte de dados para um projeto, capacidade de gravação Git é limitado.

3 escrever um nó cena

Da mesma forma, o centro de nós de medição de pressão estão dispostos em três nódulos implantados. Nacos QPS até 6000, Apollo pode chegar a 3300 QPS (CPU pressão total), seguida de banco de dados MySQL por causa de alto perfil, não se tornar um gargalo de desempenho. Primavera Nuvem de configuração três nós tempo, Git é um nó, write QPS 5.

No conjunto, o mais alto desempenho de leitura e gravação de Nacos, Apollo seguido, Primavera Nuvem de configuração depende cenas Git não é adequado para a operação e manutenção da API aberta em grande escala automatizado.

Resumo dos Recursos comparação

Aqui está uma lista uma tabela para resumir as características dos três produtos.

A análise comparativa dos serviços de micro configuração arquitetura do centro da mainstream?

No geral, Apollo e Nacos no que diz respeito às exigências ecológicas Primavera Nuvem configuração apoio mais amplo no processo de gerenciamento de configuração para fazer melhor. Nacos relativos Apollo fazer o gerenciamento de configuração mais abrangente, mas também usar algum trabalho. Nacos é relativamente simples de usar, mais adequado para requisitos de alto desempenho de cenas de grande escala.

Além disso, Nacos além de proporcionar características de configuração centrada, também proporciona uma descoberta serviço dinâmico, de partilha de serviço e de gestão de funções, reduz a dificuldade do processo de transformação de serviço.

Acima, a partir de funcionalidade do produto, experiência do usuário, implementação e desempenho de quatro latitude para Primavera Nuvem Config, comparação Apollo e Nacos. Mas, para a seleção de um projeto open source, além do acima quatro aspectos, entrada humana (iteração progresso, a integridade do documento) sobre o projeto, a comunidade de atividade (número de emissão e endereço velocidade, Contributor quantidade, troca comunidade frequência, etc), o conteúdo do grau de normas comunitárias (Disclaimer, instruções de segurança, etc.), que podem ser o que os usuários estão mais preocupados.

Escrito em última:

Congratulo-me com a atenção de todos [número de público calmo como código ], massa relacionadas com Java artigos, materiais de aprendizagem será atualizado no interior, materiais de acabamento será no interior.

Eu me sinto bem para escrever sobre um ponto de louvor, mais seguidores cantar! Ponto de atenção, não se perder, continuamente atualizado! ! !

entrevista maciça, arquitetura de compartilhamento de informações

A análise comparativa dos serviços de micro configuração arquitetura do centro da mainstream?

Acho que você gosta

Origin blog.51cto.com/14570694/2480560
Recomendado
Clasificación