Posts

Showing posts with the label Microservices

Microservices Security Example #3 - Zuul Proxy Server haqqında danışırıq

Image
 Zuul Proxy Server Zuul Serveri bir qala qapısı kimi düşünə bilərik. Məsələn qalaya daxil olmaq istəyən şəxsləri yalnız vahid bir qapıdan qəbul etmək üçün və ya tanımadığınız şəxsləri qalaya buraxmamaq üçün istifadə edilə bilər.  Bunu Zuul Server-ə texniki olaraq nümunə gətirsək, məsələn user-service və auth-service lər var. Zuul vasitəsilə bu service-lərə girişi yalnız vahid bir yerdən edə bilərik. Burada Zuul Serverin işi Routing olacaq. Zuul Serverə öz servisimizi tanıtdıqdan sonra, artıq gələn sorğuya uyğun olaraq uyğun service çağrılacaq və sorğuya uyğun iş görüləcək. Zuul Serverin Routing prosesi üçün Ribbon istifadə olunur. Ribbon, Eureka Server də qeydiyyatdan keçən service-ləri özündə saxlayaraq, uyğun yönləndirmələr edə bilir. Application da istifadə olunan versiyalar: 1. spring-boot-starter-parent (2.3.8.RELEASE) 2. spring-cloud.version (Hoxton.SR9)

Microservices Security Example #2 - Servisin Eureka Serverdə qeydiyyatı

Image
 Dummy Service Eureka Server də qeydiyyatdan keçirmək üçün sadə bir service yaradırıq, sadəcə praktika məqsədli olaraq. Daha sonradan real service-lərə tətbiq olunacaq. Application-ı yaradıb uyğun dependency-ləri əlavə etdikdən sonra edəcəyimiz ilk iş Main class-ın üzərinə @EnableEurekaClient əlavə edirik. Discovery Server də Service i qeydiyyata salmaq üçün EnableEurekaClient və EnableDiscoveryClient annotationları var. Aralarındakı fərqi sadə olaraq, belə göstərirlər. Əgər Discovery Server Eureka-dırsa, @EnableEurekaClient istifadə olunması məsləhət görülür. Digər hallarda @EnableDiscoveryClient istfadə etmək lazımdır. Daha sonra application.yml faylını açırıq. Burada bəzi configuration-lar etmək qeyd etmək lazımdır.  Burada ilk parameterdə application-ın adı, növbətidə hansı port da işləyəcəyi qeyd olunur. Digər parameterlər artıq Eureka Server də bir client application kimi qeydiyyatdan keçmək üçün lazımdır. prefer-ip-address parameterinə true dəyəri verməklə, Eurekanın bi...

Microservices Security Example #1 - Eureka Discovery Server haqqında danışırıq

Image
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. Ətraflı    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) Bu versiyaların istifadə məqsədi bundan ibarətdir ki, spring-boot 2.4.X versiyalarda spring-cloud yeni versiyanı işlətmək lazımdır (2020.0.0). Spring Cloud bu versiyada Zuul, Ribbon dəstəkləmir. Gateway kimi Spring Cloud Gateway istifadə etməyi məsləhət görülür. Sadəcə bu arxitekturada Zuul istifadə etdiyimə...

Microservice-ler nedir ? Avantaj ve dezavantajlar

Mikroservisleri tercih etmek uchun 4 esas sebeb var : Scalability Bu ozellik monolit application da da mumkundur. Horizontal ve Vertical Scalability: - Horizontal, Serverimiz tutaq ki , 4gb ram da ishleyir. Hal hazir ki veziyyete gore uygun olsada musteri sayi artandan sonra serverin ramini artira bilerik. Lakin bunun bir limiti vardir. (diger paratmetrlerde daxilidr, cpu, harddrive). Yeni horizontal - sistemi guclendirmek basha dushulur. Burada limit oldugundan , sonradan yeni sistem alinmalidir, lakin server yalniz bir komputer olmalidir. - Vertical, burada yaradilan servisin kopyasini yaratmaq basha dushulur. Esasen mikroservis arxitekturasinda istifade olunur. Meselen Account Service 1000 sorgu emal ede bilirse, bu servisin kopyasi da 1000 sorgu emal edecek. Bu mikroservis oluduguna gore ishletdiyi ram daha az olacaqdir (ve ya diger parametrler) Burada servislerin kopyasini avtomatik yaradilmasini temin eden sistemler var ki, bunlara misal olaraq Kubernetes, Rancher ve ya cust...