Image for post
Image for post

Uzun yıllardır yazılım geliştirirken kullandığım bir yönteme, “artık bu işin bi adını koymalıyım” fikri üzerine araştırma yapmaya başlamıştım ki bingo! Benzer bir yaklaşım on yıl kadar önce, MSDNSweden takımı tarafından Comment Driven Development olarak adlandırılmış olduğunu, daha geçmişe gittiğimde iseTODO-Driven Development gibi bir yaklaşımın varlığını gördüm. Bu iki yöntemi inceledikten sonra kendi kullandığım yöntemin ikisi ile de benzer yönlerinin olduğunu fakat bir o kadar da farklılıkları olması üzerine bu yöntemi yeni bir isim ile yani Comment First Development olarak adlandırmanın daha doğru olacağını düşündüm.

Todo Driven Development, yapılması gerekenlerin gelişi güzel koda sertpiştirildiği bir geliştirme yöntemi, Comment Driven Development ise her şeyden önce yorumların yazıldığı ve ardından yazılım geliştirmenin başladığı yatay bir geliştirme yöntemi. Benim ortaya attığım Comment First Development ise yorumların ve kodun iç içe girdiği bir döngü şeklinde olan, iteratif olarak sürekli iyileştirilen bir yazılım geliştirme yöntemidir. …


Image for post
Image for post

Uygulamaların kesintisiz hizmet verebilmesi için; mimarinin doğru tasarlanması, geliştiricilerin de bu mimariye uygun ve hataya sebebiyet vermeyecek uygulamalar geliştirmesi gerekir. Ne yazık ki her zaman bunu başaramayabiliriz ve neyse ki kesintisiz hizmet verebilmek için uygulayabileceğimiz yaklaşımlar mevcut, bu yaklaşımların literatürdeki adı “Resilience Pattern” ’dır. Resilience Pattern’ları çözdüğü problem alanına göre farklı kategorilere ayırarak, ayrı başlık altında incelemek mümkün, fakat bu yazıda en çok ihtiyaç duyulan ve kullanılması elzem olan tasarım desenlerine bakacağız.

Image for post
Image for post
Resilience Tasarım Desenleri

Mikroservis mimaride servislerin dayanıklılığını sağlamak, monolitik bir mimariye göre nispeten daha zordur. Mikroservis mimaride servisler arası iletişim dağıtık olarak gerçekleşmekte ve bir transaction için bir çok internal veya external network trafiği oluşmaktadır. …


Image for post
Image for post

Mikroservis mimarisi üzerine çalışıyorsanız farkedeceksiniz ki en önemli problemlerden bir tanesi; geliştirilen mikroservisler arasındaki iletişim mimarisini kurgulamaktır. Monolitik ve *SOA mimaride geliştirilen uygulamalarda servisler arası iletişim gibi bir problem ihtiyacı genellikle yoktur, ihtiyaç olduğu durumlarda ise http request’ler veya internal event’ler ile kolaylıkla çözülebilmektedir.

Bu yazıda mikroservis mimaride iletişim yöntemlerini, örnek olarak tasarlayacağımız bir rezervasyon platformu ile öğreneceğiz. Bu platformun sahip olması gereken temel servisleri belirleyecek ve bu servisler arası iletişimin nasıl yapılabileceğini örnek senaryolar ile öğreneceğiz.

En temel işlevlere sahip bir rezervasyon platformu yapalım, örneğin; booking.com …

About

👨🏻‍💻Software Engineer, interested in Distributed Systems, Software Architecture and Deep Learning mesutpiskin.com

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