Mikroservis yaklaşımında servisler arası iletişim mimarileri
Inter-service communication architectures in microservices approach
- Tez No: 870990
- Danışmanlar: DR. ÖĞR. ÜYESİ SERPİL YILMAZ
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Bilim ve Teknoloji, Computer Engineering and Computer Science and Control, Science and Technology
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2024
- Dil: Türkçe
- Üniversite: İzmir Katip Çelebi Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Yazılım Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 68
Özet
Mikroservis mimarisi, günümüz monolitik mimarisine oranla modern yazılım geliştirme süreçlerinde giderek daha popüler hale gelmektedir. Bu mimari, bir uygulamayı küçük, bağımsız ve işlevsel parçalara ayırarak geliştirmeyi ve dağıtmayı amaçlar. Her servis diğer servislerden teknoloji, programlama dili vb. bağımsız olarak geliştirilebildiği için son yıllarda popüler olmaya başlamıştır. Her ne kadar son yıllarda popüler olmaya devam etse de, bu mikroservis tabanlı sistemlerdeki iletişimlerde, genellikle karmaşıklık ve zorluklarla karşılaşılabilinir. Geleneksel monolitik mimarilere kıyasla, mikroservislerin dağıtılmış doğası, farklı servisler arasındaki iletişimin karmaşıklığını artırmaktadır. Bu karmaşıklığın üstesinden gelmek için, çeşitli iletişim stratejileri ve mimarileri kullanılmaktadır. Bu tezde, son dönemde çok tercih edilen mikroservisler arasındaki iletişim mimarileri üzerinde durulmuştur ve ilgili mimari ve iletişim stratejileri ele alınarak karmaşıklık durumlarında veya ilk defa kullanımlarda tercih edilmesi gereken iletişim yöntemleri gerçek örneklemler ile açıklanmıştır. İlk olarak, HTTP tabanlı RESTful servisler, mikroservisler arasında yaygın bir iletişim protokolü olarak kabul edilmiştir. Ancak, bu yaklaşımın performans, güvenilirlik ve ölçeklenebilirlik açısından sınırlamaları bulunmaktadır. Her geçen gün daha da değişen ve gelişen teknolojik dünyada yeni yöntemlere ihtiyaç duyulmuştur. Bu nedenle, RPC (Remote Procedure Call), mesaj kuyrukları ve yayın/abonelik gibi alternatif iletişim yöntemleri üzerinde araştırmalar yoğunlaşmıştır. Bu tezde, farklı iletişim mimarilerinin avantajları, dezavantajları ve kullanım senaryoları incelenmektedir. Özellikle, iş yüküne, performansa, güvenilirliğe ve genel sistem mimarisine göre hangi iletişim yönteminin daha uygun olduğu tartışılmaktadır. Sonuç olarak, mikroservisler arasındaki iletişim mimarileri, uygulama gereksinimlerine ve mevcut altyapıya bağlı olarak değişkenlik göstermektedir. Bu nedenle, geliştiricilerin, monolitik yapıdan mikroservis mimarisine geçişte, yeni geliştirilmeye başlanan projelerde veya mevcut mikroservis mimarisinde altyapı iyileştirmesi yapmak istediklerinde uygun iletişim stratejilerini seçerken dikkatli bir şekilde değerlendirme yapmaları gerekmektedir. Bu çalışmada sunulan bilgilerin, mikroservis mimarisine geçiş sürecindeki geliştiricilere rehberlik etmek ve sistemlerini daha etkin bir şekilde tasarlamalarına yardımcı olmak için önemli bir kaynak sağlayacağı düşünülmektedir.
Özet (Çeviri)
Microservices architecture is becoming more popular in modern software development processes compared to traditional monolithic architecture. This architecture aims to develop an application by decomposing it into small, independent, and functional services. Each service has become popular in recent years because they can be developed independently in terms of technology, programming language, etc. Despite its popularity, communication in these microservice-based systems can be often complex and challenging. Compared to traditional monolithic architectures, the distributed nature of microservices increases the complexity of communication between different services. To overcome this complexity, various communication strategies and architectures have been used. This thesis focuses on the communication architectures between microservices and explains the preferred communication methods in cases of complexity or first-time use with the help of real-world examples. Initially, HTTP-based RESTful services were accepted as a common communication protocol between microservices. However, this approach has limitations in terms of performance, reliability, and scalability. In a constantly changing and evolving technological world, new methods are required. Therefore, research has focused on alternative communication methods such as RPC (Remote Procedure Call), message queues, and publish/subscribe mechanisms. In this study, the advantages, disadvantages, and use cases of these various communication architectures are examined. Specifically, the suitability of communication methods is discussed based on workload, performance, reliability, and overall system architecture. As a result, communication architectures between microservices vary depending on application requirements and existing infrastructure. Therefore, developers need to carefully evaluate appropriate communication strategies when starting new projects or enhancing the infrastructure of their existing microservices architecture. This study is expected to provide an important resource to guide developers in the transition to microservices architecture and help them design their systems more effectively.
Benzer Tezler
- Mikroservis ve UPA güvenliği için karma yöntem tasarımı
Hybrid design for microservice and API security
MEHMET NAZIM TAT
Yüksek Lisans
Türkçe
2021
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolGebze Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. İBRAHİM SOĞUKPINAR
- Model güdümlü geliştirme yaklaşımı ile otomatik kod üretimi araçlarının karşılaştırılması
Comparison of automatic code generation tools with model driven approach
BÜŞRA İÇÖZ
Yüksek Lisans
Türkçe
2021
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolYıldız Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. OYA KALIPSIZ
- A variability-guided methodology for microservice-based development
Mikroservis tabanlı geliştirme için değişkenlik rehberlikli bir metodoloji
BETÜL KURUOĞLU DOLU
Doktora
İngilizce
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. ALİ HİKMET DOĞRU
- Mikroservis mimari ile uçtan uca yazılım geliştirme sürecinde performans optimizasyonu incelemeleri ve bulut bilişim
Performance optimization analysis in the end-to-end software development process with microservice architecture and cloud computing
YASİN GÜLGÖR
Yüksek Lisans
Türkçe
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolİSTANBUL BEYKENT ÜNİVERSİTESİBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ SUZAN ÜRETEN
- Measuring and evaluating the maintainability of microservices
Mikroservislerin sürdürülebilirliğinin ölçülmesi ve değerlendirilmesi
RAHİME YILMAZ
Doktora
İngilizce
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. FEZA BUZLUCA