Merhaba arkadaşlar,
Yazılım terimleri serimize kaldığımız yerden devam ediyoruz. Daha önceki serilerde de söylediğim gibi ben burada bahsettiğim terimler hakkında en azından bir fikir vermeye ve araştırmak için yönlendirmeye çalışacağım.
Hadi o zaman vakit kaybetmeden başlayalım. Buyurun !
Mikroservis Mimarisi
Projenin bütününü ufak parçalardan oluşturarak ve bunların arasında iletişim sağlayarak kurulmasını sağlayan mimaridir. Daha modüler olma, parçalardan birinde yaşanan bir problemin diğerlerini engellememesi gibi avantajları ile birlikte transactionlar gibi ufak problemleri de vardır. Projeler büyüdükçe ve parçalar arttıkça mikroservislerin yönetim kısmı da değerlendirilmelidir. Daha detaylı bilgi için;
https://www.furkanbegen.com/mikroservis-mimarisi-nedir-ve-avantajlari-nelerdir/ (Türkçe)
https://medium.com/architectural-patterns/microservice-nedir-73bdfddad197 (Türkçe)
http://microservices.io/patterns/microservices.html (İngilizce)
Stateless
Stateless mimarilerde herhangi bir state (durum) bilgisi tutulmaz. Bu bilgiler ihtiyaç olduğunda client (istemci) tarafından istenir. Aşağıda bu konu ile ilgili hoşuma giden kısa bir video paylaştım. İzlemenizi tavsiye ederim.
https://www.youtube.com/watch?v=SkXbGKeQPGM (İngilizce)
Docker-Kubernetes
Yazılım ile uğraşıyor ve yeni gelişmeleri takip ediyorsanız yakın zamanda docker,kubernetes ve containerization kavramlarını duymuşsunuzdur. Docker ve Kubernetes de bir containerization platformudur.Peki ne sağlar bize bu containerization?
Örneğin .net core programımızı paketledik ve dockerımıza pushladık. Ve arkadaşımızla paylaştık. Arkadaşımızın bilgisayarında localde .net core kurulu olmasa bile bu docker linki üzerinden programımızı çalıştırabilir. Yani bu tarz containerla paketleme ve dağıtımda bize büyük bir kolaylık sağlar. Tabi ki bu en basit örneklerden biri bu kavramlar giderek hayatımıza giren ve önem kazanan terimler. O yüzden daha detaylı olarak araştırmanızı ve denemeler yapmanızı tavsiye ederim.
https://www.gokhansengun.com/docker-nedir-nasil-calisir-nerede-kullanilir/ (Türkçe)
https://berkayozuygur.com/kubernetes/ (Türkçe)
https://docs.docker.com/ (İngilizce)
https://kubernetes.io/docs/home/?path=users&persona=app-developer&level=foundational (İngilizce)
Bonus: https://www.youtube.com/playlist?list=PLRzPYaWqHTfGaKydZgrcGTGJ46BnXACSr (Türkçe)
Linkler biraz fazla oldu farkındayım ama hepsi yararlı bilgiler içeriyor. Konu önemli ve geniş, suç bende değil 😀
Nginx
Hafif, stabil ve hızlı bir web sunucusudur. Günümüzde kullanımı yaygındır. İlgisini çeken arkadaşlar için;
https://www.magnec.com/tr/blog/nginx-nedir-temel-ozellikleri-ve-nerede-kullanilir (Türkçe)
https://nginx.org/en/docs/ (İngilizce)
Cluster
Cluster yapısı, kısaca ve basit bir tanımla belirli nodelardan oluşan ve bu nodelar içerisinde master (yetkili) ve slave rolleri olan sistemlerdir.
https://vargonen.com/blog/cluster-mimarisi-nedir/ (Türkçe)
NoSql
İlişkisel olmayan dağıtık yapıdaki veritabanlarıdır. Altta paylaştığım youtube linkinden hocamız çok iyi anlatmış. bu veritabanları klasik ilişkisel veritabanları gibi dikeyde değil yatayda büyürler.(Kutuyu büyütmek yerine kutu sayısı arttırılır gibi düşünülebilir.) Genel olarak hızlıdırlar. MongoDB, Cassandra, MemcacheDB bu ailenin birer üyesidir.
https://www.youtube.com/watch?v=V29-GMYRYNs (Türkçe)
https://kodcu.com/2014/03/nosql-nedir-avantajlari-ve-dezavantajlari-hakkinda-bilgi/ (Türkçe)
Redis
Redis, bir key value storedur. Yani bir anahtar kelime ile bir değerin eşlendiği sistemdir. Redis Cashe , hızı ve basit kullanımı ile giderek popülerleşmektedir.
http://www.borakasmer.com/net-coreda-redis-cache-kullanimi/ (Türkçe – güzel tutorial)
http://www.bahadirakin.com/redis-ile-uygulama-gelistirmek/ (Türkçe)
https://redis.io/documentation (İngilizce)
MongoDb
Mongo Db, dağıtık bir NoSql database sistemidir. Yazılım dünyasında kullanılan yeni trendlerden biridir ve gelişimini sürekli sürdürmektedir. İçerisinde collection, indexler gibi terimler barındırır. Kendi sitesinde bulunan dökümantasyon gayet açıklayıcı ve yeterlidir. Örnek uygulama için github repomda ki uygulamaya bakabilirsiniz.
Evet bir yazının daha sonuna geldik arkadaşlar. Umarım benim vaktimi ayırıp yazdığım ve sizin vaktinizi ayırıp okuduğunuz bu yazılar yararlı olur.
Kalın sağlıcakla …