Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

Nima uchun MegaFon kabi korporatsiya hisob-kitoblarda Tarantoolga muhtoj? Tashqi tomondan, sotuvchi odatda keladi, qandaydir katta quti olib keladi, vilkasini rozetkaga ulaydi - va bu hisob-kitob! Bir paytlar shunday bo'lgan, ammo hozir bu arxaik bo'lib, bunday dinozavrlar allaqachon yo'q bo'lib ketgan yoki yo'q bo'lib ketmoqda. Dastlab, hisob-kitob - bu hisob-fakturalarni berish tizimi - hisoblash mashinasi yoki kalkulyator. Zamonaviy telekommunikatsiyalarda bu abonent bilan shartnoma tuzishdan to bekor qilishgacha bo'lgan o'zaro munosabatlarning butun hayotiy tsiklini avtomatlashtirish tizimi, shu jumladan real vaqtda hisob-kitob qilish, to'lovni qabul qilish va boshqalar. Telekom kompaniyalarida hisob-kitoblar jangovar robotga o'xshaydi - katta, kuchli va qurolga ega.

Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

Tarantoolning bunga nima aloqasi bor? Ular bu haqda gaplashishadi Oleg Ivlev и Andrey Knyazev. Oleg kompaniyaning bosh arxitektori MegaFon xorijiy kompaniyalarda katta tajribaga ega bo'lgan Andrey biznes tizimlari direktori. Ularning hisobotining stenogrammasidan Tarantool konferentsiyasi 2018 nega korporatsiyalarda ilmiy-tadqiqot ishlariga ehtiyoj borligini, Tarantool nima ekanligini, vertikal masshtablash va globallashuvning boshi qanday qilib kompaniyada ushbu ma'lumotlar bazasi paydo bo'lishi uchun zarur shart bo'lganligini, texnologik muammolar, arxitektura o'zgarishlari va MegaFon texnostikining Netflix-ga o'xshashligini bilib olasiz. , Google va Amazon.

"Yagona hisob-kitob" loyihasi

Ko'rib chiqilayotgan loyiha "Unified Billing" deb nomlanadi. Aynan shu erda Tarantool o'zining eng yaxshi fazilatlarini ko'rsatdi.

Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

Hi-End uskunalari unumdorligining o'sishi abonentlar bazasining o'sishi va xizmatlar sonining o'sishiga mos kelmadi; abonentlar va xizmatlar sonining keyingi o'sishi M2M, IoT va filial xususiyatlari tufayli kutilgan edi. bozorga chiqish vaqtining yomonlashuviga. Kompaniya joriy 8 ta turli billing tizimlari o‘rniga noyob jahon darajasidagi modulli arxitekturaga ega yagona biznes tizimini yaratishga qaror qildi.

MegaFon - bitta kompaniyada sakkizta kompaniya. 2009 yilda qayta tashkil etish yakunlandi: butun Rossiya bo'ylab filiallar yagona kompaniya - MegaFon OAJga (hozirgi PJSC) birlashtirildi. Shunday qilib, kompaniya o'zining "maxsus" echimlari, filial xususiyatlari va turli tashkiliy tuzilmalari, IT va marketingga ega 8 ta billing tizimiga ega.

Biz bitta umumiy federal mahsulotni ishga tushirmagunimizcha hamma narsa yaxshi edi. Bu erda juda ko'p qiyinchiliklar paydo bo'ldi: ba'zilari uchun tariflar yaxlitlanadi, boshqalari uchun yaxlitlanadi, boshqalari uchun esa - o'rtacha arifmetik qiymatga asoslanadi. Bunday lahzalar minglab bor.

Hisob-kitob tizimining faqat bitta versiyasi, bitta yetkazib beruvchi mavjud bo'lishiga qaramay, sozlamalar shunchalik farq qildiki, ularni birlashtirish uchun uzoq vaqt kerak bo'ldi. Biz ularning sonini kamaytirishga harakat qildik va ko'plab korporatsiyalarga tanish bo'lgan ikkinchi muammoga duch keldik.

