Συστήματα πραγματικού χρόνου και με οδηγό τα συμβάντα
- Kafka
- WebSockets
- RxJS
- Avro
- Java
- Spring Boot
- Reactive streams
Τα ζωντανά δεδομένα είναι εύκολο να τα δείξεις και δύσκολο να τα κρατήσεις σωστά. Οι ενδιαφέρουσες περιπτώσεις είναι αυτές που μια επίδειξη προσπερνά: ένας καταναλωτής που μένει πίσω, ένα μήνυμα που φτάνει δύο φορές, ένα σχήμα που άλλαξε ενώ μια υπηρεσία έτρεχε ακόμη το παλιό.
Φτιάχνουμε αυτά τα συστήματα πάνω σε Kafka για ανθεκτικές ροές συμβάντων, WebSockets για το ζωντανό άκρο, αντιδραστικές ροές ώστε η πίεση επιστροφής να αντιμετωπίζεται αντί να ελπίζουμε σε αυτήν, και σχήματα Avro ώστε ένας παραγωγός και ένας καταναλωτής να μην μπορούν να διαφωνήσουν σιωπηλά για ένα ωφέλιμο φορτίο. Υπηρεσίες Java και Spring Boot σε Kubernetes σηκώνουν το φορτίο εκεί που η JVM είναι η σωστή απάντηση.
Το αποτέλεσμα είναι μια διεπαφή που ενημερώνεται καθώς φτάνουν τα συμβάντα, και ένας αγωγός του οποίου η συμπεριφορά υπό φορτίο είναι απόφαση σχεδιασμού και όχι ανακάλυψη.