Osman KURT

Kendime Not

.Net Core ElasticSearch Loglama

Merhabalar,

Uygulamaları yazmak, ayağa kaldırmak ne kadar önemli ve keyifli şeyler olsa da! Yayın hayatına başlayan bir uygulamayı takip etmek ve oluşabilecek hataları analiz etmek de bir o kadar önemli bir nokta. Bu yüzden çalışma esnasında tutulan loglar tabiri caizse bizim elimiz ayaklarımız. Tam da bu yüzden uygulamanın çalışma esnasında log kayıtlarının kolay şekilde tutulduğu bir demo gerçekleştirdim ve github hesabıma yükledim.

Örnek uygulama için alt kısımda ki linki kullanabilirsiniz;

https://github.com/byokurt/Net-Core-ElasticSearch-Logging

Uygulamayı indirdikten sonra yapmanız gereken birkaç küçük düzenleme var. Bunları uygulamanın readme kısmında yazdım ancak her ihtimale karşı buradan da yazıyorum.


Network oluşturmak için;

docker network create elasticnetwork

Elasticsearch image'nı bilgisayarımıza almak ve sonrasında ayağa kaldırmak için;

docker pull elasticsearch:7.10.1
docker run -d --name elasticsearch --net elasticnetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.10.1

Kibana image'nı bilgisayarımıza almak ve sonrasında ayağa kaldırmak için; (Kibana default olarak 9200 portunu dinlemekte)

docker pull kibana:7.10.1
docker run -d --name kibana --net elasticnetwork -p 5601:5601 kibana:7.10.1

Sonrasında projemizi çalıştırıyoruz ve log toplamaya başlıyoruz. 

Kibana üzerinde loglarımızı listelemek için yapılması gereken işlemleri alt kısımda resim olarak ekliyorum.

.Net Core HttpClientFactory Kullanımı

Merhaba,

Sizlere .Net Core 2.1 ile hayatımıza giren HttpClientFactory sınıfının kullanımı ile alakalı küçük bir örnek hazırladım ve github hesabım üzerinden sizlerle paylaşacağım. 

Ancak şöyle bir durum var ben kendi bilgisayarımda .Net 5 SDK kurulumunu tamamladığım için uygulamayı da bu şekilde hazırladım. Eğer sizin için sorun yaratacaksa uygulamayı .Net Core 3.1 ile ya da 2.1 ile çalıştırabilirsiniz. 

Örnek kod bloğuna, çalışır halde alt kısımda bulunan linkten erişebilirsiniz.

https://github.com/byokurt/Net-Core-HttpClientFactory


.Net Core MassTransit Kullanımı

Merhabalar,

Bu yazımda size basit olarak MassTransit kullanımını örneklendireceğim. Umarım faydalı olur.

RabbitMQ: Asenkron mesajlaşmayı sağlayan mesaj broker dır. Başka bir deyişle ortak platformlar için mesajlaşmayı sağlayan bir message queue'dır.

MassTransit: .Net teknolojilerini kullanarak dağınık uygulamalar oluşturmak için kullanılan free, open soruce, lightweight bir message bus dır. Asenkron mesasjlamak için kullandığımız message broker’lar ile uygulamamız arasında bir abstraction yapıdır da diyebiliriz.

Bir çok yerde ESB(enterprise service bus) olarak geçmesine karşın(wikipedia da dahil), kendileri biraz mütevazi davaranak ESB olmadıklarını her fırsatta dile getirmektedir. MassTransit, Rabbitmq ile birlikte Azure Service Bus, ActiveMQ ve Amazon SQS/SNS message-queue’ları desteklemektedir.

Bunlar arasındaki geçişlerde herhangi bir ekstra kod yazmaya ihtiyaç duymamaktasınız.

Örnek kod bloğuna, çalışır halde alt kısımda bulunan linkten erişebilirsiniz.

https://github.com/byokurt/Net-Core-MassTransit