Vertikal masshtablash. Hatto o'sha paytdagi eng zo'r uskuna ham ehtiyojlarga javob bermadi. Biz Superdome Hi-End liniyasidan Hewlett-Packard uskunasidan foydalandik, lekin u hatto ikkita filialning ehtiyojlarini qondirmadi. Men katta operatsion xarajatlar va kapital qo'yilmalarsiz gorizontal miqyosni xohladim.

Abonentlar va xizmatlar sonining o'sishi kutilmoqda. Maslahatchilar uzoq vaqtdan beri IoT va M2M haqidagi hikoyalarni telekommunikatsiya olamiga olib kelishdi: vaqt keladiki, har bir telefon va dazmolda SIM-karta, muzlatgichda esa ikkitasi bo'ladi. Bugungi kunda obunachilarimiz soni bir, ammo yaqin kelajakda yana ko'p bo'ladi.

Texnologik muammolar

Ushbu to'rtta sabab bizni jiddiy o'zgarishlar qilishga undadi. Tizimni yangilash va noldan loyihalash o'rtasida tanlov mavjud edi. Biz uzoq o'yladik, jiddiy qarorlar qabul qildik, tender o'ynadik. Natijada, biz boshidanoq loyihalashga qaror qildik va qiziqarli muammolarni - texnologik muammolarni oldik.

Miqyosi

Agar ilgari bo'lsa, aytaylik, aytaylik 8 million abonent uchun 15 ta hisob-kitob, va endi u ishlashi kerak edi 100 million obunachi va boshqalar - yuk kattalikdan yuqoriroq.

Biz Mail.ru yoki Netflix kabi yirik Internet-pleyerlar bilan taqqoslanadigan bo'ldik.

Ammo yuk va abonent bazasini oshirish bo'yicha keyingi harakatlar oldimizga jiddiy vazifalarni qo'ydi.

Keng mamlakatimiz geografiyasi

Kaliningrad va Vladivostok o'rtasida 7500 km va 10 soat mintaqasi. Yorug'lik tezligi cheklangan va bunday masofalarda kechikishlar allaqachon sezilarli. Eng zo'r zamonaviy optik kanallarda 150 ms, real vaqt rejimida hisob-kitob qilish uchun juda ko'p, ayniqsa hozir Rossiyada telekommunikatsiyada. Bundan tashqari, siz bir ish kunida yangilashingiz kerak va turli vaqt zonalarida bu muammo.

Biz faqat abonent to'lovi uchun xizmatlarni taqdim etmaymiz, bizda murakkab tariflar, paketlar va turli xil modifikatorlar mavjud. Biz nafaqat abonentga gapirishga ruxsat berishimiz yoki rad etishimiz, balki unga ma'lum bir kvota berishimiz kerak - u sezmasligi uchun real vaqt rejimida qo'ng'iroqlar va harakatlarni hisoblang.

xatolarga chidamlilik

Bu markazlashtirishning boshqa tomoni.

Agar biz barcha abonentlarni bitta tizimda to'plasak, har qanday favqulodda hodisalar va ofatlar biznes uchun halokatli bo'ladi. Shuning uchun biz tizimni butun abonent bazasiga baxtsiz hodisalar ta'sirini bartaraf etadigan tarzda loyihalashtiramiz.

Bu yana vertikal o'lchovni rad etishning natijasidir. Gorizontal miqyosda biz serverlar sonini yuzlab dan minglabgacha oshirdik. Ular boshqarilishi va almashtirilishi, AT infratuzilmasini avtomatik ravishda zaxiralashi va taqsimlangan tizimni qayta tiklashi kerak.

Biz shunday qiziqarli sinovlarga duch keldik. Biz tizimni ishlab chiqdik va o'sha paytda biz qanday trendda ekanimizni, ilg'or texnologiyalarga qanchalik amal qilayotganimizni tekshirish uchun eng yaxshi global amaliyotlarni topishga harakat qildik.

Jahon tajribasi

Ajablanarlisi shundaki, biz global telekomda bitta ma'lumotnomani topa olmadik.

