Restful servisler için ölçeklenebilir bir değişiklik izleme altyapısının geliştirilmesi
Development of scalable restful service monitoring infrastructure
Yazar: OĞUZHAN SALTIK
Danışman: PROF. DR. OĞUZ DİKENELLİ
Ege Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2020
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Geliştirilmekte olan yazılımlardaki veri miktarının her geçen gün artmakta olduğu günümüzde, kullanıcılar verilerin değişiminden haberdar olmak istemekte, bu da verilerin etkin ve ölçeklenebilir bir şekilde iletilmesini gerekli kılmaktadır. Üretilen verileri kullanmak isteyen uygulamalar, veriye erişim açısından sorun yaşamaktadırlar. Çoğunlukla veri üreten ve tüketen uygulamalar birbirinden ayrı ve birbirine erişemez durumdadır. Kullanılan yoklama tabanlı çözümler, değişimlerin tespit edilmesinde gecikmeye sebep olarak ölçeklenebilirlik ve performans kriterlerinde beklentileri karşılayamamaktadır. Bu problemler verilerin birden fazla alıcıya ölçeklenebilir bir şekilde yönlendirilerek sorunsuz bir şekilde entegrasyonunu sağlamaya yönelik bir mekanizmaya ihtiyaç duyulduğunu göstermektedir. Artan veri miktarındaki değişimleri takip edecek sistemlerin bu yükü karşılayabilmesi için dağıtık mimariler önem kazanmaktadır. Bu çalışmada, ihtiyaç duyulan mekanizma için abone/yayımcı tarafların birbirinden tamamıyla bağımsız olması durumuna, ölçeklenebilirlik ve hataya dayanıklılık özelliklerine önem verilerek bir prototip geliştirimi yapılmıştır. Geliştirilen prototip sayesinde bir Web kaynağını dinlemek isteyen istemcinin, ilgili kaynağa sistem aracılığıyla abone olması sağlanmıştır. Abone olunan kaynaklar sistem tarafından belirli aralıklarda sorgulanarak, değişiklik içeren kaynaklara ait değişim, geliştirilen prototip aracılığıyla bir yayımcı taraf kullanılarak tüm abonelere iletilmektedir. Yapılan gerçekleştirim, PubMed isimli bir medikal veri seti üzerinde oluşturulan bir kullanım durumu ile denenmiştir.

Abstract:
Today, where the amount of data in the software being developed is increasing day by day, users want to be informed about the change of the data, so this necessitates the efficient and scalable transmission of data. Applications that want to use the data produced have problems in terms of access to the data. Mostly, applications that produce and consume data are separate and inaccessible. The polling based solutions do not meet expectations in scalability and performance criteria by delaying detection of changes. These problems show that a mechanism to ensure that the data is seamlessly integrated and forwarding that data to multiple recipients by scalable way is needed. Distributed architectures are gaining importance in order for the systems to monitor the changes in the increasing amount of data to meet this load. In this study, a prototype was developed for the mechanism needed, with the emphasis on the independence of subscriber/publisher parties, scalability and fault tolerance. Through our prototype, the client who wants to listen to a web resource is provided to subscribe to the relevant resource through the system. The subscribed sources are queried at certain intervals by the system and the change of the sources containing the changes was forwarded to all subscribers by using a publisher through the developed prototype. The implementation has been tested with a use case created on a medical data set called PubMed.