Transaction’lar uygulamalarımızın önemli birer parçasıdır. Eğer transaction’lar olmasaydı veri tutarlılığını sağlamamız imkansız olurdu.

Veri tutarlılığını sağlayan çözümlerden birisi daha önceki makalemde bahsettiğim 2PC Pattern’dir. Bu pattern’de tüm akışı yönettiğimiz genel transaction içinde ikinci bir işlemin çalışması için ilk işlemin başarıyla tamamlanmış olması gereklidir. …

Merhaba arkadaşlar,

Bu makalemde günümüzde son derece popüler olan microservice mimarisindeki distributed transaction sorunlarına çözüm getiren 2PC (Two Phase Commit) Pattern’inden bahsedeceğim.

Distributed Transaction Nedir?

Microservice mimarisinde, monolithic sistemlerden ayrı olarak servisler ve veritabanları birbirinden ayrıştırılmıştır. …

CQRS, ana odağı write (yazma) ve read (okuma) sorumluluklarının ayrıştırılmasına dayanan bir mimari tasarım modelidir. CQRS mimarisi, CQS ilkesi baz alınarak kurulmuştur. CQS’in ana fikrinden bahsetmek gerekirse; bir metot objenin durumunu değiştirmelidir ya da geriye bir sonuç dönmelidir, ancak 2 işlemi birden yapmamalıdır. (Detaylı bilgi için bknz.)

Uygulamalarınızda CQRS mimari…

NoSQL; MsSQL, MySQL, PostgreSQL gibi ilişkisel veritabanı sistemlerine (RDMBS) alternatif olarak üretilmiş bir veritabanı sistemidir. Bu veritabanı çözümü, bize ilişkisel olmayan, esnek yapılı, büyük verili ve çok sayıda aktif kullanıcılı sistemlerde yüksek performans ve yönetim kolaylığı sunar.

Couchbase, document ve key-value tabanlı, memory-first yapısına sahip bir NoSQL veritabanı çözümüdür. …

Merhaba arkadaşlar bu makalemde Asp.Net Core projemizde Elasticsearch ve Serilog kullanarak merkezi bir loglama sisteminin nasıl kurulacağından bahsedeceğim.

Kısaca kullanacağımız teknolojilerden bahsetmek gerekirse,

Elasticsearch: İçerik arama, veri analizi, sorgulamalar ve öneriler gibi işlemlerde özellikle performans kabiliyetleri, güçlü ve esnek olmasından dolayı tercih edilen full-text search arama motorudur. …

Merhaba arkadaşlar,

Bu makalemde Docker-Compose ve Docker Stack içerisinde kullandığımız YAML’den bahsedip örnek bir Docker-Compose dosyası oluşturup satır satır inceleyip makaleme son vereceğim.

Önemli Bilgi !!! Tüm docker-compose komutlarını docker-compose.yml ile aynı dizinde çalıştırmanız gereklidir. Komutları dizinin farklı seviyelerinden çalıştıramazsınız.

  • YAML Nedir ?

YAML, hem insan tarafından kolaylıkla okunabilen hem…

Merhaba arkadaşlar,

Bu makalemde Dockerfile’ın ne olduğundan ve temel Dockerfile terimlerinden bahsedeceğim. Daha sonra basit bir Dockerfile oluşturup bu Dockerfile’dan Image oluşturarak makaleme son vereceğim.

Bir Container’ın çalışması için

  • İlk olarak Dockerfile oluşturulur.
  • İkinci aşamada, Dockerfile üzerinden Image oluşturulur.
  • Son olarak da bu Image’den Container’ı çalıştırırız.

Dockerfile, Docker Image’inin nasıl…

Merhaba arkadaşlar,

Bu makalemde Docker’ın ne olduğundan, bize ne gibi kolaylıklar sağladığından ve temel Docker komutlarından bahsedeceğim.

  • Docker Kurulumu:

Kuruluma başlamadan Docker’da sıklıkla kullandığımız terimlerin anlamlarını açıklayacağım:

Docker cli: Kullanıcının Docker-Daemon ile iletişime geçebilmesi için gerekli komut setini sağlar.

Image: İnternetten (docker hub) indirilen ve oluşturulan şablona denir.

Container: Docker…

Merhaba arkadaşlar,bu makalemde BFF yani Backend For Frontend’den bahsedeceğim.

Nedir bu BFF ?

Örnek bir senaryo ile açıklamaya çalışacağım.

Bu senaryonun 3 ana hattı olacaktır.

  • Web UI
  • Mobil App
  • 3rd party applications

Mikro-servis mimarisi ile geliştirdiğimiz bir e-ticaret uygulamamız olsun. Ürün detay sayfamız için bu mimariyi kullanarak geliştirme yapalım.

Peki…

Merhaba arkadaşlar,

Bu makalemde Software Development Life Cycle sürecini hızlandırmak isteyen her kurumun dilinden düşürmediği yapılar ile ilgili bilgiler vermeye çalışacağım.

Continuous Integration:Geliştirilmesi yapılan kodu ilgili repodan alıp,testlerden(unit,integration vs.) geçirip,paketleyip, test edilecek ortama kurulumunu otomatize etme sürecidir.

CI araçlarının esas amacı bir yazılım projesinde birden fazla developer geliştirme yapması durumunda…

Sefik Can Kanber

Senior Software Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store