Evropa obunachilar soni va miqyosi bo'yicha, AQSh esa tariflarning tekisligi bo'yicha tushib ketdi. Biz Xitoyda ba'zilarini ko'rib chiqdik va Hindistonda topdik va Vodafone Hindistondan mutaxassislarni yolladik.

Arxitekturani tahlil qilish uchun biz turli sohalardagi arxitektorlar - IBM boshchiligidagi Dream Teamni yig'dik. Bu odamlar nima qilayotganimizni munosib baholay olishdi va arxitekturamizga ma'lum bilimlarni olib kelishlari mumkin edi.

Kattalashtirish

Rasm uchun bir nechta raqamlar.

Biz tizimni loyihalashtiramiz Bir milliard zaxiraga ega 80 million abonent. Shunday qilib, biz kelajakdagi chegaralarni olib tashlaymiz. Bu biz Xitoyni egallab olishimiz uchun emas, balki IoT va M2M hujumi tufayli.

Real vaqt rejimida 300 million hujjat qayta ishlandi. Bizning 80 million obunachimiz bo'lsa-da, biz potentsial mijozlar bilan ham, debitorlik qarzlarini undirishimiz kerak bo'lsa, bizni tark etganlar bilan ham ishlaymiz. Shuning uchun haqiqiy hajmlar sezilarli darajada kattaroqdir.

2 milliard tranzaksiya Balans har kuni o'zgaradi - bu to'lovlar, to'lovlar, qo'ng'iroqlar va boshqa hodisalar. 200 TB maʼlumotlar faol oʻzgarib bormoqda, biroz sekinroq o'zgartiring 8 PB ma'lumot, va bu arxiv emas, balki bitta hisob-kitobdagi jonli ma'lumotlar. Ma'lumotlar markazi bo'yicha masshtablash - 5 ta saytdagi 14 ming server.

Texnologiya to'plami

Biz arxitekturani rejalashtirib, tizimni yig'ishni boshlaganimizda, biz eng qiziqarli va ilg'or texnologiyalarni import qildik. Natijada har qanday Internet-pleer va yuqori yuklangan tizimlarni ishlab chiqaruvchi korporatsiyalar uchun tanish bo'lgan texnologiya to'plami.

Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

Stack boshqa yirik o'yinchilarning steklariga o'xshaydi: Netflix, Twitter, Viber. U 6 ta komponentdan iborat, lekin biz uni qisqartirish va birlashtirishni xohlaymiz.

Moslashuvchanlik yaxshi, lekin yirik korporatsiyada birlashmasdan hech qanday yo'l yo'q.

Biz bir xil Oracle-ni Tarantool-ga o'zgartirmoqchi emasmiz. Yirik kompaniyalarning haqiqatida bu utopiya yoki 5-10 yil davomida noaniq natijaga olib keladigan salib yurishidir. Ammo Kassandra va Couchbase osongina Tarantool bilan almashtirilishi mumkin va biz bunga intilamiz.

Nima uchun Tarantool?

Ushbu ma'lumotlar bazasini nima uchun tanlaganimiz uchun 4 ta oddiy mezon mavjud.

tezlik. MegaFon sanoat tizimlarida yuk sinovlarini o'tkazdik. Tarantool g'alaba qozondi - bu eng yaxshi ko'rsatkichni ko'rsatdi.

Bu boshqa tizimlar MegaFon ehtiyojlarini qondirmaydi, degani emas. Hozirgi xotira yechimlari shunchalik samaraliki, kompaniyaning zahiralari yetarli darajada. Ammo biz orqada qolgan, shu jumladan yuk testida emas, balki etakchi bilan muomala qilishdan manfaatdormiz.

Tarantool uzoq muddatda ham kompaniya ehtiyojlarini qoplaydi.

TCO narxi. MegaFon hajmlarida Couchbase-ni qo'llab-quvvatlash astronomik miqdordagi pulni talab qiladi, ammo Tarantool bilan vaziyat ancha yoqimli va ular funktsional jihatdan o'xshash.

Bizning tanlovimizga ozgina ta'sir qilgan yana bir yoqimli xususiyat shundaki, Tarantool boshqa ma'lumotlar bazalariga qaraganda xotira bilan yaxshiroq ishlaydi. U ko'rsatadi maksimal samaradorlik.

Ishonchlilik. MegaFon ishonchlilikka sarmoya kiritadi, ehtimol boshqalardan ko'ra ko'proq. Shunday qilib, biz Tarantoolga qaraganimizda, biz uni bizning talablarimizga javob berishimiz kerakligini angladik.

Biz o'z vaqtimizni va mablag'imizni sarfladik va Mail.ru bilan birgalikda bir nechta boshqa kompaniyalarda qo'llaniladigan korporativ versiyani yaratdik.

Tarantool-korxona bizni xavfsizlik, ishonchlilik va logging nuqtai nazaridan to'liq qoniqtirdi.

Hamkorlik

Men uchun eng muhimi ishlab chiquvchi bilan to'g'ridan-to'g'ri aloqa. Tarantool yigitlari aynan shu narsa bilan pora berishgan.

Agar siz o'yinchiga, ayniqsa langar mijozi bilan ishlaydigan o'yinchiga kelsangiz va buni, buni va buni qilish uchun ma'lumotlar bazasi kerakligini aytsangiz, u odatda javob beradi:

- Mayli, o'sha qoziqning pastki qismiga talablarni qo'ying - bir kun kelib, biz ularga etib boramiz.

Ko'pchilik keyingi 2-3 yil uchun yo'l xaritasiga ega va u erda integratsiya qilish deyarli mumkin emas, lekin Tarantool ishlab chiquvchilari nafaqat MegaFon-dan, balki o'zlarining ochiqligi bilan o'ziga jalb qiladilar va o'z tizimini mijozga moslashtiradilar. Bu ajoyib va ​​bizga juda yoqadi.

Biz Tarantooldan foydalanganmiz

Biz Tarantoolni bir nechta elementlarda ishlatamiz. Birinchisi uchuvchida, biz manzillar katalogi tizimida yaratdik. Bir vaqtlar men uni Yandex.Maps va Google Maps-ga o'xshash tizim bo'lishini xohlardim, lekin u biroz boshqacha bo'lib chiqdi.

Masalan, savdo interfeysidagi manzillar katalogi. Oracle da kerakli manzilni qidirish 12-13 soniya davom etadi. - noqulay raqamlar. Tarantool-ga o'tganimizda, Oracle-ni konsoldagi boshqa ma'lumotlar bazasi bilan almashtirganimizda va xuddi shu qidiruvni amalga oshirganimizda, biz 200x tezlikka erishamiz! Uchinchi harfdan keyin shahar paydo bo'ladi. Endi biz interfeysni birinchisidan keyin sodir bo'ladigan tarzda moslashtirmoqdamiz. Biroq, javob tezligi butunlay boshqacha - soniyalar o'rniga millisekundlar.

Ikkinchi dastur ikki tezlikli IT deb nomlangan zamonaviy mavzu. Buning sababi shundaki, har bir burchakdan maslahatchilar korporatsiyalar u erga borishlari kerakligini aytishadi.

Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

Infratuzilma qatlami mavjud, uning tepasida domenlar mavjud, masalan, telekom, korporativ tizimlar, korporativ hisobotlar kabi billing tizimi. Bu teginish kerak bo'lmagan yadrodir. Bu, albatta, mumkin, lekin paranoid tarzda sifatni ta'minlaydi, chunki u korporatsiyaga pul olib keladi.

Keyinchalik mikroservislar qatlami keladi - bu operator yoki boshqa o'yinchini ajratib turadigan narsa. Mikroservislar ma'lum keshlar asosida tezda yaratilishi mumkin, u erda turli domenlardan ma'lumotlarni olib keladi. Bu yerga tajribalar uchun maydon - agar biror narsa ishlamasa, men bitta mikroservisni yopdim va boshqasini ochdim. Bu haqiqatan ham bozorga chiqish vaqtini oshiradi va kompaniyaning ishonchliligi va tezligini oshiradi.

Mikroservislar, ehtimol, MegaFon-da Tarantool-ning asosiy roli.

