Senior
Եթե բարգավաճման ժամանակ մեկ ծառայություն հասանելի չէ (օրինակ, ծառայության անվան/մասնավոր տվյալների ծառայություն), ինչ տեղի է ունենում? Բոլոր Kafka-ն կանգնո՞ւմ է։
sobes.tech AI
Պատասխան AI-ից
Տվյալների հարուստացման գործընթացում, օրինակ, լրիվ անուն կամ օգտվողի տվյալներ պարունակող ծառայությունը մատչելի չլինելու դեպքում, դա չի հանգեցնում ամբողջ Kafka-ի կանգնեցմանը: Kafka-ն, որպես հաղորդագրությունների փոխանակման համակարգ, շարունակում է գործել, քանի որ այն առանձին է տվյալների մշակման և հարուստացման տրամաբանությունից:
Ի՞նչ է տեղի ունենում գործնականում:
- Տվյալների ընթերցողը, որը կարդում է հաղորդագրությունները Kafka-ից և կանչում է հարուստացման ծառայությունը, կարող է ստանալ սխալ կամ ժամանակային սահմանափակում, երբ փորձում է հասնել մատչելի չլինող ծառայությանը:
- Բացի այդ, կիրառությունից կախված, ընթերցողը կարող է:
- Գրանցել սխալը և բաց թողնել այդ հաղորդագրության հարուստացումը,
- Փորձել կրկին էքսպոնենցիալ հետաձգմամբ,
- Ուղարկել հաղորդագրությունը DLQ (Dead Letter Queue)՝ հետագա վերլուծության համար,
- Եթե դա критիկ է, ապա կանգնեցնել հաղորդագրությունների մշակումը:
Այսպիսով, մեկ ծառայության անբավարարությունը չի կանգնեցնի Kafka-ն, բայց կարող է ազդել կոնկրետ ընթերցողի հաղորդագրությունների մշակման վրա: Համակարգի դիմացկունության համար խորհուրդ է տրվում իրականացնել սխալների և ժամանակային սահմանափակումների կառավարում, ինչպես նաև օգտագործել դիմացկունության օրինակներ, օրինակ, Circuit Breaker: