Son oluşturduğumuz microservice yapımıza mediatR implementasyonu yapacağız. MediatR ve CQRS ile ilgili daha detaylı bilgileri başka sayfalarda bulabilirsiniz, o yüzden bu konuya fazla değinmeyeceğim.
Bu yazımda şuradaki oluşturduğumuz micro servis yapısına swagger entegre edeceğim. Swagger sayesinde controller’daki metodları kolaylıkla test edebiliriz ve api larımızı dökümante edebiliriz.
Postgre’de restore dan kastım, bir veritabanı backup’ını postgre üzerine yüklemek. Bunun için postgre’nin kendi sitesindeki örneği kullanacağız. Ama burada bizim postgre’miz docker üzerinde çalıştığından bu işlemi farklı yolla yapacağız.
PostgreSql’in docker üzerinde kurulumuna kısaca değineceğiz.
Bu konu kısa olacak, microsoft’un kendisinin bu konuyla alakalı açıklamalarına buradan ulaşabilirsiniz. Microsoft bu işlemi bash scripti oluşturarak yapılmasını gösteriyor. Ben burada docker-compose ile bu işlemin yapılımından bahsedeceğim.
Bu yazımda şuradaki oluşturduğumuz micro servis yapısını consul ile daha yönetilebilir bir hale getireceğim. Ayrıca tüm projeyi docker üzerinde çalıştıracağım.
Mikro servisler günümüzün trendi, farklı işler yapan, farklı sayıda olan, birbiri ile haberleşebilen, farklı dil ve teknolojilerde olabilen, yatayda genişleyebilen ama tüm resme bakıldığında bir bütün halinde çalışan sistemler.
Bu Örnekte default bir angular projesini development ve prod ortamlarda nasıl dockerize edileceği anlatılmıştır. Proje Reposu: https://github.com/ibrahimdal/BlogPostApps
Angular projelerinde componentler arası iletişimi Input ve Output lar ile sağlıyoruz. Fakat İç içe 3 4 ve daha fazla kırılımlı componentler var ise input ve output lar karmaşaya yol açabilir. Input ve Output yerine RxJs nesnelerini componentlere inject ederek bu karmaşayı çözebiliriz.
Bu Örnekte .net core 3 ile zamanlanmış (10 saniye de bir) çalışacak basit bir iş parçacığı gösterilmiştir. Kodlara aşağıdaki linkten ulaşabilirsiniz. https://github.com/ibrahimdal/BlogPostApps/tree/master/SampleForGenericHost