Tarantooldan foydalanishni rejalashtirgan joy

Muvaffaqiyatli hisob-kitob loyihamizni Deutsche Telekom, Svyazcom, Vodafone India kabi transformatsiya dasturlari bilan solishtirsak, u hayratlanarli darajada dinamik va ijodiydir. Ushbu loyihani amalga oshirish jarayonida nafaqat MegaFon va uning tuzilishi o'zgartirildi, balki Mail.ru saytida Tarantool-korxonasi va bizning sotuvchimiz Nexign (sobiq Peter-Service) - BSS Box (qutili hisob-kitob echimi) paydo bo'ldi.

Bu qaysidir ma'noda Rossiya bozori uchun tarixiy loyihadir. Buni Frederik Bruksning "Afsonaviy odam-oy" kitobida tasvirlangan narsalar bilan solishtirish mumkin. Keyin, 60-yillarda IBM meynfreymlar uchun yangi OS/360 operatsion tizimini ishlab chiqish uchun 5 kishini yolladi. Bizda kamroq - 000 ta, lekin bizniki kamzulli va ochiq manba va yangi yondashuvlardan foydalanishni hisobga olgan holda biz samaraliroq ishlaymiz.

Quyida billing domenlari yoki kengroq aytganda, biznes tizimlari mavjud. Korxonadagi odamlar CRM-ni juda yaxshi bilishadi. Har bir inson allaqachon boshqa tizimlarga ega bo'lishi kerak: Open API, API Gateway.

Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

API oching

Keling, yana raqamlarni va Open API hozirda qanday ishlashini ko'rib chiqaylik. Uning yuki soniyada 10 000 tranzaksiya. Biz mikroservislar qatlamini faol ravishda rivojlantirishni va MegaFon umumiy API-ni yaratishni rejalashtirganimiz sababli, kelajakda bu qismda katta o'sishni kutmoqdamiz. Albatta, 100 000 tranzaksiya bo'ladi.

SSOda Mail.ru bilan solishtirish mumkinmi, bilmayman - yigitlar soniyada 1 000 0000 tranzaksiyaga ega. Ularning yechimi biz uchun juda qiziq va biz ularning tajribasini o'zlashtirishni rejalashtirmoqdamiz - masalan, Tarantool yordamida funktsional SSO zahirasini yaratish. Endi Mail.ru ishlab chiquvchilari buni biz uchun qilishmoqda.

CRM

CRM - bu biz milliardga ko'paytirmoqchi bo'lgan 80 million obunachi, chunki allaqachon uch yillik tarixni o'z ichiga olgan 300 million hujjat mavjud. Biz haqiqatan ham yangi xizmatlarni kutmoqdamiz va bu erda o'sish nuqtasi ulangan xizmatlardir. Bu o'sadigan to'p, chunki ko'proq va ko'proq xizmatlar bo'ladi. Shunga ko'ra, bizga hikoya kerak bo'ladi, biz bunga qoqilishni xohlamaymiz.

Hisob-fakturalarni chiqarish nuqtai nazaridan hisob-kitob qilish, mijozlarning debitorlik qarzlari bilan ishlash alohida domenga aylantirildi. Ishlashni yaxshilash uchun, amaliy domen arxitektura me'moriy naqsh.

Tizim domenlarga bo'linadi, yuk taqsimlanadi va xatolarga chidamlilik ta'minlanadi. Bundan tashqari, biz taqsimlangan arxitektura bilan ishladik.

Qolganlarning hammasi korporativ darajadagi yechimlardir. Qo'ng'iroqlar xotirasida - kuniga 2 mlrd, oyiga 60 mlrd. Ba'zan siz ularni bir oy ichida sanashingiz kerak va bu tezda yaxshi bo'ladi. Moliyaviy monitoring - bu doimiy ravishda o'sib borayotgan va o'sib borayotgan bir xil 300 million: abonentlar ko'pincha operatorlar o'rtasida ishlaydi va bu qismni oshiradi.

