Bildiğiniz gibi Monolithic uygulamalarda farklı entityler üzerinde çalışırken single database üzerinde strong consistency ile inconsistent verileri engelleyebiliyoruz.(bkz: ACID) Elimde Single Transaction Boundary bulunuyor birden fazla database işlemi için transactionı başlatabiliyorum, commitleyebiliyorum veya rollback yapabiliyorum. Hemen bir şekil ile bunu ifade etmeye çalışayım. Geleneksel olarak kullandığımız yöntem aşağıdaki şekildeki gibi.

Microservice mimarisine gelecek olursak. Microservice mimarizdeki beklentimiz olabildiğince loosely coupled olmak bunun kazancı olarak bağımsızlığımızı ilan etmek. Verinin sahipliğini merkezi olmaktan çıkarıyorum ve bunu farklı servislere sorumluluk olarak yükleyerek devam ediyorum bunun yaparken shared resourcelarımda akabinde ayırıyorum.

Quarkus OpenJDK ve GraalVM için sektördeki önemli library’leri içinde barındırarak hazırlanmış bir Kubernetes Java Stack. Fakat bunu sadece Kubernetes olarak düşünmeyin bu stack’i herhangi bir platform üzerinde de kullanabilirsiniz.Okuduğum kaynaklarda sürekli olarak Kubernetes Native Java framework olarak vurgulanıyor. Sanırım bu konuda Kubernetes için de-facto olmasını istedikleri için bu şekilde dile getiriliyor. Ama bence Quarkus denince akla ilk olarak Container First gelmesi daha mantıklı gibi.

Quarkus hakkındaki detaylara bakmadan önce çok daha net olması açısından quarkus.io üzerindeki Quarkus Benchmark bilgisini paylaşmak istiyorum. Bu konun benim radarıma girmesinin temel nedeni bu benchmark detayları.

Bu resim içerisinde native olarak gördüğünüz yeşil renkli alanlar…

When you look at the serverless world, you will see a lot of benefits such as reduced labor cost, reduced risk, reduced resource cost, and increased flexibility of scaling. These benefits don’t come free though, we must accept some of the cons too, for example debugging, cold starts, or vendor lock-in, etc…

We should be aware of this is a new era of infrastructure and it’s slowly maturing. Let’s think about developing a project. When you start coding, I guess that the most important part will be about debugging it. …

Microservice birlikte çalışabilen, otonom/bağımsız olarak deploy edilebilen belli bir iş sorumluluğu yüklenmiş küçük iş servisleridir. Bu servisler bir biri ile network üzerinden konuşarak anlaşırlar ve bir çok avantajıda yanlarında getirirler. En büyük avantajlarından birisi bağımsız olarak deploy edilebilir olmalarıdır. Bununla birlikte bir çok farklı teknoloji ile birlikte çalışma fırsatı (technology agnostic) sunmaktadır.

Bir süredir microservice olarak geliştirmeler yaptığımız bir projede çalışıyorum. …

Gokalp Kuscu

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