ศูนย์การกำหนดค่าโอเพนซอร์ส - อพอลโล
Apollo เป็นแพลตฟอร์มการจัดการการกำหนดค่าที่พัฒนาโดยแผนกเฟรมเวิร์กของ CTRIP มันสามารถจัดการการกำหนดค่าของสภาพแวดล้อมที่แตกต่างกันและกลุ่มของแอปพลิเคชันที่แตกต่างกัน หลังจากการปรับเปลี่ยนการกำหนดค่าสามารถส่งไปยังด้านแอปพลิเคชันแบบเรียลไทม์และมีการอนุญาตมาตรฐานการกำกับดูแลกระบวนการและลักษณะอื่น ๆ เซิร์ฟเวอร์ได้รับการพัฒนาตามสปริงบูตและสปริงคลาวด์ มันสามารถทำงานได้โดยตรงหลังจากบรรจุภัณฑ์และไม่จำเป็นต้องติดตั้งคอนเทนเนอร์แอปพลิเคชันเพิ่มเติมเช่น Tomcat
ตรวจสอบรหัส
Apollo Github
คุณสามารถใช้ไอเดียเพื่อเปิดในพื้นที่
สคริปต์ฐานข้อมูล
เรียกใช้สคริปต์ต่อไปนี้เพื่อสร้าง Apolloconifgdb, Apolloportaldb
เริ่ม configservice AdminService
การกำหนดค่าคลาสหลัก
com.ctrip.framework.apollo.assembly.apolloapplication
ความคิดเห็น VM
-dapollo_profile = gitHub -dspring.datasource.url = jdbc: mysql: // localhost: 3306/apolloconfigdb?
หลังจากเริ่มต้นเปิด http: // localhost: 8080 และคุณจะเห็นว่าทั้ง Apollo-Configservice และ Apollo-Adminservice ได้เริ่มต้นและลงทะเบียนกับ Eureka
เริ่ม Apollo-Portal
การกำหนดค่าคลาสหลัก
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/ApollOportaldB? ตัวละคร = UTF8 -DSPRING.DATASOURCE.USERNAME = ROOT -DSPRING.DATASOURCE.PASSWORD =
หากเปิดใช้งานโปรไฟล์การรับรองความถูกต้องชื่อผู้ใช้เริ่มต้นคือ Apollo และรหัสผ่านคือผู้ดูแลระบบ
นำไปใช้กับ SIT, UAT, เครื่องสภาพแวดล้อมการผลิต
1. เพิ่มไดเรกทอรี/opt/data/ไดเรกทอรีและได้อ่านและเขียนสิทธิ์;
2. เพิ่มไฟล์ใหม่: /opt/settings/server.properties และเพิ่มการกำหนดค่า:
env = devsit: env = fatuat: env = uat การผลิต: env = pro
ตัวอย่างไคลเอนต์
@Component SET ชื่อชื่อ @ReFreshScope ระบุว่าการเปลี่ยนแปลงการกำหนดค่าสามารถรีเฟรช @ConfigurationProperties (คำนำหน้า = "redis.cache") @Component ("Sampleeredisconfig") @RefreshScopepublic Class SamplerEconfig Int Int Expireseconds; clusternodes สตริงส่วนตัว; private int commandtimeout; แผนที่ส่วนตัว <สตริงสตริง> somemap = maps.newlinkedhashmap (); รายการส่วนตัว <String> somelist = lists.newlinkedList (); @PostConstruct โมฆะส่วนตัวเริ่มต้น () {logger.info ("Sampleredisconfig Initialized - Expireseconds: {}, Clusternodes: {}, CommandtimeOut: {}, somemap: {}, somelist: {}" } โมฆะสาธารณะ setExpireseconds (int expireseconds) {this.expireseconds = expireseconds; } โมฆะสาธารณะ setClusternodes (String Clusternodes) {this.clusternodes = Clusternodes; } โมฆะสาธารณะ setCommandTimeOut (int CommandtimeOut) {this.CommandTimeOut = commandtimeOut; } แผนที่สาธารณะ <สตริงสตริง> getSomeMap () {return somemap; } รายการสาธารณะ <String> getSomelist () {return somelist; } @Override สตริงสาธารณะ toString () {return string.format ("[sampleredisconfig] expireseconds: %d, clusternodes: %s, commandtimeout: %d, somemap: %s, somelist: %s", expireseconds, clusternodes -ตั้งค่าการตรวจสอบ
@ComponentPublic Class SpringbootapolloreFreshConfig {ส่วนตัวคงที่ logger สุดท้าย logger = loggerFactory.getLogger (SpringbootapolloreFreshConfig.class); @autowired ส่วนตัว ApolloreFreshconfig Apollorefreshconfig; @autowired Sampleredisconfig Sampleredisconfig; @autowired Refreshscope Refreshscope; @apolloconfigchangelistener โมฆะสาธารณะ onchange (configchangeEvent changeEvent) {logger.info ("ก่อนรีเฟรช {}", sampleredisconfig.toString ()); RefreshScope.Refresh ("Sampleredisconfig"); logger.info ("หลังจากรีเฟรช {}", sampleredisconfig.toString ()); -สรุป
ข้างต้นคือสปริงคลาวด์ Apollo Apollo สภาพแวดล้อมการพัฒนาสภาพแวดล้อมในท้องถิ่นที่แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!