Mobil aloqaning eng telekom komponenti hisoblanadi onlayn hisob-kitob. Bular real vaqtda qo'ng'iroq qilish yoki qo'ng'iroq qilmaslik, qaror qabul qilish imkonini beruvchi tizimlardir. Bu erda yuk sekundiga 30 000 tranzaksiyani tashkil etadi, ammo ma'lumotlar uzatishning o'sishini hisobga olgan holda biz rejalashtirmoqdamiz. 250 000 tranzaksiya, va shuning uchun biz Tarantoolga juda qiziqamiz.

Oldingi rasm biz Tarantool-dan foydalanmoqchi bo'lgan domenlardir. CRM-ning o'zi, albatta, kengroq va biz uni yadroda ishlatmoqchimiz.

100 million obunachining taxminiy TTX ko'rsatkichi meni me'mor sifatida chalkashtirib yuboradi - agar 101 million bo'lsa-chi? Hammasini yana qaytadan qilish kerakmi? Buning oldini olish uchun biz keshlardan foydalanamiz, shu bilan birga foydalanish imkoniyatini oshiramiz.

Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

Umuman olganda, Tarantooldan foydalanishning ikkita yondashuvi mavjud. Birinchi - mikroservis darajasida barcha keshlarni yaratish. Men tushunganimdek, VimpelCom mijozlar keshini yaratib, shu yo‘ldan bormoqda.

Biz sotuvchilarga kamroq bog'liqmiz, biz BSS yadrosini o'zgartirmoqdamiz, shuning uchun bizda bitta mijoz fayli mavjud. Lekin biz uni kengaytirmoqchimiz. Shuning uchun biz biroz boshqacha yondashamiz - tizimlar ichida keshlarni yaratish.

Shu tarzda sinxronizatsiya kamroq bo'ladi - bitta tizim ham kesh, ham asosiy asosiy manba uchun javobgardir.

Usul faqat yangilanishlar, ya'ni ma'lumotlar o'zgarishlari bilan bog'liq qismlar yangilanganda tranzaksiya skeleti bilan Tarantool yondashuviga juda mos keladi. Qolgan hamma narsa boshqa joyda saqlanishi mumkin. Katta ma'lumotlar ko'li, boshqarilmaydigan global kesh yo'q. Keshlar tizim yoki mahsulotlar yoki mijozlar uchun yoki xizmat ko'rsatish uchun hayotni osonlashtirish uchun mo'ljallangan. Agar abonent qo'ng'iroq qilsa va xizmatingiz sifati haqida xafa bo'lsa, siz sifatli xizmat ko'rsatishni xohlaysiz.

RTO va RPO

ITda ikkita atama mavjud - OTR и RPO.

Qayta tiklash vaqti maqsadi nosozlikdan keyin xizmatni tiklash uchun ketadigan vaqt. RTO = 0, agar biror narsa muvaffaqiyatsiz bo'lsa ham, xizmat ishlashda davom etishini anglatadi.

Qayta tiklash nuqtasi maqsadi - bu ma'lumotlarni qayta tiklash vaqti, biz ma'lum vaqt ichida qancha ma'lumotlarni yo'qotishimiz mumkin. RPO = 0 ma'lumotlarni yo'qotmayotganimizni anglatadi.

Tarantool vazifasi

Keling, Tarantool uchun muammoni hal qilishga harakat qilaylik.

Berilgan: hamma tushunadigan ilovalar savati, masalan, Amazonda yoki boshqa joyda. Majburiy Shunday qilib, xarid qilish savati haftasiga 24 kun 7 soat yoki vaqtning 99,99% ishlaydi. Bizga kelgan buyurtmalar tartibda qolishi kerak, chunki biz abonentning ulanishini tasodifiy yoqib yoki o'chira olmaymiz - hamma narsa qat'iy izchil bo'lishi kerak. Oldingi obuna keyingisiga ta'sir qiladi, shuning uchun ma'lumotlar muhim - hech narsa yo'qolmasligi kerak.

