Καθήκοντα προγραμματιστή και ιστορικού
(Τμήμα: Πράξεις και διαχείριση)
1) Σκοπός
Ο προγραμματιστής και τα βασικά καθήκοντα εξασφαλίζουν τη λειτουργία της πλατφόρμας εκτός χρήστη: περιοδικοί υπολογισμοί, δημοσιεύσεις αντικειμένων, επαναλήψεις εκκαθάρισης και αναμονής. Οι στόχοι είναι ο προσδιορισμός, η ανοχή των σφαλμάτων και η δυνατότητα ελέγχου.
2) Ταξινόμηση καθηκόντων
Προγραμματισμένο (cron/ημερολόγιο): εκκαθάριση, κλείσιμο παραθύρων RTP, ανεβάσεις, αρχειοθέτηση.
Κινούμενες από γεγονότα: ενεργοποιήσεις από το λεωφορείο (IndependentSettled, PreListUpdate).
Εφάπαξ/ad-hoc: εφάπαξ jabs με TTL.
Μακροχρόνια λειτουργία: Backoff/sagas, streaming compacts.
Συντήρηση: βασικές περιστροφές, επανασυσκευασία, δείκτες, προθέρμανση της μνήμης.
3) Αρχιτεκτονική (παραπομπή)
Κατασκευαστικά στοιχεία:1. Προγραμματιστής (επίπεδο ελέγχου): αποθηκευτικά προγράμματα, CAL/cron, παράθυρα συντήρησης, χρονοδιαγράμματα, περιοριστές.
2. Αποστολέας: προγραμματιστής αναμονής (ανά προτεραιότητα/ενοικιαστής/περιφέρεια), θέτει προθεσμίες, ευδιάκριτα κλειδιά.
3. Εργαζόμενοι: στατική/αυτόματη κλίμακα για ομάδες εργασίας. καρδιακοί παλμοί, μισθώσεις.
4. Σειρά αναμονής/λεωφορείο: FIFO/προτεραιότητα, DLQ, αναβολή μηνυμάτων.
5. Locker/Συντονισμός: κατανεμημένες κλειδαριές (μισθώσεις), εκλογές ηγέτη (Raft/ZK/Πρόξενος).
6. Θησαυροφυλάκιο/KMS: μυστικά JIT, σύντομο TTL.
7. Παρατηρησιμότητα: ίχνη/μετρήσεις/κούτσουρα, ταμπλό, ειδοποιήσεις.
8. Έλεγχος/WORM: αμετάβλητες αποδείξεις εκτέλεσης, φέτες Merkle.
Σχέδια: outbox/CDC, idempotency, αντιστάθμιση (sagas), backpressure, διακόπτες κυκλωμάτων.
4) Χρονοδιαγράμματα: cron και ημερολόγια
Cron v3: δεύτερο/λεπτό/ώρα/ημέρα/μήνας/εβδομάδα· υποστήριξη για «/5 «, κλίμακες, καταλόγους.
Ημερολόγια/εξαιρέσεις: επιχειρηματικό ημερολόγιο, παράθυρα σιωπής, διακοπές/θερινή ώρα.
Timezones: διατήρηση του 'tz' σε λειτουργία. Τοπική ώρα έναρξης του ενοικιαστή.
Πολυπεριφέρεια: αντίγραφα ανά περιφέρεια προγραμμάτων ή «επικεφαλής περιφέρεια + ακόλουθοι» με αποχέτευση/επανεκλογή.
5) Ουρές αναμονής, προτεραιότητες, SLA
Κατηγορίες προτεραιότητας: P0 (κρίσιμη), P1, P2, P3. μεμονωμένες ομάδες εργαζομένων.
SLA/προθεσμίες: 'must _ start _ by', 'must _ finish _ by'; παραλείψτε - κλιμάκωση/επανασύνδεση.
Ποσοστώσεις και δικαιοσύνη: ανώτατα όρια για εργασίες/min/ενοικιαστή, μάρκες για «εκρήξεις», απομόνωση θορυβωδών γειτόνων.
Χρόνος καθυστέρησης/ορατότητας.
6) Ανταγωνιστικότητα και εμπόδια
Μισθώσεις: μίσθωση εργασίας με αυτόματη επέκταση (καρδιακός παλμός)· με χρονοδιάγραμμα - ανάκληση.
Mutex/semaphores: ανά πόρο (για παράδειγμα, «κατάλογος τιμών x γράφει μόνο έναν εργαζόμενο»).
Sharding: by 'ενοικιαστής/περιφέρεια/hash (κλειδί)', δρομολόγηση για τη μνήμη και την τοποθεσία των δεδομένων.
Εκλογή ηγέτη: ένας ηγέτης δημοσιεύει «συστημικές» θέσεις εργασίας (για παράδειγμα, «κλείστε όλα τα παράθυρα RTP»), οπαδοί - θερμή αναμονή.
7) Αξιοπιστία: Retrai, idempotency, deadup
Idempotent πλήκτρο: '(task_type, business_id, παράθυρο)', επαναλαμβάνει → ίδια απόδειξη.
Ρετράι: εκθετική οπισθοδρόμηση + νευρικότητα, όριο προσπαθειών, στρατηγική σφάλματος (επανάληψη/ακύρωση/αντιστάθμιση).
Δηλητηριώδες χάπι: γρήγορη μεταφορά σε DLQ μετά από αποτυχίες N, συναγερμός στον ιδιοκτήτη.
Dedup: seen-cache (in-memory + KV) στα παράθυρα TTL.
Επακριβώς άπαξ ενέργειες: επιβεβαίωση ανεπιθύμητων ενεργειών μέσω καταγραφής συναλλαγών/αποδεικτικών στοιχείων.
8) Διαχείριση μακροχρόνιων και βαρέων εργασιών
Chunking: κατανομή σε παρτίδες, σημεία ελέγχου/συνέχεια.
Χρονική πυγμαχία: περιορισμός εξόδου CPU/IO/δικτύου. διακοπή με εξοικονόμηση προόδου.
Sagas/αντισταθμίσεις: «undo» σημασιολογία για διυπηρεσιακά βήματα.
Ανώτατα όρια: όρια των ταυτόχρονων εργασιών ανά τύπο/ενοικιαστή/περιφέρεια.
9) Παρατηρησιμότητα και μετρήσεις
Ίχνη: 'trace _ id', βήματα saga, εξωτερικές κλήσεις.
Μετρήσεις (SLI):- Lag στην αρχή, σειρά αναμονής (μήκος, ηλικία p95).
- Ποσοστό επιτυχίας, ποσοστό σφάλματος, ποσοστό επαναπροσδιορισμού.
- Καθυστέρηση p50/p95, χρόνος μέχρι την ολοκλήρωση.
- Κόστος ανά εργασία 1k, έξοδος/είσοδος.
- Ποσοστό DLQ, ποσοστό δηλητηριάσεων-χαπιών.
- P0 εκκίνηση ≤ 60 s, P1 ≤ 5 min· Επιτυχία ≥ 99. 5%; DLQ ≤ 0. 1%; Φρεσκάδα ≤ 30 s p95.
10) Έλεγχος και δυνατότητα απόδειξης
Παραλαβές: 'απόδειξη _ hash' για την έναρξη/επιτυχία/σφάλμα, υπογραφές DSSE για κρίσιμους τύπους (πληρωμές, καταλόγους τιμών, RTP).
WORM: αποθήκευση αρχείων καταγραφής και δηλωτικών εργασιών εκτέλεσης.
Αλυσίδα φύλαξης: ποιος παρέδωσε/ενέκρινε/άλλαξε το χρονοδιάγραμμα. Έλεγχοι SoD.
11) Ασφάλεια και πρόσβαση
RBAC/ABAC/ReBAC: ποιος δημιουργεί/εγκρίνει/τρέχει· SoD: «δημιουργία πληρωμής» ≠ «έγκριση».
Μυστικά JIT: ο εργαζόμενος ζητά μάρκες με σύντομο TTL σχετικά με το πεδίο εφαρμογής του προβλήματος.
απομόνωση: ομάδες εργαζομένων ανά ενοικιαστή/περιφέρεια/δίκτυο· εκτέλεση αμμοκιβωτίου.
PII υγιεινή: συγκάλυψη/μαρκινοποίηση, απαγόρευση υλοτομίας του πρωτογενούς υλικού.
12) FinOps και κόστος
Προϋπολογισμοί/επιφυλάξεις για τον υπολογισμό/αποθήκευση/έξοδο.
Αυτοματοποιημένοι εργαζόμενοι ανά ουρά αναμονής και SLO.
Τάξεις αποθήκευσης: ζεστό (7-30 ημέρες) → OLAP (6-24 μήνες) → αρχείο.
Σχεδιασμός με επίγνωση του κόστους: παράθυρο εκτόξευσης σε «φθηνές ώρες», όρια εξόδου.
13) Υπόδειγμα δεδομένων (απλουστευμένο)
14) Συμβάσεις API (διαχείριση/ολοκλήρωση)
'POST/προγράμματα' - δημιουργήστε ένα πρόγραμμα (cron/cal, tz, παράθυρα).
«POST/θέσεις εργασίας» - ad-hoc· επιστροφή 'job _ i ,' receipt _ hash '.
'GET/θέσεις εργασίας/{ id}' - κατάσταση/ημερολόγιο/αποδείξεις.
'POST/θέσεις εργασίας/{ id }/ακύρωση' - ακύρωση με αποζημίωση.
'GET/ουρές/στατιστικά' - μήκη, υστερήσεις, p95.
: «JobStarted», «JobSucceed», «JobFailed», «Job Вебхуки ToDLQ», «SLOViolated».
15) Βιβλία παιχνιδιών (τυπικά σενάρια)
Retry-storm: ενεργοποιήστε το παγκόσμιο back-off, αυξήστε τα timeouts εξάρτησης, ενεργοποιήστε τον διακόπτη κυκλώματος, τις παρτίδες split.
Χιονοστιβάδα DLQ: σταματήστε την υποδοχή, δώστε προτεραιότητα στην ανάλυση DLQ, ρυθμίστε νέες εργασίες.
Ο ηγέτης έπεσε: επανεκλογή, επαλήθευση των «διπλών δημοσιεύσεων» από την ιδιαιτερότητα, τον έλεγχο.
Hung πάροχος (PSP/KYC): διαδρομή προς το αποθεματικό, μείωση της συχνότητας των δημοσκοπήσεων/webhooks, μεταφορά συναλλαγών σε καραντίνα.
Μυστικά των εργαζομένων που διέρρευσαν: βασική ανάκληση, εναλλαγή, αναζήτηση «αφύσικων» εγκαινίων σε 30 ημέρες, αναθεώρηση δικαιωμάτων.
16) Ιδιαιτερότητα του iGaming/fintech
Πληρωμές/πληρωμές: ασύγχρονες θέσεις εργασίας με έσοδα, καραντίνα «γκρι» συναλλαγών, επαναλήψεις ουρών αναμονής με αφαίρεση.
RTP παράθυρα/όρια: κλείσιμο ημερολογίου, παρατήρηση έναντι θεωρητικού RTP, αυτόματη παύση promo όταν παρασύρεται.
Κατάλογος τιμών/FX/Tax: προγραμματισμένες εκδόσεις, εκδόσεις τεχνουργημάτων, αναπηρία λόγω δύναμης κρυφής μνήμης.
Θυγατρικές: συμφιλίωση των μετατροπών, dedup webhooks, πράξεις/υπογραφές, διαφωνίες μεσεγγύησης.
17) Μετρήσεις ποιότητας (σύνολο δείγματος)
Χρονοδιάγραμμα τήρησης: το μερίδιο των εργασιών ξεκίνησε στο παράθυρο ≥ 99%.
Σειρά αναμονής Lag p95: P0 ≤ 60 c, P1 ≤ 5 min.
Επιτυχία/Retry/Ρυθμός DLQ: ≥ 99. 5% / ≤ 0. 4% / ≤ 0. 1%.
Idempotency Σφάλματα: ≤ 0. 01%.
θέσεις εργασίας και έξοδος/εργασία - εντός του προϋπολογισμού.
Πληρότητα ελέγχου: 100% κρίσιμα καθήκοντα με παραλαβές.
18) RACI
19) Κατάλογος ελέγχου εφαρμογής
- Προβολή των κατηγοριών καθηκόντων, των προτεραιοτήτων και των SLA. Ορισμός ημερολογίων και χρονικών ζωνών.
- Ανάπτυξη προγραμματιστή/αποστολέα/αναμονής/εργαζόμενοι με Electing και Sharding Leader.
- Εισάγετε idempotency, retrays, DLQ, αποζημιώσεις (sagas).
- Διαμόρφωση μυστικών RBAC/ABAC/REBAC, SoD και JIT για τους εργαζομένους.
- Ενεργοποίηση ιχνών/μετρήσεων/κορμών καταγραφής, ταμπλό και συναγερμών. SLO и προϋπολογισμός σφαλμάτων.
- Υπογεγραμμένοι λογαριασμοί (DSSE) και αρχεία καταγραφής WORM για κρίσιμους τύπους.
- Αυτόματη κλιμάκωση και προειδοποιήσεις με κάλυκες (υπολογισμός/αποθήκευση/έξοδος).
- Playbooks: retry-storm, χιονοστιβάδα DLQ, αποτυχία ηγέτη, υποβάθμιση παρόχου.
- Δοκιμές: GameDay ανά βιβλίο παιχνιδιών, ενέσεις καθυστέρησης/σφάλματος.
- Τακτικές αναθεωρήσεις χρονοδιαγραμμάτων, μπλοκαρίσματος αναμονής και αυτοματοποίησης ROI.
20) ΣΥΧΝΈΣ ΕΡΩΤΉΣΕΙΣ
Γιατί δεν αρκεί το cron
Χωρίς ουρές, ιδεατότητα, κλειδαριές και λογιστικό έλεγχο, το cron σπάει σε συντριβές και ζώνες ώρας.
Μπορεί να συνδυαστεί με βάση το χρόνο και τα γεγονότα
Ναι: cron - ασφάλιση για την κάλυψη της υστέρησης· συμβάματα - για αντιδραστικότητα.
Πώς μπορεί να επιτευχθεί «ακριβώς μία φορά»
Καίριο dedup, καταγραφή των επιδράσεων στις συναλλαγές, αποδείξεις και idempotent ανεπιθύμητες ενέργειες.
Τι να κάνουμε με τις «μακροχρόνιες» θέσεις εργασίας
Chunk, σημεία ελέγχου, χρονική πυγμαχία, ικανότητα διακοπής και συνέχισης.
Πώς να μην «φάμε» τον προϋπολογισμό
Αυτόματη κλίμακα σε ουρές αναμονής και SLO, φθηνά ρολόγια για βαριές θέσεις εργασίας, σκληρή έξοδος/υπολογισμός.
Σύνοψη: Ο προγραμματιστής και τα βασικά καθήκοντα είναι ο αγωγός παραγωγής της πλατφόρμας. Ενσωματώνοντας χρονοδιαγράμματα και ουρές αναμονής, ταυτότητα, κλειδαριές και παρατηρησιμότητα, προσθέτοντας αποδείξεις/ελέγχους, απομόνωση ενοικιαστών και έλεγχο FinOps, έχετε προβλέψιμες προθεσμίες, γρήγορη ανάκτηση και νομικά συνεπείς λειτουργίες σε οποιαδήποτε περιοχή και φορτίο.