No micro-serviços de Springcloud

O autor é um graduado de 19 de Junho, deixando apenas experimentou recentemente, parar, nada mais durante o escritório em casa, roll-up sua própria empresa para alguns insights sobre os micro-serviços e branco novato springcloud, disseram que o lugar errado para olhar para frente correção grande Deus.
O micro serviço?
Em cerca de algo novo, ao mesmo tempo, você pode querer olhar para o fundo ao que parece, e parece para resolver quaisquer problemas.
No processo de desenvolvimento de aplicações web Java, um estilo arquitectónico mais típico é para a frente (Front-end) e back-end (back-end) todos os arquivos em todos no mesmo projeto, ou através de uma ferramentas de compilação Maven como jogar Gradle pacote de guerra em, ou jogados no cais tomcat serviços correr para cima do recipiente. Semelhante ao seguinte:

Aqui Insert Picture Descrição
Uma desvantagem desta arquitectura é que:
um complexo e simples. Eu primeira empresa usada é a arquitetura SSH (Spring + Struts + Hibernate), aplicação JavaWeb típico não foi útil para gerenciar dependências do projeto Maven, no desenvolvimento de que muitas vezes precisam manualmente alterar uma linha de código para combater a guerra e depois jogado no servidor tomcat, o processo de matar processo de pesquisa, reiniciar tomcat. Então, toda a nossa equipe de projeto tem um grupo, enquanto que deveria dizer algo para reiniciar, outros grupos, muitas vezes erro interno no teste, iremos desenvolver um tempo limite de conexão local, e desta vez você pode sair e fumaça, haha.
2. Não propício para expandir e tecnologia de atualização. Isso é fácil de entender, apenas uma estrutura de projeto, o back-end usando java, ela só pode ser a linguagem java, apenas com php php, uma vez que o dia para projetos de reconstrução, Naogua Zi pode dar-lhe a podridão seca.
3. difícil de manter e compreender. Imaginem, quando se formar estudantes para a empresa, um projeto de mais de uma dúzia de módulos de back-end, cada um dezenas de pacotes, quando a depuração break point você pode esquecer por que você deseja depurar o ponto de interrupção.
Após um inferno monômero, a indústria vai estar à procura de uma solução melhor, micro-serviços (Microservice) surgiu -
a arquitetura micro-service pode ser dito é a forma de quebrar em uma série de características uma arquitectura de serviços padrão. Dividido em mais do que um simples entendimento é, por exemplo, você tinha um sistema de blog pode ser dividido em atendimento ao cliente, serviços à comunidade, serviços de integração, etc., cada serviço pode ser um único aplicativo que pode ser executado dentro de um recipiente particular, para alcançar desacoplamento aplicações.
Aqui Insert Picture Descrição
A figura acima é um esboço simples eu pintado micro serviços, o original dividida em múltiplas aplicações e serviços de monómeros de acordo com o serviço, cada serviço é equivalente a uma aplicação web, a interacção informações entre eles através de um protocolo de rede, não, muitas vezes, mudou um serviço, desenvolvimento de C no tempo de espera para todo o projeto um reinício este dilema.
Micro-services divisão geralmente com base em requisitos de negócios, há um conceito de granularidade de serviço. Tamanho não deve ser muito grossa e muito pequena, se você é uma interface simples usuário simplesmente fazer login para dao e dividir serviço em dois serviços, o que realmente não é necessário, mas ampliada a complexidade do projecto global; frente a um sistema de fornecedor de electricidade enorme só para os serviços de serviços de armazém e de ordem, mas não pode ser integral, correio, etc., a fim módulo não pequena que, este acoplamento ainda é bastante elevado.

O que é SpringCloud?

equipe Springcloud Pivotal é introduzida com base na base acima Netflix OSS para construir micro-serviços programa de arquitetura.
Primeiro, SpringCloud não um uso frame-a-fora da caixa, desta vez em um monte de iniciantes muitas vezes confundem esse conceito. Você pode ser entendido como, SpringCloud é um pensamento, um método, um conjunto completo de micro-serviços arquitetura conceito ou um balde de família (semelhante ao KFC ha ha), que vai amadurecer indústria uma variedade de componentes de arquitetura micro-serviços para fazer um sistema integrado, por exemplo, gestão de serviços, gateway de serviço, fusível de serviço, configuração unificada, serviço de comunicação componente, rastreamento de link, monitoramento de serviços, e assim por uma arquitetura de micro-serviço sofisticado necessário, springcloud colocá-los em seu próprio balde, e não repetir criar a roda .
Virando-se para micro-serviços, temos que mencionar que alguns conceitos fundamentais:
1. Gerenciamento de Serviços

Quando um problema que começou a construir a arquitetura micro-serviços quando encontrou pela primeira vez é: como consumidores como acesso e serviço de chamada fornecido pelo provedor de serviços, como um provedor de serviços como tornar os serviços que eles oferecem para que outros consumidores chamar. Na aplicação tradicional do qual somos diretamente no desenvolvimento do nível de linguagem para resolver este problema, por exemplo, Classe A -> Chamada -> métodos de classe B, mesmo que seja um projeto multi-módulo, só pode ser utilizado para chamada remota Http ferramentas de cliente, assumindo que uma porção tem 100 casos foram implantados em 100 máquinas, então você está usando uma matriz de armazenamento nos exemplos de código que 100 endereço aleatório e usá-lo para alcançar invocação de serviço, pode não ter que esperar até amanhã, você agora esta abordagem seria vergonha de si mesmo. Na arquitetura micro-serviço, cada serviço pode ser várias instâncias, e estes exemplos da linha de montagem em non-stop on-line, como eles se conhecem? endereço físico não é certamente desejável, porque você não sabe que amanhã você não vai ser por causa do tráfego enorme e comprou um serviço de alguns servidores implantados (não pergunte, pergunte que o dinheiro). Se um serviço não está online, então quando você ligar a rede vai ser uma longa espera, o que levou ao fracasso.
O gerenciamento de serviços é apresentada para resolver os problemas acima. Através do serviço constatou que os consumidores não precisam saber o endereço físico do fornecedor, você pode simplesmente ligar para o serviço realizado através da implementação de nome do serviço bem definida; provedores não se preocupam com o seu serviço acabará por chamar por quem. mecanismo de registro do serviço é permitir que o prestador de serviço no momento da inscrição on-line serviço de informação oferecido para falar com um servidor de gerenciamento de serviços e gerenciamento notifica servidor off-line no momento da sua informação suprimida exemplo, o tráfego de evitar entrar o endereço errado.

2. carga de serviço Micro equilíbrio
Aqui Insert Picture Descrição
para balanceamento de carga pode ser entendida pela figura. aplicações tradicionais podem implementar balanceamento de carga dispositivo de balanceamento de carga (o Nginx) solicitado pelo utilizador na entrada. Mas na arquitetura micro-service, esta abordagem não é viável, porque o usuário não só para apreciar o pedido, mas também precisa considerar a carga de chamada entre o serviço, mas, neste momento, se continuarmos desta forma, ele certamente vai aumentar o sistema a complexidade da estrutura, e você não pode esperar que seus exemplos de como o serviço vai mudar. Portanto, para a carga de chamadas micro-service equilibrar as necessidades de encontrar uma outra maneira. Portanto, a indústria propôs a carga do cliente equilibrar idéia de que existem outras instâncias salvar uma lista de todos os serviços de um servidor de gerenciamento no cliente consumidor do serviço, quando o tráfego chega, o cliente a atingir de acordo com suas próprias políticas.

3. Serviços de entrada micro unificadas

Primeiro de tudo, o serviço é mais micro, aplicações empresariais que, se a escolha da arquitetura de micro-serviço, não pode ser apenas um ou dois casos, como um serviço pode ter dezenas de casos, existem centenas de milhares em todo o serviço, então a questão , você back-end engenheiro, você pode apenas servir você no comando de alguns relativamente clara, mas ainda não pensou sobre a sombra psicológica da ponta do MM? (PS. sim mãe, eu quero lembrar que ele aborda vários serviços. ...) neste momento de amizade pode voltar-se para virar o barco disse. Como um front-end ou um terceiro, este é definitivamente um que você não quer tantas micro-serviços lidar, desta vez sobre a necessidade de fornecer uma entrada unificada micro serviços aos clientes de ajuda encaminhadas para as necessidades de serviço com base regras estabelecidas antecipadamente roteamento.

4. micro-serviços tolerante a falhas.

