B3 | EventBus Base | SellingBuddy | Microservice Project
Вставка
- Опубліковано 5 жов 2024
- Daha önce başlamış olduğumuz Microserviced projemiz için bir EventBus ve SubscriptionManager alt yapısını oluşturuyoruz. Bu videoda anlatılanlar, projenin geri kalanı için bir temel taşı n iteliğinde olacak.
#MicroService #Project #SellingBuddy
#blazor #docker #dotnet
Kanala Abone Olmayı Unutmayın!
To Subscribe: bit.ly/3kvj2vw
Github: github.com/sal...
Discord: bit.ly/33T4yzB
Üyelik ayrıcalıkları için: / @techbuddytr
UA-cam'da ender bulunan kaliteli içerik üreticisi olduğunuz için tekrardan teşekkürler. Udemy gibi ücretli platformlarda dahi bu kalitede anlatımı zor bulursunuz bence.
Teşekkür ederim. Faydalı olması dileği ile.
Değerli bilgileri paylaşmaya devam ettiğiniz için teşekkürler.
Harika video olmuş, devamını dört gözle bekliyorum.
Çok iyi bir bölümdü. Elinize sağlık.
Hocammmmmmmmmm gözünü sevdiğim aşırı iyi anlatıyorsun bulunmaz hint kumaşısın ama şu hazır kodları keşke paylaşsaydın ya da biz yazalım diye düşündüysen yarısını vs bir şey yapsaydın keşkem. Sağlık olsun diyelim napalım
O hazır kodlar daha önceki videolarda anlattığım konular arkadaşlar :) Önemli olan projeyi geliştirmek değil, yapılanların mantığını anlamak. Anladıysanız zaten o kodları kendiniz de yapabilirsiniz :)
Merhabalar, videolarınız çok iyi hep buralardayım bu aralar. sizden bir ricam var sıfırdan kursanız sistemi bence daha faydalı olucak gibi. Sıfırdan dememin sebebi siz sanırım önceden kurup bitirdiniz sistemi ve classlarda vakit harcamamak için copy paste yapıyorsunuz. Ama neyi neden eklediniz o kısımda soru işaretleri kalıyor. bence copy paste aslında biraz kopukluk yaratıyor. sadece dostane bir açıklama. siz bu sistemi baştan sıfırdan canlı yayında kursanız bence çok daha fazla izlenme olur gibi düşünüyorum.
Selamlar, çok teşekkür ederim tavsiyeniz için de ancak bahsettiğiniz gibi ilerleşyince videolar gereğinden uzun oluyor, ve dolayısıyla kimse izlemiyor o kadar uzun videoyu :)
Elimden geldiğinde class ları ve alanları açıklamaya çalışıyorum:)
Dediğiniz gibi, bir kaç kez izlemekte fayda var😅
İyi Seyirler :-P
@@TechBuddyTR üç oldu, dörtte yazacam kodları ama oldukça mantıklı her şey
Hocam değerli bilgiler veriyorsunuz ama bunlar(EventBus, metodlar vs. ) bana açıkçası çok karışık geldi. Bu konular hakkında altyapı oluşturacağım kaynak, videolar var mıdır ?
Bu video serisi ileri düzeye hitap ediyor. Eventbus ları daha net anlayabilmek için kanaldaki diğer Rabbimq videoları yardımcı olabilir
Merhaba, detaylı anlatan kaynak buldunuz mu
Tecrübelerinizi paylaştığınız için teşekkür ederim. Bir sorum var. Masstransit kullanmak yerine bu implementasyonu yapmamızın artılarından biride şu mudur: ortak bir class library projesi üzerinde integration eventleri tanımlamaktan kaçınmak mıdır? çünkü masstransit i kullanır iken eventleri temsil edecek class, interface veya record lar aynı namespace de olmaları gerekiyor. Buda bizi microservice ler arasında paylaşılan bir class library e bağımlı kılıyor. Ama videoda oluşturduğunuz bu implementasyon ile böyle bir bağımlılık ortadan kalkıyor değil mi? çünkü burada reflection yardımı ile message bus dan alınan event in concrete i oluşturuluyor. Microsoftun microservice dokümanlarında aşağıdaki gibi bahsettiği konu da bu mu olmuş oluyor?
Microsoft: What is not recommended is sharing a common integration events library across multiple microservices; doing that would be coupling those microservices with a single event definition data library.
Aslında Microsoft'un bahsettiği konu, doğrudan bir Class Library e ihtiyaç duymamak. Normal şartlarda bu modelleri bir Nuget Paketi haline getirip o şekilde kullanılabilir. Doğrudan bir bağımlılık ortadan kalkmış olur ilgili projeye. Nuget paketleri bu amaçla kullanılabilir yani. Benim de özel bir amacım yoktu aslında. Sadece böyle bir yapıyı kendimiz oluşturmak istersek ne yaparız onu göstermeye çalışıyordum.
Merhaba, biz service bus olarak sadece RabbitMQ kullanmak istesek ve RabbitMQ ile birlikte Masstransit de kullansak, sizin geliştirdiğiniz event bus yapısı ile aynı kapıya çıkar mı? Eğer çıkmazsa nedenini kısaca açıklayabilir misiniz?
Çıkar tabi ki. Bu projede MassTransit kullanmak yerine kendi EventBus kütüphanemizi yazmamızın nedeni biraz kodlama pratiği yapıyor olmaktı :) Yoksa ikisi de benzer işleri yapıyor. Hatta MassTransit çok daha yetenekli bir yardımcı kütüphane.
Merhaba hocam, emeklerinize saglik. Benim bir sorum vardı. BaseEventBus'ta neden abstractlar kullandık , interface kullanmadık ? Yine ayni dosyada neden ProcessEvent i Task yaptik ve async ile isaretledik
Abstract'lar içerisinde, ortak metodlarımızı yazabilmek için. Task kullanabildiğimiz yerlerde task kullanmak çok daha verimli. Kanalda bununla ilgili birkaç video var, onları izlemenizi tavsiye ederim.
20:16 ' da bi fokurtu sesi geliyor nedir o?
Fokurdu değildi, masanın ayağını sallanmıştı :)
teşşekürederim rabbitmq ve redis arasında çok büyük bir fark varmı tam kavrayamadım tam olarak aynı şeyi yapmıyorlarmı ?
Bu ikisi farklı amaçlar için kullanılan araçlar. Her ne kadar Redis içerisindeki Stream özelliği sebebiyle message broker olarak kullanılabiliyor olsa da RabbitMQ Message Broker ve Redis ise NoSql veritabanı olarak kullanılıyor. Redis'in en yaygın kullanım alanı ise Cache için veri saklamak.
Selamlar, seriye yeni başladım şimdiden emeğinize sağlık. Bir sorum olacak "GetHandlersForEvent(string eventName)" methodu eğer dictionary "eventName" keyine sahip değilse hata fırlatmaz mı? Başına bir HasSubscriptionsForEvent kontrolü koymak lazım gelmez mi? Bir de SubscriptionInfonun tam olarak olayı nedir? Neden direkt tip kullanmadık da onu SubscriptionInfo classı ile encapsüle ettik?
Selamlar,
Uzun zaman oldu çok hatırlamıyorum daha sonraki videolarda bu tarz bir kontrol ekleyip eklemediğimizi :)
SubscriptionInfo içerisine başka tipler de eklemiş olabiliriz ileri ki videolarda :)
Hocam GitHup hesabınızda bulamadım çalışmayı Teşekkürler
Selamlar, bu repo kanalın katıl üyelerine davetiye ile erişime açılıyor.
hocam yeni katıldım kanalınıza kodları paylaşıma açtınız mı? hem yazıp hem dinlerken anlamakta zorlanıyoruz :(
Selamlar Tamer,
Bu projenin kaynak kodları kanaldaki katıl üyelerine açılıyor bir tek. Üye olunduktan sonra bana youtube ve github kullanıcı isimleri ile istek yapılıyor
@@TechBuddyTR hocam paralıymış Katıl şimdi baktım :( öğrenci desteği varsa ok yoksa yazmaya devam :)
kodu kopyala yapıştırla devam edince aklıma cem yılmaz'ın bakın burada yapılmışı vara döndü. gözüm kanadı valla.
Kaynak kodu takip edebilirsiniz daha fazla hasarın önüne geçmek için :)
Selamlar. Bu EventBus mimarisinde saga pattern i nasıl dahil edebiliriz. Bunun için mevcut yapıyı masstransite çekmek şart mı? Öyleyse bunu nasıl uygulayabilriz.?
Masstransit olmak zorunda değil. Bir tane eventbus olsa yeterli. Saga patern'i ise bu proje bünyesinde zaten uyguladık. İleriki videolarda daha net anlaşılacaktır sanırım.
IntegrationEvent isimleri önüne neden @ koyuyoruz?
event' kelimesi başına koyduğumuz @ işaretinden bahsediyorsunuz sanırım. Sebebi şu; 'event' c# içerissinde kullanılan özel bir keyword. Biz bunu değişken ismi olarak kullanmak istersek @event şeklinde kullanabiliyoruz.
@@TechBuddyTR tewewkkurler
selam kaynak kodlarını nasıl bulabılırım gıthubınıza baktım bulamadım burada dırek kopyalama yapıyorsunuz ben elle yazmaya calısıyorum kılıtlendım bu kısmı ızlerken
TechBuddyTR github hesabında bulabilirsiniz
teşekkürler@@TechBuddyTR
Merhaba hocam, kanala kataıldım fakat kaynak kodlara nasıl ulaşacağımı anlayamadım.
Discord üzerinden iletişime geçip kullanıcı bilgilerinizi paylaşabilirseniz yardımcı olalım.