Skip to content

Development of a web store for big data in microservices

Notifications You must be signed in to change notification settings

Tourgito/My_Thesis

Repository files navigation

Ανάπτυξη διαδικτυακού καταστήματος για μεγάλα δεδομένα σε microservices.

Στα πλαίσια αυτής της πτυχιακής εργασίας παρουσιάζεται ένα διαδικτυακό κατάστημα που αναπτύχθηκε με βάση την αρχιτεκτονική των microservices. Το σύστημα υλοποιήθηκε με βάση την αρχιτεκτονική των τριών επιπέδων: επίπεδο παρουσίασης, επίπεδο λογικής, επίπεδο δεδομένων. Όμως, δεν υλοποιεί το επίπεδο της παρουσίασης, δηλαδή front-end. Για την ανάπτυξη του συστήματος χρησιμοποιήθηκαν τα εξής: event sourcing, βάση του οποίου κάποιες υπηρεσίας του συστήματος αποθηκεύουν τα δεδομένα τους, το πρότυπο CQRS, η επικοινωνία μεταξύ των υπηρεσιών (services) πραγματοποιείται ασύγχρονα μέσω του Apache Kafka, η έννοια της επεξεργασίας συνεχών ροών δεδομένων (stream processing) που υλοποιείται μέσω του Apache Kafka για την επικοινωνία μεταξύ των υπηρεσιών και του Apache Spark για την επεξεργασία και ανάλυση ροών δεδομένων, το προγραμματιστικό μοντέλο MapReduce, η βάση δεδομένων Apache Cassandra η οποία χρησιμοποιείται από όλες της υπηρεσίες του συστήματος ως βάση δεδομένων τους και το Flask, για την ανάπτυξη REST APIs. Επιπλέον, το σύστημα διαθέτει ανοχή σε σφάλματα σε προβλήματα που μπορούν να προκύψουν κατά την ασύγχρονη επικοινωνία μεταξύ των υπηρεσιών μέσω μίας πλατφόρμας ροής μηνυμάτων (Apache Kafka). Συνεπώς, παρουσιάζεται το πως γίνεται μία υπηρεσία να δημοσιεύσει ένα γεγονός σίγουρα τουλάχιστον μία φορά και το πως, μία υπηρεσία θα επεξεργαστεί σίγουρα ένα γεγονός επιτυχημένα ακριβώς μία φορά και όχι παραπάνω, που θα ήταν σφάλμα

Λέξεις Κλειδιά: Microservices, υπηρεσία, CQRS, event sourcing, ασύγχρονη επικοινωνία, επεξεργασία συνεχών ροών δεδομένων, MapReduce

About

Development of a web store for big data in microservices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages