Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Зашто је корпорацији као што је МегаФон потребан Тарантоол за наплату? Споља се чини да обично дође продавац, донесе неку велику кутију, утакне утикач у утичницу - и то је наплата! Некада је тако било, а сада је архаично, а такви диносауруси су већ изумрли или изумиру. У почетку, наплата је систем за издавање рачуна - машина за бројање или калкулатор. У модерним телекомуникацијама то је систем аутоматизације за цео животни циклус интеракције са претплатником од закључења уговора до раскида, укључујући наплату у реалном времену, прихватање плаћања и још много тога. Наплата у телеком компанијама је попут борбеног робота - велики, моћан и напуњен оружјем.

Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Какве везе Тарантоол има са тим? Они ће причати о томе Олег Ивлев и Андреј Књажев. Олег је главни архитекта компаније Мегафон са великим искуством рада у страним компанијама, Андреј је директор пословних система. Из транскрипта њиховог извештаја о Тарантоол конференција 2018 научићете зашто је истраживање и развој потребан у корпорацијама, шта је Тарантоол, како су ћорсокак вертикалног скалирања и глобализације постали предуслови за појаву ове базе података у компанији, о технолошким изазовима, архитектонској трансформацији и како је техностак МегаФона сличан Нетфликсу , Гоогле и Амазон.

Пројекат "Јединствени обрачун"

Предметни пројекат се зове „Јединствена наплата“. Ту је Тарантоол показао своје најбоље квалитете.

Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Раст продуктивности Хи-Енд опреме није ишао у корак са растом претплатничке базе и растом броја услуга, очекивао се даљи раст броја претплатника и услуга због М2М, ИоТ-а и карактеристика гране које су довеле до до погоршања времена пуштања на тржиште. Компанија је одлучила да креира јединствени пословни систем са јединственом модуларном архитектуром светске класе, уместо 8 постојећих различитих система наплате.

МегаФон је осам компанија у једној. Године 2009. завршена је реорганизација: филијале широм Русије спојене су у једну компанију, МегаФон ОЈСЦ (сада ПЈСЦ). Дакле, компанија има 8 система наплате са сопственим „прилагођеним“ решењима, карактеристикама филијала и различитим организационим структурама, ИТ и маркетингом.

Све је било у реду док нисмо морали да лансирамо један заједнички савезни производ. Овде се појавило много потешкоћа: за неке се тарифе заокружују навише, за друге наниже, а за друге - на основу аритметичке средине. Таквих тренутака има на хиљаде.

Упркос чињеници да је постојала само једна верзија система наплате, један добављач, подешавања су се толико разишла да је требало много времена да се саставе. Покушали смо да смањимо њихов број и наишли смо на други проблем који је познат многим корпорацијама.

Вертикално скалирање. Чак ни најхладнији хардвер у то време није задовољавао потребе. Користили смо Хевлетт-Пацкард опрему из Супердоме Хи-Енд линије, али она није задовољила потребе ни две експозитуре. Желео сам хоризонтално скалирање без великих оперативних трошкова и капиталних улагања.

Очекивање раста броја претплатника и услуга. Консултанти су одавно донели приче о ИоТ-у и М2М свету телекомуникација: доћи ће време када ће сваки телефон и пегла имати СИМ картицу, а два у фрижидеру. Данас имамо један број претплатника, али ће их у блиској будућности бити много више.

Технолошки изазови

Ова четири разлога су нас мотивисала да направимо озбиљне промене. Постојао је избор између надоградње система и пројектовања од нуле. Дуго смо размишљали, доносили озбиљне одлуке, играли тендере. Као резултат тога, одлучили смо да дизајнирамо од самог почетка, и прихватили смо занимљиве изазове – технолошке изазове.

Прилагодљивост

Ако је било раније, рецимо, рецимо 8 наплата за 15 милиона претплатника, а сада је требало да ради 100 милиона претплатника и више - оптерећење је за ред величине веће.

Постали смо упоредиви по обиму са великим интернет играчима као што су Маил.ру или Нетфлик.

Али даљи покрет ка повећању оптерећења и базе претплатника поставио нам је озбиљне изазове.

Географија наше огромне земље

Између Калињинграда и Владивостока 7500 км и 10 временских зона. Брзина светлости је коначна и на таквим растојањима кашњења су већ значајна. 150 мс на најслађим модерним оптичким каналима је превише за наплату у реалном времену, посебно пошто је сада у телекомуникацијама у Русији. Поред тога, потребно је да ажурирате у једном радном дану, а са различитим временским зонама то представља проблем.

Не пружамо услуге само уз претплату, већ имамо сложене тарифе, пакете и разне модификаторе. Морамо не само да дозволимо или одбијемо претплатнику да разговара, већ му дамо одређену квоту - израчунајте позиве и акције у реалном времену тако да он то не примети.

толеранција грешака

Ово је друга страна централизације.

Ако прикупимо све претплатнике у једном систему, онда су сви ванредни догађаји и катастрофе погубни за пословање. Због тога систем дизајнирамо на начин да елиминишемо утицај хаварија на целу базу претплатника.

Ово је опет последица одбијања вертикалног скалирања. Када смо хоризонтално скалирали, повећали смо број сервера са стотина на хиљаде. Њима је потребно управљати и заменљиви, аутоматски правити резервне копије ИТ инфраструктуре и обнављати дистрибуирани систем.

Суочили смо се са тако занимљивим изазовима. Дизајнирали смо систем и у том тренутку смо покушали да пронађемо најбоље светске праксе да проверимо колико смо у тренду, колико пратимо напредне технологије.

Светско искуство

Изненађујуће, нисмо пронашли ни једну референцу у глобалном телекому.

Европа је отпала по броју претплатника и обима, САД - по равни тарифа. Погледали смо неке у Кини, а неке смо пронашли у Индији и ангажовали стручњаке из Водафоне Индије.

Да бисмо анализирали архитектуру, окупили смо Дреам Теам на челу са ИБМ-ом - архитекте из различитих области. Ови људи су могли на адекватан начин да процене шта радимо и донесу одређена сазнања у нашу архитектуру.

Скала

Неколико бројева за илустрацију.

Дизајнирамо систем за 80 милиона претплатника са резервом од милијарду. Овако уклањамо будуће прагове. Ово није зато што ћемо преузети Кину, већ због напада интернета ствари и М2М.

300 милиона докумената обрађених у реалном времену. Иако имамо 80 милиона претплатника, радимо и са потенцијалним клијентима и са онима који су нас напустили ако треба да наплатимо потраживања. Стога су стварне количине приметно веће.

2 милијарде трансакција Стање се мења свакодневно - то су плаћања, накнаде, позиви и други догађаји. 200 ТБ података се активно мења, мењајте се мало спорије 8 ПБ података, а ово није архива, већ подаци уживо у једном обрачуну. Скала по дата центру - 5 хиљада сервера на 14 сајтова.

Технолошки стог

Када смо планирали архитектуру и почели да склапамо систем, увезли смо најзанимљивије и најнапредније технологије. Резултат је низ технологија познат сваком Интернет играчу и корпорацијама које праве системе са високим оптерећењем.

Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Скуп је сличан стоговима других великих играча: Нетфлик, Твиттер, Вибер. Састоји се од 6 компоненти, али желимо да га скратимо и објединимо.

Флексибилност је добра, али у великој корпорацији нема начина без уједињења.

Нећемо мењати исти Орацле у Тарантоол. У реалности великих компанија, ово је утопија, или крсташки рат од 5-10 година са нејасним исходом. Али Цассандра и Цоуцхбасе се лако могу заменити Тарантоолом, и то је оно чему тежимо.

Зашто Тарантоол?

Постоје 4 једноставна критеријума зашто смо одабрали ову базу података.

Брзина. Спровели смо тестове оптерећења на индустријским системима МегаФон. Тарантоол је победио - показао је најбољи учинак.

То не значи да други системи не задовољавају потребе МегаФона. Тренутна меморијска решења су толико продуктивна да су резерве компаније више него довољне. Али ми смо заинтересовани да имамо посла са лидером, а не са неким ко заостаје, укључујући и тест оптерећења.

Тарантоол покрива потребе компаније чак и на дужи рок.

ТЦО трошак. Подршка за Цоуцхбасе на МегаФон волуменима кошта астрономске суме новца, али са Тарантоол-ом је ситуација много пријатнија, а слични су по функционалности.

Још једна лепа карактеристика која је мало утицала на наш избор је да Тарантоол боље ради са меморијом од других база података. Он показује максимална ефикасност.

Поузданост. МегаФон улаже у поузданост, вероватно више него било ко други. Дакле, када смо погледали Тарантоол, схватили смо да морамо да га натерамо да испуни наше захтеве.

Уложили смо своје време и финансије, и заједно са Маил.ру-ом направили смо корпоративну верзију, која се сада користи у неколико других компанија.

Тарантоол-ентерприсе нас је у потпуности задовољио у погледу безбедности, поузданости и сече.

Partnerstvo

Најважнија ствар за мене је директан контакт са програмером. То је управо оно чиме су се подмитили момци из Тарантула.

Ако дођете до играча, посебно оног који ради са сидреним клијентом, и кажете да вам је потребна база података да бисте могли да урадите ово, ово и ово, он обично одговара:

- Добро, ставите захтеве на дно те гомиле - једног дана ћемо вероватно доћи до њих.

Многи имају мапу пута за наредне 2-3 године и ту је скоро немогуће интегрисати се, али Тарантоол програмери плене својом отвореношћу, и то не само од МегаФона, и прилагођавају свој систем купцу. Супер је и стварно нам се свиђа.

Где смо користили Тарантоол

Тарантоол користимо у неколико елемената. Први је у пилоту, који смо направили на систему адресара. Својевремено сам желео да то буде систем сличан Иандек.Мапс и Гугл мапама, али се испоставило мало другачије.

На пример, каталог адреса у интерфејсу продаје. На Орацле-у, тражење жељене адресе траје 12-13 секунди. - непријатне бројке. Када пређемо на Тарантоол, заменимо Орацле другом базом података у конзоли и извршимо исту претрагу, добијамо 200к убрзање! Град се појављује након трећег слова. Сада прилагођавамо интерфејс тако да се ово деси након првог. Међутим, брзина одзива је потпуно другачија – милисекунде уместо секунди.

Друга апликација је модерна тема која се зове ИТ две брзине. То је зато што консултанти са свих страна кажу да би корпорације требало да иду тамо.

Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Постоји инфраструктурни слој, изнад њега постоје домени, на пример, систем наплате као што је телеком, корпоративни системи, корпоративно извештавање. Ово је језгро које не треба дирати. То је, наравно, могуће, али параноично осигуравајући квалитет, јер то доноси новац корпорацији.

Следећи слој микросервиса – оно што разликује оператера или другог играча. Микросервис се може брзо креирати на основу одређених кеша, доносећи тамо податке из различитих домена. Ево поље за експерименте — ако нешто није ишло, затворио сам један микросервис и отворио други. Ово обезбеђује заиста продужено време за излазак на тржиште и повећава поузданост и брзину компаније.

Микросервис је можда главна улога Тарантоол-а у МегаФону.

Где планирамо да користимо Тарантоол

Ако упоредимо наш успешан пројекат наплате са програмима трансформације у Деутсцхе Телеком, Свиазцом, Водафоне Индиа, он је изненађујуће динамичан и креативан. У процесу имплементације овог пројекта трансформисан је не само МегаФон и његова структура, већ се на Маил.ру појавио и Тарантоол-ентерприсе, а наш добављач Некигн (раније Петер-Сервице) - БСС Бок (решење за наплату у кутији).

Ово је, у извесном смислу, историјски пројекат за руско тржиште. Може се упоредити са оним што је описано у књизи Фредерика Брукса „Тхе Митхицал Ман-Монтх”. Затим, 60-их година, ИБМ је ангажовао 360 људи да развију нови ОС/5 оперативни систем за мејнфрејм рачунаре. Имамо мање – 000, али наши су у прслуцима, а узимајући у обзир коришћење отвореног кода и нових приступа, радимо продуктивније.

Испод су домени наплате или, шире говорећи, пословни системи. Људи из предузећа веома добро познају ЦРМ. Сви би већ требали имати друге системе: Опен АПИ, АПИ Гатеваи.

Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Отвори АПИ

Хајде да поново погледамо бројке и како Опен АПИ тренутно функционише. Његово оптерећење је 10 трансакција у секунди. Пошто планирамо да активно развијамо слој микросервиса и изградимо јавни АПИ МегаФон, очекујемо већи раст у будућности у овом делу. Сигурно ће бити 100 трансакција.

Не знам да ли можемо да упоредимо са Маил.ру у ССО - момци изгледа да имају 1 трансакција у секунди. Њихово решење нам је изузетно интересантно и планирамо да усвојимо њихово искуство – на пример, прављење функционалне ССО резервне копије користећи Тарантоол. Сада програмери са Маил.ру то раде за нас.

ЦРМ

ЦРМ је истих 80 милиона претплатника које желимо да повећамо на милијарду, јер већ постоји 300 милиона докумената који укључују трогодишњу историју. Заиста се радујемо новим услугама и овде тачка раста су повезане услуге. Ово је лопта која ће расти, јер ће бити све више сервиса. Сходно томе, биће нам потребна прича; не желимо да се спотакнемо о томе.

Сама наплата у смислу издавања фактура, рад са рачунима купаца трансформисан у посебан домен. Да бисте побољшали перформансе, примењена архитектура домена архитектонски образац.

Систем је подељен на домене, оптерећење је распоређено и обезбеђена је отпорност на грешке. Поред тога, радили смо са дистрибуираном архитектуром.

Све остало су решења на нивоу предузећа. У складишту позива - 2 милијарде дневно, 60 милијарди месечно. Понекад их морате пребројати за месец дана, а боље је брзо. Финансијски мониторинг - ово је тачно истих 300 милиона који стално расту и расту: претплатници често трче између оператера, повећавајући овај део.

Највише телеком компонента мобилних комуникација је онлајн наплату. То су системи који вам омогућавају да позовете или не позовете, донесете одлуке у реалном времену. Овде је оптерећење 30 трансакција у секунди, али узимајући у обзир раст преноса података, планирамо 250 трансакција, и стога смо веома заинтересовани за Тарантоол.

Претходна слика су домени где ћемо користити Тарантоол. Сам ЦРМ је, наравно, шири и ми ћемо га користити у самом језгру.

Наша процењена ТТКС цифра од 100 милиона претплатника ме збуњује као архитекту - шта ако 101 милион? Морате ли све поновити? Да бисмо спречили да се то догоди, користимо кеш меморије, истовремено повећавајући доступност.

Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Генерално, постоје два приступа коришћењу Тарантоол-а. Први - изградити све кеш меморије на нивоу микросервиса. Колико сам разумео, ВимпелЦом иде овим путем, стварајући кеш клијената.

Мање зависимо од добављача, мењамо језгро БСС-а, тако да имамо један клијентски фајл из кутије. Али желимо да га проширимо. Стога, ми користимо мало другачији приступ - праве кеш меморије унутар система.

На овај начин постоји мање синхронизације – један систем је одговоран и за кеш и за главни главни извор.

Метода се добро уклапа са Тарантоол приступом са трансакционим скелетом, када се ажурирају само делови који се односе на ажурирања, односно промене података. Све остало се може ускладиштити негде другде. Не постоји огромно језеро података, неуправљана глобална кеш меморија. Кешови су дизајнирани за систем, или за производе, или за клијенте, или да олакшају живот за одржавање. Када вас претплатник позове и узнемири се због квалитета ваше услуге, желите да пружите квалитетну услугу.

РТО и РПО

У ИТ-у постоје два појма - РТО и Рпо.

Циљ времена опоравка је време потребно за обнављање услуге након квара. РТО = 0 значи да чак и ако нешто не успе, услуга наставља да ради.

Циљ тачке опоравка - ово је време опоравка података, колико података можемо изгубити током одређеног временског периода. РПО = 0 значи да не губимо податке.

Тарантоол задатак

Хајде да покушамо да решимо проблем за Тарантоол.

Дато: корпа апликација које сви разумеју, на пример, у Амазону или негде другде. Обавезно тако да колица за куповину раде 24 сата 7 дана у недељи, или 99,99% времена. Налози који нам стижу морају остати у реду, јер не можемо насумично укључити или искључити претплатничку везу - све мора бити стриктно конзистентно. Претходна претплата утиче на следећу, тако да су подаци важни - ништа не би требало да нестане.

одлука. Можете покушати да га решите директно и питате програмере базе података, али проблем се не може решити математички. Можете да се сетите теорема, закона одржања, квантне физике, али зашто - то се не може решити на нивоу ДБ.

Овде функционише стари добри архитектонски приступ – потребно је добро познавати предметну област и користити је да решите ову загонетку.

Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Наше решење: креирање дистрибуираног регистра апликација на Тарантоол-у - гео-дистрибуисаном кластеру. На дијаграму су то три различита центра за обраду података – два пре Урала, један иза Урала, и ми дистрибуирамо све захтеве међу тим центрима.

Нетфликс, који се сада сматра једним од водећих у ИТ-у, имао је само један дата центар до 2012. године. Уочи католичког Божића, 24. децембра, овај дата центар се срушио. Корисници у Канади и САД остали су без својих омиљених филмова, били су веома узнемирени и писали о томе на друштвеним мрежама. Нетфлик сада има три дата центра на западно-источној обали и један у западној Европи.

У почетку градимо гео-дистрибуирано решење - важна нам је толеранција кварова.

