Apa itu
Eureka? Eureka merupakan Netflix Service registration and Discovery Server and Client.
Salah
satu contoh fungsi dari Eureka pada Service registration and Discovery adalah
untuk memudahkan pengalamatan suatu service/microservice (atau lebih dikenal dengan individual Microservices addresses). Untuk Eureka sendiri akan terbagi kedalam dua bagian, yaitu Eureka server dan Eureka client.
Eureka
server akan berfungsi untuk mememelihara (maintain) registry dari semua service/microservice
yang telah di deploy/remove. Sedangkan Eureka client (service/microservices)
dapat mendaftarkan (register) diri sendiri ke eureka server dan juga dapat men-discover service/microservices lain yang
terdaftar pada eureka server. Ketika sebuah service/microservice mendaftarkan diri ke eureka server dengan melakukan beberapa konfigurasi pada satu file (application.yml) dan menambahkan sebuah anotasi "@EnableEurekaClient" pada main class maka maka si service/microservice akan
memberikan /menyediakan metadata seperti host, port, dan health indicator sehingga bisa di execute/ discover oleh service/microservice
lain.
Baiklah kita langsung saja masuk ke tutorial :
1. Scenario :
- Terdapat eureka server yang akan menyediakan/memberikan service registry dan service discovery.
- Terdapat service karyawan yang berisi beberapa data terkait karyawan dan pastinya akan menjadi client service eureka, dimana service ini akan melakukan registry dirisendiri ke eureka service registry server.
- Terdapat service perusahaan yang hamper sama dengan service karyawan, namun disini kita akan meng-invoke service karyawan dan proses interaksi dengan service karyawan tidak lagi menggunakan absolute URl.
2. Create
Eureka Server
- Untuk memudahkan pembuatan spring boot project kita bisa membuka link https://start.spring.io/ dan membuat project secara online. Lalu bisa kita generate projectnya dengan penambahan beberapa dependencies yaitu eurekaserver dan actuator, kemudian unzip project, selanjutnya tinggal kita buka/import di IDE kita. Isi beberapa kolom menyesuaikan dengan gambar di bawah ini :
- Buka eureka server application yang baru saja kita import, kemudian pada main class yang sudah ter-create tambahkan anotasi @EnableEurekaServer. Seperti gambar di bawah ini :
- Kita
akan melakukan beberapa konfigurasi untuk eureka server. Tambahkan sebuah file application.yml
pada folder Resources dan copy paste sources dibawah ini :
- Dan
satu file bootstrap.yml pada Folder Resources juga, kemudian copy paste source
dibawah ini :
- Run Application anda dan pada Web browser anda buka host http://localhost:9000. Maka akan muncul tampilan seperti gambar di bawah ini :
- Kita dapat melihat bahwa pada table Application kita belum memiliki service yang terdaftar karena kita memang memiliki eureka client service/microservice.
3. Membuat
service karyawan
- Buka kembali link https://start.spring.io/ dan membuat project secara online. Lalu bisa kita generate projectnya dengan penambahan beberapa dependencies dependencies yaitu Eureka Discovery, Web, Rest Repository dan actuator, kemudian unzip project, selanjutnya tinggal kita buka/import di IDE kita. Isi beberapa kolom menyesuaikan dengan gambar di bawah ini :
- Buka eureka server application yang baru saja kita import, kemudian pada main class yang sudah ter-create tambahkan anotasi @EnableEurekaClient. Seperti gambar di bawah ini :
- Kita
akan melakukan beberapa konfigurasi untuk eureka client service karywan.
Tambahkan sebuah file application.yml pada folder Resources dan copy paste
sources dibawah ini :
- Tambahkan
sebuah file controller untuk REST data pada Folder yang sama dengan main class,
copy paste source berikut :
- Tambahakan
sebuah file POJO untuk file Controller diatas, copy paste source berikut :
- Run kembali eureka server dan karyawan service anda, perhatikan pada gambar perubahan yang terjadi. Pada Application table sudah ada satu service/microservice yang ter-registry.
- Dan kemudian klik link application yang sudah terdaftar dan kemudian ubah urlnya sesuai url yang terdaftar di Rest Controller anda. Berikut adalah hasil run microservice :
4. Membuat
service perusahaan
- Buka kembali link https://start.spring.io/ dan membuat project secara online. Lalu bisa kita generate projectnya dengan penambahan beberapa dependencies dependencies yaitu Eureka Discovery, Web, Rest Repository dan actuator, kemudian unzip project, selanjutnya tinggal kita buka/import di IDE kita. Isi beberapa kolom menyesuaikan dengan gambar di bawah ini :
- Buka eureka server application yang baru saja kita import, kemudian pada main class yang sudah ter-create tambahkan anotasi @EnableEurekaClient. Seperti gambar di bawah ini :
- Kita
akan melakukan beberapa konfigurasi untuk eureka client service karywan.
Tambahkan sebuah file application.yml pada folder Resources dan copy paste
sources dibawah ini :
- Tambahkan
sebuah file controller untuk REST data pada Folder yang sama dengan main class,
copy paste source berikut :
- Run kembali eureka server karyawan service dan perusahaan service anda, perhatikan pada gambar perubahan yang terjadi pada dashboard eureka server. Pada Application table sudah ada dua service/microservice yang ter-registry
- Jalankan masing-masing service dan lihat hasilnya.
Perusahaan Service Karyawan service
References :
- https://dzone.com/articles/microservice-spring-cloud-eureka-server-configurat
- https://dzone.com/articles/the-netflix-stack-using-spring-boot-part-1-eureka
- https://dzone.com/articles/microservices-communication-eureka-client
- https://bushkarl.gitbooks.io/spring-cloud/content/spring_cloud_netflix/service_discovery_eureka_clients.html
- https://howtodoinjava.com/spring/spring-cloud/spring-cloud-service-discovery-netflix-eureka/
No comments:
Post a Comment