Microservices - Ders 2 - System Design
HTML-код
- Опубликовано: 2 фев 2024
- Herkese selam :)
Bu dersimizde mikroservis projemizin mimari / system design ını yaptık. Ve daha sonra Java, Kotlin, ve Golang dillerindeki 5 servisimizi initialize ettik.
Github linklerini de aşağıya ekliyorum 👇
Yorumlarınızı bekliyorum. İyi seyirler 😊
GITHUB
Authentication Service
github.com/rdilruba/auth-service
Customer Service
github.com/rdilruba/customer-...
Order Service
github.com/rdilruba/order-ser...
Product Service
github.com/rdilruba/product-s...
Notification Service
github.com/rdilruba/notificat...
BANA ULAŞIN
Instagram
/ ydilrubakose
Twitter
/ ytbdilruba
Selamlar haftada 1 yerine daha sık olmasını tercih ederiz. Hem biz kopmamış oluruz hem birlikte ilerleme fırsatımız olur. Haftada 1 olucak şekilde 20 dklık videolarla 1 seneyi bulur. Heyecanla yeni bölümleri bekliyorum.
Selamlar Dilruba, güzel bir system design olmuş, microservice 101 için basit ve anlaşılır olacaktır, belki biraz daha ileri seviye konulara girmek istersen bazı önerilerim olucak, eminim sade anlatımınla bu konuları da çok güzel anlatıcaksındır, senden şunları dinlemek isteriz;
- async communication yapacağın durumlarda transactional outbox consistency'nın kritik olduğu durumlarda kesinlikle olması gereken bir şey, async communication olan kısımlara bunu uygulayabilirsin. cryptography/orchectration based saga ayrı ayrı senaryolarda göstermen süper olur.
- Redis kullanmışken redis ile distributed locking yapabilirsin, mikroservislerde yine race condition önüne geçmek için distributed locking hayati önem kazanıyor. Bunu Redis gibi modern ve performansı yüksek bir teknolojiyle yaparsan daha güzel olur.
- Product servisine çok fazla istek geliceğini söyledin ve bunun için cache mekanizması koymuşsun süper ama çok daha performanslı hale getirmek için CQRS kullansak nasıl olur ?
- mikroservis projelerinde çok fazla servis olduğu zaman yeni bir geliştirme yapıldığında neleri bozduğunu anlamak çok zor olabiliyor o yüzden integration ve contract testler hayati öneme sahip, test kısmına ayrıca eğilirsen süper olur hatta integration testlerde internal servislerin iletişim halinde olduğu case'lerde kendi internal bir servisini integration test çalışmadan önce otomatik container olarak ayağa kaldıran bir yapı yaparsan herkesin ilgisini çekicektir.
- notification servis içinde bir sms servisi kullansan ve bu servise erişemediği durumlarda circuit breaker devreye girse güzel olur
- Belki biraz mikroservis pattern konusu değil ama ddd odaklı geliştirmeye girsen mikroservislerde hexagonal architecture kullansan, domain objectler anemic olmasa, aggregate objelerin olsa ve use case'ler aggregate'ler üzerinden sub domain objelere doğru gitse
mukemmel anlatim devamini dort gozle bekliyorum
kanalini yeni kesfettim gercekten cok yararli bilgiler veriyorsun. Devamini bekliyoruz :)
Merhaba Dilruba hanim gercekten cok anlasilir anlatiyorsunuz ayrica teknik bilginize de hayran kaldim lutfen aynen devam edin.
Devamını sabırsızlıkla bekliyoruz
Sade ve güzel bir anlatım olmuş. Devamını bekliyoruz :)
çok teşekkür ederim. Anlatım şekliniz çok güzel ve anlaşılır. Sadece servislerden birini nodejs ile yaparsınız diye bekledim ama olmadı)))
Elinize sağlık, özellikle Go kullandığınızı gördüğüm anda like attım
Teşekkürler, çok faydalı bilgiler.
muhteşemin de fevkinde bir video
Yine çok faydalı, thanks dkose
Gerçekten öğretici videolarınız var. Teşekkür ederim. Bölümler haftada bir mi gelecek? Keşke günlük olsa :)
Çok iyi video 👍👍
Teşekkür ederiz🎉
cok tessekur ederim emeginize saglik
Teşekkürler hocam😊
Çok çook teşekkürler.
Çok faydalı 👋
Farklılık olması açısından belki authorization kısmında Keycloak kullanılabilirsin.
Teşekkürler 🤩
Teşekkürler ❤
Emeğine sağlık
devamı gelsin seri gelsin lütfen 🥲
Devamını heyecanla bekliyorum. Ne sıklıkla gelecek acaba videolar
Haftada bir şekilde planladım
harikasın
beğendim
Selam, tasarıma ürün arama için elasticsearch’de eklenebilirdi, sektörde çok kullanılıyor. Eline sağlık
Herkese sonsuz uretkenlik dilerim
Order,Customer ve Product arasında foreign ilişkileri olacak mı? Açıkçası ben dağıtık veritabanı sisteminde bunların nasıl el alındığı ve transaction yönetimini merak ediyorum. Sonuçta farklı threadlerde olacaklar transactionlar nasıl gerçekleşecek.
merhaba dilruba abla, bilgisayar mühendisliği öğrencisiyim videolarını severek izliyorum ancak hala kafamda oturamayan bir olay var şimdi biz javayı falan öğreniyoruz microserviceyi öğreniyoruz bunları nerede nasıl birleştirip kullanıyoruz ne yapıyoruz iş yerinde bunlardan bahsettiğin bir video yapar mısın?
vay be
Selamlar Dilruba, Authentication Service yazmak yerine Keycloak kullanabiliriz.
Merhabalar Spring Security yerine Keycloak kullanmak daha kullanışlı olmaz mı ?
Cihazlar arası senkron olabilen bir sepet oluşturmak isteseydik, bu özelik sistem tasarımında hangi başlık altına girerdi?
ya bu katmandır apidir design patternlerdir tek başıma çalıştığım için benim çok beynimi yakıyor belli ifadeleri belli yerlerde yazmak yok şu değişken şu classta değer almalı bu değeri şu classta kullanmalıyız bunun sorguları filtrelemeleri şu classta olmalı burda yapmamalıyız gibi şeyler neyi nerde yapmam gerektiğini düşünürken yapacağım şey ortadan puf oluyor bu tür şeylerin yapılmasının avantajı yada faydası ne veya bir projede model üzerinden veritabanı verilerini işlemek ile aynı projeyi api yazarak api üzerinden işlemenin güvenlik gibi açılardan farklılıkları oluyor mu hangisini uygulamak daha uygun olur gibi sorulara cevap bulamıyorum tek başıma
peki role eklense onları da mı auth service te tutardık
elinize sağlık hocam .Takıldığım nokta products cache lenirse,quantity her siparişte değişeceği icin sıkıntı olmaz mı?
Dediğim gibi quantitiy tutmayacağız simplicity açısından. Projede Cache kullanımına örnek olması için böyle tercih ettim. Normalde tabi evet eğer sık değişen data varsa cache sıkıntı olabilir
@@dilrubakose teşekkür ederim hocam. javascript öğreniyorum ama ilk defa microservis sizinle öğreneceğim.
cachelerin eklemenizin sebebi product labellerin sık degismemesinden ötürü sayfa hizini artirmak ve performansı artırmak icinmi peki cache yerine ayni senaryolarda redis veya cdn eklesek olurmu .???
Evet sebebi product için bu projede sık değişmeyen özelliklerini tutacağız. Eğer stock vs tutacak olsaydık kullanmazdık. Cache olarak zaten redis kullanacağız. Cdn ise bu scope taki bir proje için gerekli değil
dark theme please !!!
YENİ VİDEO NERDE HOCAAAAAAAAAAAA....................... DEVAMI NERDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
ay yeter arkadaslar arkadaslar arkadaslar ne cok diyon arkadaslar
HOCAM YENİ VİDEO NERDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
deneme
vs code veya inteliji neden kullanmıyoruz
Vscode kullanıyorum normalde ama Java için intellij kullanmaya 6. Derste başladım yoğun istek üzerine 🙂
go ile gosterirmisin
Bir sonraki ders geldi go ile
HOCAAAAAAAAAAAAAAAAAAAAMMMMMMMMMMM YENİ VİDEO NERDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Bu hafta biraz yoğundu geliyor