Membuat Config Service yang berisi konfigurasi 1 service
- Buat project dengan spring initializr.
- Menambahkan dependency
spring-cloud-config-server
. - Menambah anotasi
@EnableConfigServer
pada main class. - Konfigurasi config service (resource/application.properties)
|
|
- Membuat File Konfigurasi
Selanjutnya kita akan membuat beberapa file konfigurasi. Semisal kita akan membuat konfigurasi database dan konfigurasi messaging. Di setiap konfigurasi tersebut kita juga dapat menambahkan profile, semisal untuk database kita dapat membuat untuk profile development dan profile qa. File file konfigurasi nantinya tersebut akan disimpan dalam di folderresource/config
.
Contoh Konfigurasi Database (resource/config/db.properties)
Contoh Konfigurasi Database Dev (resource/config/db-dev.properties)
Contoh Konfigurasi Database QA (resource/config/db-qa.properties)
Contoh Konfigurasi Messaging (resource/config/mq.properties)
Kemudian coba jalankan config service.
Spring Cloud Config menyediakan API untuk konfigurasi yang disimpan olehnya. Untuk mengaksesnya dapat menggunakan endpoint berikut :
Keterangan :
- name berarti nama dari servicenya.
- profile berarti profile dari servicenya. Biasanya setiap service memiliki beberapa profile seperti dev, staging, deploy.
- label berati label tambahan
Contoh enpoint yang dapat di akses :
Membuat Config Service yang berisi lebih dari konfigurasi 1 service
Setelah kita membuat config service dengan 1 konfigurasi service, kita akan coba menambahkan beberapa konfigurasi aplikasi pada config service kita. Karena pada dasarnya config service ini yang akan menghandle file file konfigurasi dari bebagai microservice.
- Buat File konfigurasi
Contoh Konfigurasi aplikasi 1 Default(resource/app1/myapp.properties)12foo=barbar=bam
Contoh Konfigurasi aplikasi 1 untuk Developer Stage(resource/app1/myapp-dev.properties)
Contoh Konfigurasi aplikasi 2 Default (resource/app2/myapp.properties)
- Tambahkan konfigurasi untuk multiple aplikasi menggunakan
spring.cloud.config.server.native.search-locations:
Berikut adalah contohnya :
Nama folder konfigurasi ditulis setelah classpath:/ . Dalam konteks ini classpath berada di direktori src/main/resource.
Untuk dapat melihat hasilnya anda dapat mengakses beberapa url berikut :
Override value konfigurasi
Kita dapat mengoverride konfgurasi yang identik, semisal untuk file resource/app1/myapp.properties
dan resource/app2/myapp.properties
. Kedua file konfigurasi tersebut sama-sama memiliki parameter bernama foo
. Apabila anda ingin mengoverride value dari foo tersebut, dapat dilakukan dengan beberapa langkah berikut.
- Tambahkan konfigurasi untuk override konfigurasi1spring.cloud.config.server.overrides.<nama-parameter>=<value>
Pada script diatas ada 2 nilai yang harus diisi yaitu nama-parameter yang akan di override dan value dari parameter tersebut
Untuk dapat melihat hasilnya anda dapat mengakses beberapa url berikut :