Microservices Security Example #1 - Eureka Discovery Server haqqında danışırıq
Eureka Discovery Server
Eureka Server nədir və nə üçün istifadə olunur suallarının cavabını internetdə axtarıb daha geniş məlumat tapmaq olar. Bu yazıda yalnız praktikasına fokuslanacağıq. Qısa məlumat olaraq,
Spring Cloud Netflix Eureka, servislerin makina adı ve bağlantı noktasına ihtiyaç olmaksızın birbirleriyle iletişim kurmasını sağlar. Bu mimarideki tek önemli nokta, her servisin kayıt olması gereken bir servis olmasıdır.
Eureka Server yaratmaq standart prosedurdur. http://start.spring.io/ keçid edərək yarada bilərik.
Bu application-da istifadə olunan versiyalar:
1. spring-boot-starter-parent (2.3.8.RELEASE)
2. spring-cloud.version (Hoxton.SR9)İlk baxacağımız yer Main class-dır. Burada sadəcə EnableEurekaServer annotation yazmağımız kifayətdir. Artıq Application Eureka Server kimi run olunacaq.
http://localhost:8761/
daxil olduqda, Eureka Server haqqında olan məlumatları görmək olar
Eureka Server-də olan application.yml (rahat olsun deyə .yml istifadə edirəm. Bu .properties faylı da ola bilər) haqqında danışaq:
Burada Eureka Serverin hansı portda run olmasını qeyd eləmişik. Bundan əlavə bəzi configuration-lar aparılıb. Bu configuration-lar haqqında danışmazdan qabaq, bəzi məqamlara nəzər yetirək.
Ümümiyyətlə hər hansısa service in kəşfedilə bilən (discoverable) olması üçün Eureka Server də qeydiyyatdan keçməlidir. Eureka Server də özü də bir service-dir.
Bunları nəzərdə saxlayaraq, qaldığımız yerə baxsaq,
register-with-eureka parameteri false olduğunu görərik. Niyə false olmasını hələllik kənara qoyaq. Bu parametr Eureka Server e client olan servicelər üçündür. Yəni, düşünək bir auth-service var. İstəyirik ki, bu service Eureka Server-də register olsun (Ətraflı). Bunun üçün həmin service də bu parameteri true dəyərini verməliyik. Belə bir hal da var ki, qeyd eləməsək belə bu parameterin dəyəri default olaraq true qalır.
İndi qayıdaq niyə bu parameterə Eureka Server in özündə false dəyəri veririk. Əslində səbəbi anlaşılandır, Eureka Server özü özünə client ola bilər. Özünə client ola bilər deyərkən, özünü özündə register edə bilər. Bunun qarşısını almaq üçün register-with-eureka parameterinə false dəyəri veririk.
Bu parameterə true verib test edə bilərik.
Bunun üçün ilk öncə yeni parameter əlavə edirik (spring.application.name) və register-with-eureka parameterin dəyərini true edirik.
Application-u run etdikdən sonra http://localhost:8761/ daxil oluruq,
və bu hissədə görürük ki, Eureka Server özünü də qeydiyyatdan keçirib. Buna görə sözü gedən parameterə false dəyərini verməliyik.
Comments
Post a Comment