qaror. Siz uni boshdan-oyoq hal qilishga urinib ko'rishingiz va ma'lumotlar bazasini ishlab chiquvchilardan so'rashingiz mumkin, ammo muammoni matematik tarzda hal qilib bo'lmaydi. Siz teoremalarni, saqlanish qonunlarini, kvant fizikasini eslab qolishingiz mumkin, lekin nima uchun - bu JB darajasida hal etilmaydi.

Yaxshi eski me'moriy yondashuv bu erda ishlaydi - siz mavzu sohasini yaxshi bilishingiz va ushbu jumboqni hal qilish uchun undan foydalanishingiz kerak.

Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

Bizning yechimimiz: Tarantool-da ilovalarning taqsimlangan reestrini yaratish - geo-tarqatilgan klaster. Diagrammada bu uch xil ma'lumotlarni qayta ishlash markazlari - ikkitasi Uraldan oldin, biri Uralsdan tashqarida va biz barcha so'rovlarni ushbu markazlar o'rtasida taqsimlaymiz.

Hozirda IT sohasida yetakchilardan biri hisoblangan Netflix 2012 yilgacha faqat bitta maʼlumot markaziga ega edi. Katoliklarning Rojdestvo bayrami arafasida, 24 dekabrda ushbu ma'lumotlar markazi ishlamay qoldi. Kanada va AQShdagi foydalanuvchilar sevimli filmlarisiz qolib, juda xafa bo'lishdi va bu haqda ijtimoiy tarmoqlarda yozishdi. Netflix hozirda g'arbiy-sharqiy sohilda uchta va g'arbiy Evropada bitta ma'lumot markaziga ega.

Biz dastlab geo-tarqatilgan yechimni yaratmoqdamiz - nosozliklarga chidamlilik biz uchun muhim.

Shunday qilib, bizda klaster bor, lekin RPO = 0 va RTO = 0 haqida nima deyish mumkin? Yechim oddiy, mavzuga qarab.

Ilovalarda nima muhim? Ikki qism: Savat uloqtirish TO sotib olish to'g'risida qaror qabul qilish va Keyin. Telekomda DO qismi odatda deyiladi qo'lga olish uchun buyurtma yoki buyurtma muzokaralari. Telekomda bu onlayn-do'konga qaraganda ancha qiyin bo'lishi mumkin, chunki u erda mijozga xizmat ko'rsatish, 5 ta variantni taklif qilish kerak va bularning barchasi bir muncha vaqt sodir bo'ladi, lekin savat to'ldiriladi. Ayni paytda muvaffaqiyatsizlik bo'lishi mumkin, ammo bu qo'rqinchli emas, chunki u inson nazorati ostida interaktiv ravishda sodir bo'ladi.

Agar Moskva ma'lumotlar markazi to'satdan ishlamay qolsa, avtomatik ravishda boshqa ma'lumotlar markaziga o'tish orqali biz ishlashni davom ettiramiz. Nazariy jihatdan, bitta mahsulot savatda yo'qolishi mumkin, lekin siz buni ko'rasiz, yana savatga qo'shing va ishlashni davom ettiring. Bu holda RTO = 0.

Shu bilan birga, ikkinchi variant mavjud: biz "yuborish" tugmasini bosganimizda, biz ma'lumotlar yo'qolmasligini xohlaymiz. Shu paytdan boshlab avtomatlashtirish ishlay boshlaydi - bu RPO = 0. Ushbu ikki xil naqshdan foydalangan holda, bir holatda u bitta almashtiriladigan masterga ega bo'lgan geo-tarqatilgan klaster bo'lishi mumkin, boshqa holatda esa qandaydir kvorum rekordi bo'lishi mumkin. Naqshlar farq qilishi mumkin, ammo biz muammoni hal qilamiz.

Bundan tashqari, ilovalarning taqsimlangan reestriga ega bo'lgan holda, biz hammasini kengaytira olamiz - bu reestrga kiradigan ko'plab dispetcherlar va ijrochilar mavjud.

Yangi avlod billing arxitekturasi: Tarantool-ga o'tish bilan transformatsiya

Kassandra va Tarantool birga

Yana bir holat bor - "balanslar ko'rgazmasi". Kassandra va Tarantooldan birgalikda foydalanishning qiziqarli holati.

