Centro de configuración de código abierto - Apolo
Apollo es una plataforma de gestión de configuración desarrollada por el departamento de Marco de Ctrip. Puede administrar centralmente las configuraciones de diferentes entornos y grupos de aplicaciones. Después de la modificación de la configuración, se puede empujar al lado de la aplicación en tiempo real y tiene permisos estandarizados, gobernanza de procesos y otras características. El servidor se desarrolla en función de Spring Boot y Spring Cloud. Se puede ejecutar directamente después del embalaje, y no es necesario instalar contenedores de aplicaciones adicionales como Tomcat.
Mira el código
Apolo Github
Puedes usar la idea para abrirla localmente
Scripts de base de datos
Ejecute el siguiente script para crear ApolloConifGDB, ApolloportaldB
Iniciar configservice adminService
Configuración de la clase principal
com.ctrip.framework.apollo.assembly.apolloapplication
Opiniones de VM
-Dapollo_profile = github -dspring.datasource.url = jdbc: mysql: // localhost: 3306/apolloConfigdb? CaracterSencoding = utf8 -dspring.datasource.usernam
Después de comenzar, abra http: // localhost: 8080 y puede ver que tanto apollo-configservice como apolo-adminservice se han iniciado y registrado con eureka.
Iniciar Apolo-Portal
Configuración de la clase principal
com.ctrip.framework.apollo.portal.portalApplication -dapollo_profile = github, auth -ddev_meta = http: // localhost: 8080/-dserver.port = 8070 -dspring.dataSource.url = jdbc: mysql: // localhost: 3306/apolloportodb? -DDSPRING.DATASOURCE.USERNAME = ROOT -DSPRING.DATASOURCE.PASSWORD =
Si el perfil de Auth está habilitado, el nombre de usuario predeterminado es Apollo y la contraseña es administradora
Aplicado en Sit, UAT, Máquinas de entorno de producción
1. Agregue un directorio/opt/data/directorio, y tiene permisos de lectura y escritura;
2. Se agregó un nuevo archivo: /opt/settings/server.properties y se agregó configuración:
env = devsit: env = fatuat: env = UAT Production: Env = Pro
Ejemplo del cliente
@Component Establezca el nombre del componente @RefreshScope Especifica que los cambios de configuración se pueden actualizar @ConfigurationProperties (prefix = "redis.cache") @componente ("sampleredisconfig") @refreshScopePePePePublic classerDisconfig {Logger final estático privado = logGerFactory.getLogger (SAMPLEPLEDISCONFIGSEDISCONFIG.CLECLEDCLECLECLEDCLECLECLETS; private int expireseConds; Cortes de cadena privada CLUSTERNTERNTERNODES; Private int commandtimeout; mapa privado <string, string> somEmap = maps.newlinkedhashmap (); Lista privada <String> somelist = lists.newlinkedList (); @PostConstruct private void inicialize () {logger.info ("sampleredisconfig inicializado - expirateSeconds: {}, clusternodes: {}, commandtimeout: {}, somEmap: {}, somelist: {}", expiriregunds, clusternodes, commandtimeout, somEmap, somelist); } public void setExpeSeconds (int expirateeConds) {this.exireSeconds = expirajeeConds; } public void setClusternodes (String ClusTternodes) {this.ClUsTERNTERNODES = clusTternodes; } public void setCommandTimeOut (int commandTimeOut) {this.commandtimeout = commandTimeOut; } mapa público <string, string> getSomEmap () {return somEmap; } Lista pública <String> getSomElist () {return somelist; } @Override public string toString () {return String.Format ("[Sampleredisconfig] expireseConds: %d, clusternos: %s, commandtimeout: %d, somEmap: %s, somelist: %s", expireseconds, clusternodes, commandtimeout, somemap, somelist); }}Configuración de monitoreo
@ComponentPublic Class SpringBootapollorefreshConfig {private static final logger logger = loggerFactory.getLogger (springBoTapolloreFreshConfig.class); @AUTOWIRED APOLLOREFRESHCONFIG APOLLOREFRESHCONFIG; @Autowired Private SampleRedisconfig Sampleredisconfig; @AUtoWired private refreshscope refreshscope; @ApolloConFigChangeListener public void onChange (configChangeEvent ChangeEvent) {logger.info ("antes de actualizar {}", sampleredisconfig.ToString ()); Refreshscope.Refresh ("SampleRedisconfig"); logger.info ("After Refresh {}", sampleredisconfig.ToString ()); }}Resumir
Lo anterior es el proceso de construcción del entorno de desarrollo local Spring Cloud Apollo Apollo Introducido. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!