Centro de configuração de código aberto - Apollo
A Apollo é uma plataforma de gerenciamento de configuração desenvolvida pelo Departamento de Estrutura da CTRIP. Ele pode gerenciar centralmente as configurações de diferentes ambientes e aglomerados de aplicativos. Após a modificação da configuração, ele pode ser empurrado para o lado do aplicativo em tempo real e possui permissões padronizadas, governança de processos e outras características. O servidor é desenvolvido com base na inicialização da mola e na nuvem da primavera. Ele pode ser executado diretamente após a embalagem e não há necessidade de instalar contêineres de aplicativos adicionais, como o Tomcat.
Confira o código
Apollo Github
Você pode usar a ideia para abri -la localmente
Scripts de banco de dados
Execute o seguinte script para criar Apolloconifgdb, Apollopordb
Inicie o ConfigService Adminservice
Configuração da classe principal
com.ctrip.framework.apollo.assembly.apolloApplication
Opiniões da VM
-Dapollo_profile = github -dspring.dataSource.url = jdbc: mysql: // localhost: 3306/apolloconfigdb? Caracterencoding = utf8 -dspring.dataSource.UserNamenamen -sPring.DataSource.passource.DordEsteReRceReRceReRceReRceReRceReRceReRceReRceReSToSTESTESTERCEFTRECHTRECHTRIND.TRINGREGRENTESTERCESTERCESTERCESTERCESTERCESTERCESTERCESTERCESTERCETRECTRINGF8 -
Após o início, abra http: // localhost: 8080 e você pode ver que tanto a Apollo-ConfigService quanto a Apollo-Adminservice foram iniciadas e registradas com Eureka.
Inicie a Apollo-Portal
Configuração da classe principal
com.ctrip.framework.apollo.portal.portalapplication -dapollo_profile = github, authdev_meta = http: // localhost: 8080/-dServer.port = 8070 -Dspring.dataSource.url = jdbc: mysql: // localhost: 3306/apollopordb? Caracterencoding = utf8 -dspring.datasource.username = root -dspring.datasource.password =
Se o perfil de autenticação estiver ativado, o nome de usuário padrão é Apollo e a senha é admin
Aplicado no SIT, UAT, Máquinas do ambiente de produção
1. Adicione um diretório/opt/dados/diretório e possui permissões de leitura e gravação;
2. Adicionado novo arquivo: /opt/settings/server.properties e adicionado configuração:
Env = devSit: Env = fatuat: Env = UAT Produção: Env = pro
Exemplo de cliente
@Component Set Nome do componente @RefreshScope Especifica que as alterações de configuração podem ser atualizadas @configurationproperties (prefix = "redis.cache") @component ("sampleredisconfig") @refreshscopepublic class sampleredErconfig {sormatic final logger logger = loggerFactor private Int expiresesegunds; clusterternodes privados de cordas; private int commandTimeout; mapa privado <string, string> somemap = maps.newlinkedhashmap (); Lista privada <String> somelist = lists.newlinkedList (); @PostConstruct private void initialize() { logger.info( "SampleRedisConfig initialized - expireSeconds: {}, clusterNodes: {}, commandTimeout: {}, someMap: {}, someList: {}", expireSeconds, clusterNodes, commandTimeout, someMap, someList); } public void setexpireSeconds (int expiresesonds) {this.expireseconds = expireseconds; } public void SetClUserTodes (string clusterternodes) {this.clusnderternodes = clusterternodes; } public void setCommandTimeout (int commandTimeout) {this.ComMandTimeout = CommandTimeout; } mapa público <string, string> getSomemap () {return somemap; } list public <string> getSomelist () {return somelist; } @Override public string tostring () {return string.format ("[sampleredisconfig] expireseconds: %d, clusternodes: %s, commandTimeout: %d, somemap: %s, somelista: %s", expireseconds, clusternodes, comandimeout, somemap, somelist, somelist; }}Configure o monitoramento
@ComPonentPublic Classe SpringbootapolloreFreshConfig {private Static Final Logger Logger = LoggerFactory.getLogger (Springbootapolorefreshconfig.class); @Autowired Private ApolleFreshConfig ApolloreFreshConfig; @AUTOWIRED SAMPLEREDISCONFIG SAMPLEREDISCONFIG; @Autowired Private RefreshScope RefreshScope; @ApolloconfigChangelistener public void OnChange (configChangeEvent ChangeEvent) {Logger.info ("antes da refresh {}", sampleredisconfig.tostring ()); refreshScope.Refresh ("Sampleredisconfig"); Logger.info ("Após o refresh {}", sampleredisconfig.toString ()); }}Resumir
O exposto acima é o processo de construção do ambiente de desenvolvimento local da Spring Cloud Apollo Apollo, introduzido em você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!