Geri Dön

Mikroservis yaklaşımında servisler arası iletişim mimarileri

Inter-service communication architectures in microservices approach

  1. Tez No: 870990
  2. Yazar: YALÇIN YELPAZE
  3. Danışmanlar: DR. ÖĞR. ÜYESİ SERPİL YILMAZ
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Bilim ve Teknoloji, Computer Engineering and Computer Science and Control, Science and Technology
  6. Anahtar Kelimeler: Bilgisayar yazılımları, Bilişim mühendisliği, Bilişim teknolojileri ve yazılım dersi, Mimari yazılımlar, Nesneye dayalı yazılım, Yazılım mühendisliği, Computer softwares, Informatic engineering, Information technology and software course, Architectural softwares, Object oriented software, Software engineering
  7. Yıl: 2024
  8. Dil: Türkçe
  9. Üniversite: İzmir Katip Çelebi Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Yazılım Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: Belirtilmemiş.

Ö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

  1. 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

    Türkçe

    2021

    Bilim ve TeknolojiGebze Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. İBRAHİM SOĞUKPINAR

  2. Uydu bazlı jeodezik ve jeodinamik veri analiz ve yönetim sistemi tasarımı ve uygulaması

    Design and implementation of a satellite-based geodetic and geodynamic data analysis and management system

    DENİZ BAŞAR

    Doktora

    Türkçe

    Türkçe

    2026

    Jeodezi ve Fotogrametriİstanbul Teknik Üniversitesi

    Geomatik Mühendisliği Ana Bilim Dalı

    PROF. DR. RAHMİ NURHAN ÇELİK

  3. Energy demand forecasting in fog computing based microgrids using ensemble learning

    Sis bilişimi tabanlı mikro şebekelerde topluluk öğrenme ile enerji talep tahmini

    TUĞÇE KESKİN

    Yüksek Lisans

    İngilizce

    İngilizce

    2021

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ GÖKHAN İNCE

  4. Bulut tabanlı devops uygulamaları ile yazılım geliştirme ve dağıtım süreçlerinin iyileştirilmesi

    Improving software development and distribution processes with cloud-based devops applications

    ONUR YURTSEVER

    Yüksek Lisans

    Türkçe

    Türkçe

    2025

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMarmara Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ EYÜP EMRE ÜLKÜ

    DOÇ. DR. KAZIM YILDIZ

  5. Mikroservis ekosistemlerinde kaos deneylerinin otomatikleştirilmesi

    Automating chaos experiments in microservices ecosystems

    EMRAH ESEN

    Yüksek Lisans

    Türkçe

    Türkçe

    2025

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Kültür Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. AKHAN AKBULUT

    PROF. DR. ÇAĞATAY ÇATAL