Biz Cassandra-dan foydalanamiz, chunki kuniga 2 milliard qo'ng'iroq chegara emas va bundan ham ko'proq bo'ladi. Marketologlar trafikni manba bo'yicha ranglashni yaxshi ko'radilar; masalan, ijtimoiy tarmoqlarda tobora ko'proq tafsilotlar paydo bo'lmoqda. Bularning barchasi hikoyaga qo'shimcha qiladi.

Kassandra gorizontal ravishda istalgan o'lchamga o'lchash imkonini beradi.

Kassandra bilan biz o'zimizni qulay his qilamiz, lekin unda bitta muammo bor - u o'qishda yaxshi emas. Yozuvda hamma narsa yaxshi, soniyada 30 000 muammo emas - o'qish muammosi.

Shu sababli, keshga ega mavzu paydo bo'ldi va shu bilan birga biz quyidagi muammoni hal qildik: eski an'anaviy holat bor, onlayn to'lovdan o'tish uskunasi biz Kassandraga yuklaydigan fayllarga kiradi. Biz ushbu fayllarni ishonchli yuklab olish muammosi bilan kurashdik, hattoki IBM menejeri fayl uzatish maslahatidan foydalangan holda - fayllarni uzatishni samarali boshqaradigan echimlar mavjud, masalan, TCP emas, balki UDP protokoli. Bu yaxshi, lekin hali daqiqalar bor va biz hali hammasini yuklamadik, qo'ng'iroqlar markazidagi operator mijozga uning balansiga nima bo'lganiga javob bera olmaydi - biz kutishimiz kerak.

Buning oldini olish uchun biz parallel funktsional zahiradan foydalanamiz. Biz voqeani Kafka orqali Tarantool-ga yuborganimizda, agregatlarni real vaqtda qayta hisoblab chiqsak, masalan, bugungi kun uchun, biz olamiz naqd pul qoldiqlari, bu balanslarni istalgan tezlikda o'tkazishi mumkin, masalan, soniyada 100 ming tranzaksiya va xuddi shu 2 soniya.

Maqsad shundaki, qo'ng'iroq qilganingizdan so'ng, 2 soniya ichida shaxsiy hisobingizda nafaqat o'zgartirilgan balans, balki uning nima uchun o'zgarganligi haqida ma'lumot paydo bo'ladi.

xulosa

Bular Tarantooldan foydalanish misollari edi. Bizga Mail.ru’ning ochiqligi va turli ishlarni ko‘rib chiqishga tayyorligi juda yoqdi.

BCG yoki McKinsey, Accenture yoki IBM maslahatchilari uchun bizni yangi narsa bilan ajablantirishi qiyin - ular taklif qilayotgan narsalarning aksariyati biz allaqachon qilgan, qilgan yoki qilishni rejalashtirmoqdamiz. O'ylaymanki, Tarantool bizning texnologiya stackimizda o'zining munosib o'rnini egallaydi va ko'plab mavjud texnologiyalarni almashtiradi. Biz ushbu loyihani rivojlantirishning faol bosqichidamiz.

Oleg va Andreyning hisoboti o'tgan yilgi Tarantool konferentsiyasida eng yaxshilaridan biri bo'lib, 17 iyun kuni Oleg Ivlev nutq so'zlaydi. T+ konferensiyasi 2019 hisobot bilan "Nega Tarantool korxonada". Aleksandr Deulin ham MegaFon kompaniyasi taqdimotini o'tkazadi "Tarantool keshlari va Oracle'dan replikatsiya". Keling, nima o'zgarganini, qanday rejalar amalga oshirilganini bilib olaylik. Qo'shilish - konferentsiya bepul, siz qilishingiz kerak ro'yxatdan. Hammasi hisobotlar qabul qilinadi va konferentsiya dasturi shakllantirildi: yangi holatlar, Tarantooldan foydalanish bo'yicha yangi tajriba, arxitektura, korxona, o'quv qo'llanmalari va mikroservislar.

Manba: www.habr.com

a Izoh qo'shish