Վերջին խմբագրում՝
Ֆեդոր Կորոլև
Բետտինգի պլատֆորմներում քեշի և բրոքերների օգտագործումը
Click to expand / collapse

Բետթինգ համակարգերը աշխատում են բարձր բեռի տակ և պահանջում են ակնթարթային տվյալների վերամշակում 'ստանդարտ դրույքաչափեր, հոսքային իրադարձություններ, հաշվարկներ և ինտերֆեյս պետք է համաժամեցվեն իրական ժամանակում։ Ահա թե ինչու ճարտարապետության մեջ կարևոր դեր են խաղում քաշման համակարգերը (Redis) և հաղորդագրությունների բրոկերները (Kafka, RabbitMQ)։ Դրանք ապահովում են խաղի գործընթացի համար կրիտիկական արագություն, կայունություն և մեծացում։


Ինչու՞ պետք է քեշը բետտինգում

Redis-ն օգտագործվում է որպես բարձր արտադրողական in-memory պահեստ:
  • Կոդավորման, գործակիցների, իրադարձությունների ստատուսների
  • TTL տվյալների պահեստները (Timers international, տեղեկատվական-նորարարություն)
  • Արագ մուտք դեպի օգտագործողի նստաշրջաններ, զամբյուղներ, պատմություններ
  • Rate-limiting, սահմանափակումներ տոկոսադրույքների, հակաֆրոդի
  • Բուֆերիզացիան դանդաղ բազայի և ինտերֆեյսի միջև

Redis-ն օգտագործվում է pub/sub ռեժիմում միկրովայրկյանների միջև ակնթարթային ծանուցումների համար։


Ի՞ նչ են անում բրոկերները

Kafka և RabbitMQ-ը կառավարում են տվյալների հոսքերը միկրովեռների և արտաքին պրովայդերների միջև

Օգտագործման սցենարըKafkaRabbitMQ
Սպորտային իրադարձությունների հոսքըԲարձր թողունակությունՍահմանափակ ծավալներով
Գործակիցների նորարարությունԼավ հարմար էՀարմար է հերթերի համար
Ծանուցումներ, ալերտներԱվելորդԿատարյալ է պարզ սցենարներում
Վերլուծություն և տրամաբանությունStriming ClickHouseԱվելի լավ Kafka կամ լոգ հավաքողներ

Kafka vs RabbitMQ - ընտրությունը կախված է առաջադրանքից

ՔննադատությունKafkaRabbitMQ
ԹողունակությունՇատ բարձր (միլիոն www.g/sec)Միջին
Հերթականություն և կարգուկանոնԵրաշխավորվածԱջակցվում է
Հաղորդագրությունների պահպանումըԵրկարաժամկետ (105)Կարճաժամկետ (հիշողություն/սկավառակ)
Բեռի կառավարումըՀիանալի էՊարզ է տեղադրման և տեղադրման մեջ
Իդեալական էՀոսքեր, լոգարաններ, real-time APIԲեքենդա, ծանուցումներ, հերթեր

Ճարտարապետական լուծումների օրինակներ

Redis + PostgreSQL 'արագ ֆորումը BD-ի հետ:
  • Kafka + Go-ծառայություններ 'իրադարձությունների ընդունումը և գործակիցների սթրիմինգը
  • RabbitMQ + Node. js 'բոնուսների, թնդանոթների, e-mail իրադարձությունների վերամշակում
  • Kafka no ClickHouse: Հոսքային վերլուծաբան, 2019-2019

Ի՞ նչ է դա տալիս պլատֆորմը

Իրադարձությունների արձագանքը միլիմետսեկունդի սահմաններում է:
  • BD և API բեռնաթափումը կեշի և հերթերի պատճառով
  • Միկրովայրկյանցիների մասշտաբը առանց կոշտ կապի
  • Վստահության բարձրացում 'ձախողումները չեն ազդում ամբողջ համակարգի վրա
  • Real-Time-ի և alerting- ի կառուցման հնարավորությունը

Քեշին և բրոկերները իրական ժամանակի միջուկն են բետթինգի համակարգերում։ Redis-ը տալիս է կայծակնային հասանելիություն տվյալների, Kafka և RabbitMQ-ը կառավարում են իրադարձությունների հոսքերը, և միասին նրանք անում են հնարավոր մասշտաբային, անկայուն և կայուն պլատֆորմի վարքագիծը աշխատանքային բեռում։ Առանց դրանց այսօր ոչ մի լուրջ բետթինգի ապրանք չի կառուցվում։

Հանրաճանաչ թեմաներ


Հիմնական թեմաներ