[Spring Cloud] As principais etapas de como a nova configuração do git warehouse é atualizada para cada microsserviço

Este artigo descreve as etapas de como atualizar a nova configuração para cada microsserviço após a configuração ser modificada no repositório git

Prefácio:

1. Suponha que existam atualmente três microsserviços, um é o centro de configuração e os outros dois são microsserviços comuns. Os nomes dos serviços são os seguintes:

Centro de configuração: conf-server

Serviço ao usuário: serviço ao usuário

Serviço do produto: serviço do produto

1. Ao iniciar pela primeira vez

1. Primeiro, o centro de configuração deve ser iniciado. Na primeira vez que o centro de configuração é iniciado, a configuração no branch master é extraída diretamente do git e salva em uma pasta local

2. O serviço de usuário user-service especifica qual arquivo solicitar por meio do arquivo de configuração, como: o arquivo application-dev.yml da ramificação dev. Inicie-o e acesse o centro de configuração. Porém, o centro de configuração possui apenas o configuração do branch master e não do branch dev. Em seguida, acesse o centro de configuração. git puxa a configuração do branch dev e salva-a localmente, e a retorna ao serviço de serviço do usuário

Após a saída do centro de configuração, os arquivos de configuração salvos localmente serão excluídos

3. Produto serviço produto serviço também segue o método de serviço ao usuário (mas neste momento o centro de configuração foi armazenado em cache localmente e não precisa acessar o git)

O papel do centro de configuração neste momento é semelhante ao local onde o arquivo de configuração é salvo e retorna a configuração para outros serviços

Pergunta: Suponha que haja dois serviços de serviço de usuário, um usando o branch dev e outro usando o branch master. Isso fará com que o servidor de configuração do centro de configuração alterne frequentemente para extrair configurações do git?

Resposta: Observando os arquivos locais no centro de configuração, descobrimos que a mudança ocorre. No entanto, mesmo que algumas pessoas em uma equipe de desenvolvimento de 100 pessoas mudem para o ambiente de desenvolvimento e algumas mudem para o ambiente de teste, a mudança não será muito frequente. Isso é provisório. Posso aguentar por enquanto!

2. Ao modificar a configuração diretamente no git posteriormente

1. Quando um arquivo é modificado no git, o centro de configuração não atualiza o arquivo local e não faz nada.Então, como o arquivo de configuração recém-modificado chega a cada serviço?

2. Todas as chamadas precisam ser feitas em cada serviço 刷新配置, ou seja, chamar, por exemplo http://localhost:9001/actuator/refresh, o significado de chamar essa interface é informar indiretamente ao centro de configuração para ir rapidamente ao git para extrair a nova configuração e depois salvá-la localmente e então me dê a nova configuração.

É muito trabalhoso chamar cada serviço, especialmente quando há muitos serviços. No entanto, essa é a deficiência do centro de configuração original. É claro que novas tecnologias subsequentes terão que corrigi-la.

3. Referências

Autodepuração da pasta local do centro de configuração

1. O branch master será puxado quando for iniciado pela primeira vez.

2. Quando o serviço do usuário ou serviço do produto for iniciado, a configuração exigida por eles será fornecida a eles (caso contrário, vá ao git para puxá-lo, mesmo que seja um switch)

3. Quando a interface de atualização for chamada, a nova configuração será puxada para o serviço correspondente

おすすめ

転載: blog.csdn.net/yuchangyuan5237/article/details/131863172