el

Πως δουλεύει?

Χρειάζεστε βοήθεια για επιχειρήσεις;

Επικοινωνήστε μαζί μας για μια εξατομικευμένη προσφορά FinMV προσαρμοσμένη στις ανάγκες σας.

Μονολιθικό ή microservice;

Ο τεχνικός διευθυντής της εταιρείας σας, όταν σχεδιάζει την έναρξη μιας οικονομικής πλατφόρμας, θα πρέπει να επιλέξει μια επιλογή αρχιτεκτονικής έργου. Ποιες επιλογές αρχιτεκτονικής έχει στη διάθεσή του και ποια είναι καλύτερη να επιλέξει;

Ξεκινήστε με την απλούστερη αρχιτεκτονική που διατηρεί τα όρια

Μια νέα επενδυτική πλατφόρμα έχει μία ομάδα, ένα deployment και μία βάση δεδομένων. Το κόστος ενός κατανεμημένου συστήματος σε αυτό το στάδιο πηγαίνει εξ ολοκλήρου σε overhead: κλήσεις δικτύου εκεί όπου θα αρκούσε μια κλήση συνάρτησης, τελική συνέπεια εκεί όπου θα αρκούσε μια συναλλαγή, και λειτουργικό φορτίο για το οποίο δεν υπάρχει προσωπικό.

Γι' αυτό η προεπιλεγμένη υλοποίηση είναι modular: onboarding, προσφορές, επενδύσεις, πληρωμές, έγγραφα, εξυπηρέτηση και αναφορές ζουν πίσω από ρητά όρια μέσα σε ένα ενιαίο αναπτύξιμο σύστημα. Αυτό που το κάνει modular δεν είναι η δομή των φακέλων, αλλά το ότι κάθε module έχει το δικό του συμβόλαιο, τα δικά του δεδομένα και τα δικά του tests.

Μια υπηρεσία αποσπάται όταν υπάρχει λόγος γι' αυτό

Ένα module γίνεται ξεχωριστή υπηρεσία όταν υπάρχει συγκεκριμένος λόγος, και αυτοί οι λόγοι είναι επιχειρηματικοί, όχι θέμα μόδας:

  • κλίμακα — ένα μέρος του συστήματος χρειάζεται να αναπτύσσεται ή να αποτυγχάνει ανεξάρτητα από τα υπόλοιπα
  • ασφάλεια — ένα όριο χρειάζεται ισχυρότερη απομόνωση από αυτή που δίνει ένα module μέσα σε μία διεργασία
  • συμμόρφωση (compliance) — ένας ρυθμιστικός φορέας ή έλεγχος απαιτεί διαχωρισμό αρμοδιοτήτων ή δεδομένων
  • deployment — ένα μέρος πρέπει να κυκλοφορεί με διαφορετική συχνότητα ή από διαφορετική ομάδα
  • ενσωματώσεις — ένα εξωτερικό σύστημα επιβάλλει το δικό του προφίλ διαθεσιμότητας και ρυθμού
  • οργάνωση — ξεχωριστές ομάδες χρειάζεται να κατέχουν ξεχωριστά πράγματα χωρίς να συντονίζουν κάθε release

Επειδή τα όρια και τα συμβόλαια υπάρχουν ήδη, η απόσπαση μιας υπηρεσίας είναι μια προγραμματισμένη ενέργεια, όχι μια επανεγγραφή. Αυτό είναι το νόημα: η επιλογή παραμένει ανοιχτή και παραμένει φθηνή.

Ασυγχρονισμός εκεί όπου αξίζει τη θέση του

Δουλειά που δεν πρέπει να μπλοκάρει τον χρήστη — συμφωνία διακανονισμών, δημιουργία εγγράφων, callbacks παρόχων, αναφορές — περνάει μέσα από ουρές. Message brokers όπως το RabbitMQ ή το Kafka μπαίνουν στο παιχνίδι όταν ο ρυθμός ή η τοπολογία ενσωμάτωσης το δικαιολογούν, όχι ως προεπιλογή. Η PostgreSQL παραμένει το σύστημα καταγραφής· η Redis χρησιμοποιείται όπου πραγματικά χρειάζεται γρήγορη cache ή συντονισμός.

Τι δεν κάνουμε

Δεν πουλάμε ένα monolith, ούτε πουλάμε microservices. Και τα δύο είναι απαντήσεις σε ερωτήσεις που δεν έχουν τεθεί ακόμα. Επίσης δεν χτίζουμε ένα κατανεμημένο σύστημα για να φαίνεται σοβαρό — το αρχιτεκτονικό θέατρο είναι ακριβό στη λειτουργία και δύσκολο στην παράδοση.

Η αρχιτεκτονική σας επιλέγεται με βάση την κλίμακά σας, τις ρυθμιστικές σας υποχρεώσεις, τις ενσωματώσεις σας και το μέγεθος της ομάδας που θα τη λειτουργεί — και σχεδιάζεται έτσι ώστε να μπορεί να αλλάζει όταν αλλάζουν αυτά.