Tolerante a falhas, de fato, uma outra maneira é também chamado de fusível. Imagine, se não existe um sistema em que o fusível do circuito, em seguida, a temperatura é muito alta para as linhas de circuito diretamente queimar-se, isso é uma coisa muito terrível, é o mesmo em que micro-serviços arquitetura. arquitetura Micro-service a partir do início de edifício destinado a ser altamente descentralizado, arquitetura distribuída, chamadas de serviço entre a propagação fora da rede, é provável que chamar um serviço que envolve uma série de serviços a jusante. Entre sistema de fornecedor de electricidade, assumindo que existem 100 pedidos de usuário único, o equivalente a 100 tópicos iniciados os próximos pedidos individuais relacionadas com o serviço, você precisa informar serviços de armazenagem após dedução das ações correspondentes em um único serviços de integração, serviços de armazenagem, serviços de ordem, depois de serviços de notificação e integração aumentar os pontos de utilizador, assumindo que quando você chamar serviços de integração, serviços de integração de rede devido à razão para o acidente ou para baixo, de modo que, na ausência de um caso soprado o usuário só pode ver a interface foi andando em círculos, até a visita de tempo limite fora de um erro 500, que diabo, uma pilha de cartas. Se o usuário está sob enorme quantidade, todos os fios estão presos em serviços de integração aqui até que o sistema falhar, estouro de memória e assim por diante, fazendo com que "serviços de avalanche" mais clássicos da indústria fenômeno.
Com o fusível serviço, desta vez podemos especificar uma regra de limite de tempo para serviços de integração, depois de detectar o tempo limite e repetição inválido, podemos definir o seu próprio bem com antecedência uma resposta relativamente amigável, ou pode persistir um registro no banco de dados, até após a recuperação de dados de rede pode ser modificado manualmente. Sim, tolerância a falhas está fazendo essa coisa.

serviços de configuração unificada 5. Micro

No pedido único que, o projeto pode ser vários arquivos de configuração, você pode modificar e gerenciamento unificado sob o mesmo item. Mas na arquitetura micro-serviço que, devido ao número de multi-serviço, e pode haver os mesmos dados de configuração, etc., neste momento, se ou distribuído gerida separadamente, em cada serviço, então o rosto de centenas de instâncias de serviço quando esta gestão a dificuldade é sem dúvida muito grande, você pode visualizar o arquivo que você deseja alterar a configuração de uma enorme dificuldade. E nós não queremos mudar a configuração de cada sistema de cada arquivo, então não é susceptível de causar grandes serviços de mudança e confusão.

6. Os serviços de monitoramento de micro.

Flexível e poderosos serviços de micro é uma faca de dois gumes, trazendo amanhecer para desenvolvedores, mas também traz consigo "um pesadelo". debug geral e análise de traços em uma única aplicação não é um problema, porque é um conceito de zero como um todo, tudo sob o mesmo projeto. Solicita a importância do monitoramento e análise acreditar que eu não digo todos sabemos, especialmente quando é hora de aplicar formalmente lançado, há uma análise de log boa pode localizar rapidamente o problema. No entanto, no cenário de micro-serviços é difícil, por causa dos acima mencionados chamada micro serviços que possam existir entre vários serviços a jusante de serviço, e cada serviço tem o seu próprio registo, então, como tudo consolidação log em um sistema de registro unificado, este será um desafio muito grande. Claro, springcloud neste serviço de monitoramento de micro fornece a agregação de log, análise de log visualização, soluções de rastreamento de link chamada, etc., etc. são agora mais ELK projetado para log do sistema nascido pilha de tecnologia, ele pode ser pensado para construir um poderoso micro-serviços sistema de monitoramento fornece uma ajuda poderosa.

Dito isto, na verdade, eu só quero aprender sapatos springcloud e micro-atendimento das crianças foram informados de seus quadros de compreensão superficial, tendo em mente, começar a aprender uma língua deve compreender a sua idéia central e uma variedade de cenários, qualquer vencem para resolver uma variedade de problemas de negócios e nascimento, e é micro-serviços arquitetura springcloud uma boa solução. Um pouco cansado, o primeiro blog um pouco pobre, se você tiver qualquer dúvida eu espero que você corrigir, começar a partir da volta vai continuar a construir e atualizar o Springcloud relevantes de combate.

Por último, mas não menos importante, falar é fácil, me mostrar o código

Publicado um artigo original · ganhou elogios 5 · visualizações 86

Acho que você gosta

Origin blog.csdn.net/qq_35323137/article/details/105197108
Recomendado
Clasificación