오픈 소스 구성 센터 -Apollo
Apollo는 CTRIP의 프레임 워크 부서에서 개발 한 구성 관리 플랫폼입니다. 다양한 환경과 응용 프로그램 클러스터의 구성을 중앙에서 관리 할 수 있습니다. 구성 수정 후 실시간으로 애플리케이션 측면으로 푸시 할 수 있으며 표준화 된 권한, 프로세스 거버넌스 및 기타 특성을 갖습니다. 서버는 스프링 부팅 및 스프링 클라우드를 기반으로 개발되었습니다. 포장 후 직접 실행할 수 있으며 Tomcat과 같은 추가 응용 프로그램 컨테이너를 설치할 필요가 없습니다.
코드를 확인하십시오
아폴로 기 튜브
아이디어를 사용하여 로컬로 열 수 있습니다
데이터베이스 스크립트
다음 스크립트를 실행하여 apolloconifgdb, apolloportaldb를 만듭니다
configservice adminservice를 시작하십시오
메인 클래스 구성
com.ctrip.framework.apollo.assembly.apolloapplication
VM 의견
-dapollo_profile = github -dspring.datasource.url = jdbc : mysql : // localhost : 3306/apolloconfigdb? aircationencoding = utf8 -dspring.datasource.username = root -dspring.datasource.prassword = progrums -confignservice -adervice
시작한 후 http : // localhost : 8080을 열면 아폴로-콘피드 서비스와 아폴로 adminservice가 모두 유레카에 시작되어 등록되었음을 알 수 있습니다.
Apollo-Portal을 시작하십시오
메인 클래스 구성
com.ctrip.framework.apollo.portal.portalApplication -dapollo_profile = github, auth -ddev_meta = http : // localhost : 8080/-dserver.port = 8070 -dspring.datasource.url = jdbc : // localhost : 3306/apolloportodon -dspring.datasource.username = root -dspring.datasource.password =
Auth 프로필이 활성화 된 경우 기본 사용자 이름은 Apollo이고 암호는 admin입니다.
SIT, UAT, 생산 환경 기계에 적용
1. 디렉토리/opt/data/directory를 추가하고 읽기 및 쓰기 권한이 있습니다.
2. 새 파일 추가 : /opt/settings/server.properties 및 추가 구성 :
Env = devsit : env = fatuat : env = uat production : env = pro
클라이언트 예
@Component Set Component 이름 @RefreshScope 구성 변경이 새로 고침 될 수 있다고 지정합니다. @ConfigurationProperties (prefix = "redis.cache") @component ( "sampleredisconfig") @CompersCopePublic Class SamplerEdisconfig {Sampleredisconfforger.getLogs); 개인 int expireseconds; 개인 문자열 clusternodes; 개인 int Commandtimeout; 개인지도 <문자열, 문자열> somemap = maps.newLinkedHashMap (); 개인 목록 <string> somelist = lists.newLinkedList (); @PostConstruct private void initialize () {logger.info ( "sampleredisconfig 초기화 - exprieseconds : {}, clusternodes : {}, commandtimeout : {}, somemap : {}, Semelist : {}", CommandTime, CommandTime, Somemap, Somemap, Somemap); } 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> getSomemap () {return somemap; } public list <string> getSomelist () {Return Somelist; } @override public String toString () {return string.format ( "[SamplerEdisconFig] 만료 : %d, clusternodes : %s, commandtimeout : %d, somemap : %s, somelist : %s", expireseconds, clusternodes, communt -time ap, somemem ist); }}모니터링을 설정하십시오
@ComponentPublic 클래스 SpringBootapolloreFreshConfig {private static final logger = loggerfactory.getLogger (SpringBootapolloreFreshConfig.class); @autowired private apollorefreshconfig apollorefreshconfig; @autowired Private SamplerEdisconfig SamplerEdisconfig; @autowired private refreshscope refreshscope; @apolloconfigchangelistener public void onchange (configchangeevent changeevent) {logger.info ( "이전 이전 {}", sampleredisconfig.toString ()); RefreshScope.refresh ( "SamplerEdisconfig"); logger.info ( "새로 고침 {}", sampleredisconfig.toString ()); }}요약
위는 Spring Cloud Apollo Apollo 지역 개발 환경 건설 프로세스가 소개되었습니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!