Mikroservis ekosisteminde servis keşfi mekanizması
Service discovery mechanism in the microservice ecosystem
Yazar: AHMET VEDAT TOKMAK
Danışman: DOÇ. DR. AKHAN AKBULUT
İstanbul Kültür Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Algoritmalar = Algorithms ; Ekosistem = Ecosystem ; Gradyan artırma algoritması = Gradient boosting algorithm ; Mikroservis = Microservice

Özet:
Günümüzde teknolojinin hızla gelişmesi ile yazılım-yoğun sistemler her 
zamankinden daha fazla hayatımıza dahil olmakta, bu sistemlerde çoğunlukla tercih 
edilen monolitik yazılım mimarisinin ihtiyacı karşılamakta yetersiz kaldığı 
görülmektedir. Servis Odaklı Mimari (SOA), uygulama geliştirme dili, platform
bağımsız kullanımı ve yüksek ölçeklenebilirlik avantajları nedeniyle monolitik mimari 
yerine tercih edilmeye başlanmıştır. SOA'nın en güncel uygulaması olan mikroservis
mimarisinin yazılım mimarisi olarak kullanımının yaygınlaşması, mikroservisler için 
keşif problemini beraberinde getirmiştir. Mikroservislerin etkin kullanımı için ilk 
olarak erişilmek istenen mikroservise ait IP ve Port bilgilerine takiben mikroservisin 
ilgili yazılım bileşeninin aktif olup olmadığı bilgisine ihtiyaç vardır. Aynı servisi 
sunan çok sayıda mikroservis tespit edilmesi durumunda, mikroservisler arasından
hizmet kalitesi en yüksek olanın seçilmesi gerekir. Bir mikroservisin kalitesi; başarı, 
verim, gecikme zamanı, tepki süresi gibi belirli parametrelerle belirlenir. Bu çalışma
kapsamında mikroservis kalitesinin tahmin edilebilmesi için sistematik literatür 
taramasıyla yapılan çalışmalarda öne çıkan SVM, Karar Ağacı, Rassal Orman, KNN 
ve Naive Bayes sınıflandırma algoritmalarının etkili olduğu gözlemlenmiştir. 
Yaptığımız araştırma çalışmasının bir diğer bulgusu olarak; ilgili algoritmalarla 
birlikte önerilen Gradyan Artırma, XGBoost, LightGBM ve CatBoost yükseltme 
algoritmalarını kullanan ampirik çalışmalar yapılmıştır. Geliştirilen modellerin en 
uygun hiperparametre değerlerinin tespit edilmesi için Grid Search, Random Search, 
Bayes Search, Halvin Grid Search ve Halvin Random Search olarak beş farklı yöntem 
kullanılmıştır. Deneylerde gerçek dünyadan elde edilen 2507 mikroservise ait trafik
verisini barındıran QWS veriseti kullanılmıştır. Mikroservis kalitesinin tahmin 
edilmesinde en iyi sonuç %90.42'lik genel doğruluk oranı ile CatBoost algoritmasıyla
elde edilmiştir.

Abstract:
Currently, the rapid advancement of technology has led to the expansion of 
information systems, and the monolithic software design was previously inadequate to 
satisfy the requirements. SOA (Service Oriented Architecture) has begun to be favored 
over monolithic design as a result of its scalability and independence from language 
and platform usage. The rapid expansion in the number of microservices, which is the 
result of SOA deployment, has brought about the microservices discovery challenge. 
The IP address and port number of the microservice, as well as whether or not the 
microservice is running, are required to utilize microservices. In the event that there 
are numerous microservices, the one with the highest quality should be chosen. Several 
characteristics impact the success of a microservice, including efficiency, delay time, 
and reaction time. Under the scope of this study, the classification algorithms SVM, 
Decision Tree, Random Forest, KNN, and Naive Bayes, which are popular in 
systematic literature reviews, were determined to predict microservice quality. 
Experiments were conducted utilizing the proposed boosting algorithms Gradient 
Boosting, XGBoost, LightGBM, and CatBoost as well as the determined methods. 
Grid Search, Random Search, Bayes Search, Halvin Grid Search, and Halvin Random 
Search were employed to identify the optimal hyperparameter values for their 
algorithms. In the studies, the QWS dataset containing data from 2507 real-world 
microservices was utilized, and the CatBoost algorithm yielded the best accuracy rate 
of 90.42 percent.