Дакле, имамо кластер, али шта је са РПО = 0 и РТО = 0? Решење је једноставно, у зависности од предмета.

Шта је важно у апликацијама? Два дела: бацање корпе ТО доношење одлуке о куповини, и НАКОН. ДО део у телекому се обично назива хватање реда или преговарање о налогу. У телекому то може бити много теже него у онлајн продавници, јер се тамо клијент мора услужити, понудити 5 опција, и све се то дешава неко време, али је корпа попуњена. У овом тренутку квар је могућ, али није страшно, јер се дешава интерактивно под људским надзором.

Ако московски дата центар изненада пропадне, онда ћемо аутоматским преласком на други центар података наставити да радимо. Теоретски, један производ може бити изгубљен у корпи, али видите га, додајте га поново у корпу и наставите са радом. У овом случају РТО = 0.

Истовремено, постоји и друга опција: када кликнемо на „пошаљи“, желимо да подаци не буду изгубљени. Од овог тренутка, аутоматизација почиње да ради – ово је РПО = 0. Користећи ова два различита обрасца, у једном случају то би једноставно могао бити гео-дистрибуисани кластер са једним преклопним главним, у другом случају нека врста записа кворума. Обрасци се могу разликовати, али ми решавамо проблем.

Даље, имајући дистрибуирани регистар апликација, можемо све то и скалирати – имати много диспечера и извршитеља који приступају овом регистру.

Архитектура наплате нове генерације: трансформација са преласком на Тарантоол

Касандра и Тарантоол заједно

Постоји још један случај - "витрина биланса". Ево занимљивог случаја заједничке употребе Цассандре и Тарантоол-а.

Користимо Цассандру јер 2 милијарде позива дневно није граница, а биће их још. Маркетиншки стручњаци воле да боје саобраћај по изворима; на пример, на друштвеним мрежама се појављује све више детаља. Све то доприноси причи.

Цассандра вам омогућава хоризонтално скалирање до било које величине.

Са Касандром се осећамо пријатно, али она има један проблем - није добра у читању. На снимку је све у реду, 30 у секунди није проблем - проблем читања.

Стога се појавила тема са кешом, а уједно смо решили и следећи проблем: постоји стари традиционални случај када опрема са прекидача са онлајн наплате долази у фајлове које учитавамо у Цассандру. Борили смо се са проблемом поузданог преузимања ових датотека, чак и користећи савет ИБМ менаџера за пренос датотека – постоје решења која ефикасно управљају преносом датотека, користећи УДП протокол, на пример, уместо ТЦП. Ово је добро, али још је минута, а још нисмо све учитали, оператер у кол центру не може да одговори клијенту шта му се десило са стањем - морамо да сачекамо.

Да се ​​то не догоди, ми користимо паралелну функционалну резерву. Када пошаљемо догађај преко Кафке у Тарантоол, прерачунавајући агрегате у реалном времену, на пример, за данас, добијамо салда готовине, који може пренети стање било којом брзином, на пример, 100 хиљада трансакција у секунди и те исте 2 секунде.

Циљ је да након упућивања позива, у року од 2 секунде на вашем личном налогу не буде само промењено стање, већ и информација о томе зашто се променило.

Закључак

Ово су били примери коришћења Тарантоол-а. Заиста нам се допала отвореност Маил.ру-а и њихова спремност да размотре различите случајеве.

Већ је тешко консултантима из БЦГ-а или МцКинсеи-а, Аццентуре-а или ИБМ-а да нас изненаде нечим новим - много од онога што они нуде, ми већ радимо, урадили смо или планирамо да урадимо. Мислим да ће Тарантоол заузети место које му припада у нашој технолошкој групи и да ће заменити многе постојеће технологије. Налазимо се у активној фази развоја овог пројекта.

Извештај Олега и Андреја један је од најбољих на прошлогодишњој конференцији Тарантоол, а 17. јуна Олег Ивлев ће говорити на Т+ конференција 2019 са извештајем „Зашто Тарантоол у ​​предузећу”. Презентацију МегаФона одржаће и Александар Деулин „Тарантоол кеш и репликација из Орацле-а“. Хајде да сазнамо шта се променило, који планови су спроведени. Придружите се – конференција је бесплатна, све што треба да урадите је регистровати. Све извештаји прихваћени и формиран је програм конференције: нови случајеви, ново искуство у коришћењу Тарантоол-а, архитектуре, предузећа, туторијала и микросервиса.

Извор: ввв.хабр.цом

Додај коментар