Open Source Configuration Center - Apollo
Apollo ist eine Konfigurationsmanagementplattform, die von der Rahmenabteilung von Ctrip entwickelt wurde. Es kann die Konfigurationen verschiedener Umgebungen und Cluster von Anwendungen zentral verwalten. Nach der Konfigurationsänderung kann es in Echtzeit auf die Anwendungsseite gedrängt werden und verfügt über standardisierte Berechtigungen, Prozessregierung und andere Merkmale. Der Server wird basierend auf Spring Boot und Spring Cloud entwickelt. Es kann direkt nach der Verpackung ausgeführt werden, und es müssen keine zusätzlichen Anwendungsbehälter wie Tomcat installiert werden.
Überprüfen Sie den Code
Apollo Github
Sie können IDEE verwenden, um es lokal zu öffnen
Datenbankskripte
Führen Sie das folgende Skript aus, um Apolloconifgdb, Apolloportaldb, zu erstellen
Start ConfigService AdminService
Hauptklassenkonfiguration
com.ctrip.framework.apollo.assembly.apolloapplication
VM Meinungen
-Dapollo_profile=github -Dspring.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 -Dspring.datasource.username=root -Dspring.datasource.password=Program arguments-configservice --adminservice
Nach dem Start eröffnen Sie http: // localhost: 8080 und Sie können sehen, dass sowohl Apollo-Configservice als auch Apollo-Adminservice gestartet und bei Eureka registriert wurden.
Starten Sie Apollo-Portal
Hauptklassenkonfiguration
com.ctrip.framework.apollo.portal.portalApplication -dapollo_profile = github, auth -ddev_meta = http: // localhost: 8080/-dserver.port = 8070 -dspring.datasource -Dspring.datasource.username = root -dspring.datasource.password =
Wenn das Auth -Profil aktiviert ist, ist der Standardbenutzername Apollo und das Kennwort admin Administrator
Angewendet auf SIT, UAT, Produktionsumfeldmaschinen
1. Fügen Sie ein Verzeichnis/Opt/Daten/Verzeichnis hinzu und haben Berechtigungen gelesen und schreiben.
2. Neue Datei hinzugefügt: /opt/setings/server.properties und Konfiguration hinzugefügt:
env = devsit: env = fatuat: env = uat produktion: env = pro
Client -Beispiel
@Component Set -Komponentenname @ReFreshScope gibt an, dass Konfigurationsänderungen aktualisiert werden können. private int expireseconds; private String -CluSternoden; private int commandTimeout; private map <string, string> somemap = maps.newLinkedHashMap (); private list <string> somelist = lists.NewLinkedList (); @PostConstruct private void initialize () {logger.info ("Sampleeredisconfig initialisiert - expireSeconds: {}, cluSternodes: {}, commandentimeout: {}, somemap: {}, Somelist: {}", expireseconds, cluSterodes, somelist, somelist); } public void setExpireseconds (int expireSeconds) {this.expireseconds = expireSeconds; } public void setCluSternodes (String cluSternodes) {this.cluSternodes = cluSternodes; } public void setCommandTimeout (int commandTimeout) {this.commandTimeout = commandTimeOut; } public map <String, String> getomemap () {return somemap; } publiclist <string> getomelist () {return somelist; } @Override public String toString () {return string.format ("[Sampleeredisconfig] expireSeconds: %d, cluSternodes: %s, commandTimeout: %d, somemap: %s, somelist: %s", Ablauf, CUSSTERNODES, CommandTimeout, Somelist, Somelist, Somelist); }}Überwachung einrichten
@ComponentPublic Class SpringbootapolloreFreshConfig {private static Final Logger logger = loggerfactory.getLogger (SpringBootapolloreFreshConfig.class); @Autowired private ApolloreFreshConfig ApolloreFreshConfig; @Autowired Private SampledisSconfig SampleReredisconfig; @Autowired Private Refreshscope Refreshscope; @APOlloconfigChangelistener public void onChange (configChangeEvent änderung) {logger.info ("vor dem Aktualisieren {}", sampleeredisconfig.toString ()); RefreshScope.refresh ("Sampleeredisconfig"); logger.info ("nach aktualisiert {}", sampleeredisconfig.toString ()); }}Zusammenfassen
Das oben genannte ist der für Sie vorgestellte Konstruktionsprozess für die Spring Cloud Apollo Apollo. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!