Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

Varför behöver en sĂ„dan korporation som MegaFon Tarantool i faktureringen? Det verkar som om en leverantör vanligtvis kommer in, tar med sig en stor lĂ„da, kopplar in den i uttaget – och dĂ€r har vi faktureringen! SĂ„ var det en gĂ„ng, men nu Ă€r det en arkaisk metod, och sĂ„dana dinosaurier har antingen dött ut eller hĂ„ller pĂ„ att försvinna. Ursprungligen var fakturering ett system för att skapa fakturor – en rĂ€knesnurra eller kalkylator. Inom modern telekommunikation Ă€r det ett system för automatisering av hela livscykeln av interaktionerna med abonnenten, frĂ„n avtalets ingĂ„ende till uppsĂ€gning, inklusive realtidsprissĂ€ttning, betalningsmottagning och mycket mer. Fakturering i telekomföretag liknar en stridsrobot – stor, kraftfull och bevĂ€pnad.

Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

Vad har dÄ Tarantool med detta att göra? Det kommer Oleg Ivlev och Andrey Knyazev. Oleg Àr huvudarkitekten för företaget MegaFon med lÄng erfarenhet frÄn utlÀndska företag, och Andrey Àr direktör för affÀrssystem. FrÄn deras föredrag pÄ Tarantool Conference 2018 kommer du att fÄ veta varför R&D Àr viktigt i företag, vad Tarantool Àr, hur den vertikala skalningens vÀg Àr en dead-end och globaliseringen blev en förutsÀttning för att denna databas kom till företaget, samt de teknologiska utmaningar, transformeringen av arkitekturen, och hur MegaFons teknologistack liknar Netflix, Google och Amazon.

Spela video

Projektet "Enhetlig fakturering"

Projektet vi kommer att diskutera kallas "Enhetlig fakturering". Det Àr hÀr Tarantool visade sina bÀsta egenskaper.

Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

TillvÀxten av prestanda hos Hi-End utrustning kunde inte hÄlla jÀmna steg med tillvÀxten av abonnentbasen och antalet tjÀnster, och en fortsatt ökning av abonnenter och tjÀnster förvÀntades genom M2M, IoT, samt filialernas specifika behov ledde till en försÀmring av time-to-market. Företaget beslutade att skapa ett enhetligt affÀrssystem med en unik modulÀr arkitektur av vÀrldsklass, som en ersÀttning för 8 nuvarande olika faktureringssystem.

MegaFon Ă€r Ă„tta företag i ett. År 2009 avslutades omorganisationen: filialer över hela Ryssland slogs samman till ett enda företag, OAO "MegaFon" (nu PAO). PĂ„ sĂ„ sĂ€tt fick företaget 8 faktureringssystem med egna "anpassade" lösningar, filialspecifika behov och olika organisationstrukturer, IT och marknadsföring.

Allt gick bra tills vi var tvungna att lansera en gemensam federal produkt. HÀr dök det upp en massa svÄrigheter: vissa hade avrundning uppÄt, andra nerÄt, och vissa hade det utifrÄn medelvÀrdet. Det finns tusentals sÄdana situationer.

Trots att versionen av faktureringssystemet Àr densamma och det Àr en leverantör, varierade instÀllningarna sÄ mycket att det tog lÄng tid att stÀmma ihop dem. Vi försökte minska antalet, och stötte pÄ det andra problemet som mÄnga företag kÀnner till.

Vertikal skalning. Även den mest avancerade hĂ„rdvaran vid den tiden motsvarade inte behoven. Under arbetet anvĂ€nde vi Hewlett-Packard-utrustning frĂ„n Superdome Hi-End-serien, men den klarade inte ens behovet frĂ„n tvĂ„ filialer. Vi önskade horisontell skalning utan stora driftskostnader och kapitalinvesteringar.

FörvÀntan pÄ tillvÀxt av antalet abonnenter och tjÀnster. Konsulter har lÀnge fört berÀttelser om IoT och M2M in i telekomvÀrlden: det kommer en tid dÄ varje telefon och strykjÀrn har ett SIM-kort, och kylskÄp kommer ha tvÄ. Idag har vi ett visst antal abonnenter, men inom en snar framtid kommer det att bli betydligt fler.

Teknologiska utmaningar

Dessa fyra orsaker drev oss till omfattande förĂ€ndringar. Det fanns ett val mellan att uppgradera systemet eller bygga frĂ„n grunden. Vi funderade lĂ€nge, fattade svĂ„ra beslut, gick pĂ„ upphandlingar. I slutĂ€ndan beslutade vi oss för att konstruera frĂ„n grunden och ta oss an intressanta utmaningar – teknologiska utmaningar.

Skalbarhet

Om det tidigare var, lĂ„t oss sĂ€ga, 8 faktureringssystem för 15 miljoner abonnenter, sĂ„ skulle det nu bli 100 miljoner abonnenter eller fler – belastningen Ă€r betydligt högre.

Vi blev jÀmförbara i skala med stora internetaktörer som Mail.ru eller Netflix.

Men det fortsatta arbetet med att öka belastningen och abonnentbasen stÀllde allvarliga frÄgor för oss.

Geografin i vÄrt stora land

Mellan Kaliningrad och Vladivostok 7500 km och 10 tidszoner. Ljusets hastighet Àr Àndlig och pÄ sÄdana avstÄnd Àr fördröjningar redan betydande. 150 ms pÄ de mest avancerade moderna optiska kanalerna Àr ganska mycket för realtidsfakturering, sÀrskilt som den Àr just nu inom telekom i Ryssland. Dessutom mÄste uppdateringar göras inom en arbetsdag, vilket Àr ett problem med olika tidszoner.

Vi tillhandahĂ„ller inte bara abonnemangstjĂ€nster, vi har komplexa prismodeller, paket och olika modifierare. Vi mĂ„ste inte bara ge abonnenten tillstĂ„nd eller nekad att kommunicera, utan ge dem en specifik kvot – berĂ€kna samtal och Ă„tgĂ€rder i realtid sĂ„ att de inte mĂ€rker nĂ„got.

Fel-tolerans

Detta Àr baksidan av centralisering.

Om vi samlar alla abonnenter i ett system, sÄ blir eventuella nödsituationer och katastrofer förödande för affÀrerna. DÀrför designar vi systemet sÄ att det utesluter pÄverkan av olyckor pÄ hela kundbasen.

Detta Àr Äterigen en konsekvens av att avstÄ frÄn vertikal skalning. NÀr vi gick mot horisontell skalning ökade vi antalet servrar frÄn hundratals till tusentals. Dessa mÄste hanteras och skapa utbytbarhet, automatiskt sÀkerhetskopiera IT-infrastrukturen och ÄterhÀmta det distribuerade systemet.

Det har funnits intressanta utmaningar framför oss. Vi har designat systemet och i detta ögonblick försökte vi hitta vÀrldspraxis för att kontrollera hur mycket vi Àr i takt med, hur mycket vi följer den senaste teknologin.

VĂ€rldserfarenhet

FörvÄnande nog hittade vi ingen referens i den globala telekomsektorn.

Europa uteslöts pÄ grund av antalet abonnenter och skalan, USA pÄ grund av prismodellerna. Vi tittade pÄ nÄgot i Kina, och hittade nÄgot i Indien och tog experter frÄn Vodafone Indien.

För att analysera arkitekturen samlade vi Dream Team under ledning av IBM – arkitekter frĂ„n olika omrĂ„den. Dessa personer kunde adekvat bedöma vad vi gör och tillföra specifik kunskap till vĂ„r arkitektur.

Skala

NÄgra siffror för illustration.

Vi designar systemet för 80 miljoner abonnenter med reserv för en miljard. SÄ hÀr tar vi bort framtida grÀnser. Det beror inte pÄ att vi tÀnker erövra Kina, utan pÄ grund av trycket frÄn IoT och M2M.

300 miljoner dokument bearbetas i realtid. Även om vi har 80 miljoner abonnenter, arbetar vi ocksĂ„ med potentiella kunder och de som har lĂ€mnat oss, om det behövs för att Ă„terkrĂ€va fordringar. DĂ€rför Ă€r de verkliga volymerna betydligt större.

2 miljarder transaktioner förĂ€ndrar saldot dagligen – detta inkluderar betalningar, debiteringar, samtal och andra hĂ€ndelser. 200 TB data förĂ€ndras aktivt, nĂ„got lĂ„ngsammare förĂ€ndras 8 PB data, och det Ă€r inte ett arkiv, utan levande data i en och samma fakturering. Skalan med datacenter Ă€r 5 000 servrar pĂ„ 14 platser.

Teknologisk stack

NÀr vi planerade arkitekturen och började bygga systemet importerade vi de mest intressanta och avancerade teknologierna. Resultatet blev en teknologisk stack som Àr bekant för alla internetanvÀndare och företag som bygger högbelastade system.

Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

Stacken liknar stackarna hos andra stora aktörer: Netflix, Twitter, Viber. Den bestÄr av 6 komponenter, men vi vill förenkla och enhetliggöra den.

Flexibilitet Àr bra, men utan enhetlighet fungerar det inte i ett stort företag.

Vi tĂ€nker inte byta ut Oracle mot Tarantool. I stora företagsverkligheter Ă€r det en utopi, eller ett korstĂ„g som tar 5–10 Ă„r med ett oklart resultat. Men Cassandra och Couchbase kan gott ersĂ€ttas med Tarantool, och vi strĂ€var efter det.

Varför Tarantool?

Det finns 4 enkla kriterier för varför vi valde denna databasen.

Hastighet. Vi genomförde belastningstester pĂ„ MegaFons industriella system. Tarantool vann – den visade bĂ€st prestanda.

Man kan inte sÀga att andra system inte tillfredsstÀller MegaFons behov. De nuvarande minneslösningarna Àr sÄ effektiva att det utrymmet företaget har Àr mer Àn tillrÀckligt. Men vi Àr intresserade av att jobba med en ledare, och inte med dem som halkar lÀngst bak, Àven i belastningstestet.

Tarantool uppfyller företagets behov Àven pÄ lÄng sikt.

TCO-kostnad. Stödet för Couchbase i MegaFons volymer kostar astronomiska summor, medan situationen med Tarantool Àr mycket trevligare, och funktionaliteten Àr nÀra.

En annan trevlig aspekt som pĂ„verkade vĂ„rt val – Tarantool arbetar bĂ€ttre med minnet Ă€n andra databaser. Den visar maximal effektivitet.

PÄlitlighet. MegaFon investerar i pÄlitlighet, kanske mer Àn nÄgon annan. DÀrför nÀr vi tittade pÄ Tarantool insÄg vi att vi mÄste se till att den uppfyller vÄra krav.

Vi har investerat vÄr tid och pengar, och tillsammans med Mail.ru skapade vi en företagsversion som nu anvÀnds av flera andra företag.

Tarantool-enterprise uppfyllde helt vÄra krav nÀr det kommer till sÀkerhet, tillförlitlighet och loggning.

Partnerskap

Det viktigaste för mig Àr den direkta kontakten med utvecklaren. Det Àr precis det som killarna frÄn Tarantool har gjort intryck pÄ oss.

Om du kommer till en spelare, sÀrskilt en som arbetar med en strategisk kund, och sÀger att du behöver att databasen kan göra det hÀr, det hÀr och det hÀr, brukar han svara:

— Okej, lĂ€gg kraven lĂ€ngst ner i den dĂ€r högen – kanske kommer vi till dem en dag.

MÄnga har en roadmap för de kommande 2-3 Ären, och det Àr nÀstan omöjligt att fÄ in nÄgot dÀr, men utvecklarna av Tarantool imponerar med sin öppenhet, inte bara gentemot MegaFon, och anpassar sitt system efter kunden. Det Àr fantastiskt och vi gillar det verkligen.

DÀr vi tillÀmpar Tarantool

Vi anvÀnder Tarantool i flera komponenter. Första Àr i piloten, som vi gjorde med det adresserade katalogsystemet. I sin tid ville vi att det skulle vara ett system som liknar Yandex.Kartor och Google Maps, men resultatet blev nÄgot annat.

Som exempel, katalogen av adresser i försĂ€ljningsgrĂ€nssnittet. PĂ„ Oracle tar det 12-13 sekunder att söka efter en adress – obekvĂ€ma siffror. NĂ€r vi byter till Tarantool, ersĂ€tter Oracle med en annan databas i konsolen, och gör samma sökning, fĂ„r vi en acceleration pĂ„ 200 gĂ„nger! Staden dyker upp efter tredje bokstaven. Just nu anpassar vi grĂ€nssnittet sĂ„ att det sker efter den första. Trots det Ă€r svaret helt annorlunda – redan i millisekunder istĂ€llet för sekunder.

Den andra tillÀmpningen Àr en het trend som kallas dual-speed IT. Allt för att konsulter frÄn varje hörn sÀger att företag bör gÄ dit.

Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

HÀr finns en infrastruktur som ligger ovanför den, exempelvis faktureringssystem, som i telekom, företagssystem, företagsrapportering. Det Àr kÀrnan som man inte bör röra. Det gÄr naturligtvis, men man mÄste paranoidt sÀkerstÀlla kvaliteten, för det ger företagen intÀkter.

DĂ€refter kommer lagret med mikrotjĂ€nster – nĂ„got som sĂ€rskiljer operatören eller en annan aktör. MikrotjĂ€nster kan snabbt skapas baserat pĂ„ vissa cache och genom att hĂ€mta data frĂ„n olika domĂ€ner. HĂ€r finns utrymme för experiment – om nĂ„got inte fungerar, stĂ€nger man en mikrotjĂ€nst och öppnar en annan. Det garanterar verkligen en ökad time-to-market och ökar företagets pĂ„litlighet och hastighet.

MikrotjÀnster Àr förmodligen den huvudsakliga rollen för Tarantool i MegaFon.

DÀr planerar vi att tillÀmpa Tarantool

Om man jÀmför vÄrt framgÄngsrika faktureringsprojekt med transformationsprogrammen hos Deutsche Telekom, Svjaztkom, Vodafone India, Àr det fantastiskt dynamiskt och kreativt. I genomförandet av detta projekt har inte bara MegaFon och dess struktur transformerats, utan Àven Tarantool-enterprise hos Mail.ru, och vÄr leverantör Nexign (tidigare "Peter-Service") har BSS Box (en paketlösning för fakturering).

Detta Ă€r, pĂ„ nĂ„got sĂ€tt, ett historiskt projekt för den ryska marknaden. Det kan jĂ€mföras med vad som beskrivs i Frederick Brooks bok "The Mythical Man-Month". DĂ„, pĂ„ 60-talet, anvĂ€nde IBM 5 000 personer för att utveckla det nya operativsystemet OS/360 för deras mainframes. Vi har fĂ€rre – 1 800, men med vĂ„ra tröjor och med hĂ€nsyn till anvĂ€ndningen av öppen kĂ€llkod och nya tillvĂ€gagĂ„ngssĂ€tt arbetar vi mer effektivt.

Nedan visas domÀner för fakturering eller, om vi pratar bredare, affÀrssystem. Folk inom enterprise kÀnner till CRM. Andra system borde alla redan ha: Open API, API Gateway.

Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

Open API

LÄt oss Äterigen titta pÄ siffrorna och hur Open API fungerar nu. Dess belastning Àr 10 000 transaktioner per sekund. Eftersom vi planerar att aktivt utveckla lager av mikrotjÀnster och bygga en offentlig API för MegaFon, förvÀntar vi oss en större tillvÀxt i framtiden, sÀrskilt inom detta omrÄde. 100 000 transaktioner kommer definitivt att bli verklighet.

Jag vet inte om vi kommer att kunna jĂ€mföra oss med Mail.ru i SSO – de har, verkar det som, 1 000 000 transaktioner per sekund. Deras lösning Ă€r extremt intressant för oss och vi planerar att ta del av deras erfarenhet – till exempel att skapa en funktionell reserv för SSO med hjĂ€lp av Tarantool. Just nu arbetar utvecklarna frĂ„n Mail.ru pĂ„ detta hos oss.

CRM

CRM Ă€r de dĂ€r 80 miljoner abonnenter som vi vill föra till en miljard, eftersom vi redan har 300 miljoner dokument som inkluderar tre Ă„rs historia. Vi vĂ€ntar verkligen pĂ„ nya tjĂ€nster, och hĂ€r ligger tillvĂ€xtpunkten – det Ă€r de anslutna tjĂ€nsterna. Det Ă€r en sfĂ€r som kommer att vĂ€xa, för det kommer att finnas fler och fler tjĂ€nster. DĂ€rmed kommer det att behövas en historia, vi vill inte snubbla över detta.

SjÀlva faktureringen nÀr det gÀller att utfÀrda fakturor, hantera kunders fordringar har transformerats till en separat domÀn. För att öka prestandan, har en arkitekturmodell med domÀnarkitektur tillÀmpats.

Systemet Àr indelat i domÀner, belastningen Àr fördelad och redundans Àr sÀkerstÀlld. Dessutom har vi arbetat med distribuerad arkitektur.

Allt annat Ă€r företagslösningar. I samtalslagringen — 2 miljarder per dag, 60 miljarder per mĂ„nad. Ibland mĂ„ste vi rĂ€kna om dem per mĂ„nad, och det Ă€r bĂ€ttre att göra det snabbt. Finansiell övervakning — det handlar just om de 300 miljoner som stĂ€ndigt vĂ€xer och vĂ€xer: abonnenter springer ofta mellan operatörerna, vilket ökar denna del.

Den mest telekomkomponenten frÄn mobilkommunikation Àr online-tarifiering. Det Àr de system som lÄter dig ringa eller inte ringa, som fattar beslut i realtid. HÀr Àr belastningen 30 000 transaktioner per sekund, men med hÀnsyn till den vÀxande datatrafiken planerar vi 250 000 transaktioner, och dÀrför Àr vi starkt intresserade av Tarantool.

Den föregÄende bilden visar de domÀner dÀr vi planerar att tillÀmpa Tarantool. SjÀlva CRM:et Àr bredare och vi planerar att anvÀnda det i kÀrnan.

Min uppskattade siffra för TTF i 100 miljoner abonnenter bekymrar mig som arkitekt — vad hĂ€nder om det blir 101 miljoner? MĂ„ste vi göra om allt? För att undvika detta anvĂ€nder vi cacheminnen, vilket i sin tur ökar tillgĂ€ngligheten.

Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

Det finns i stort sett tvÄ angreppssÀtt för att tillÀmpa Tarantool. Det första Àr att bygga alla cacher pÄ mikrotjÀnstnivÄ.SÄvitt jag vet följer VimpelCom denna vÀg och skapar kundcache.

Vi Ă€r mindre beroende av leverantörer, Ă€ndrar kĂ€rnan i BSS, sĂ„ vi har enhetlig kundregister redan frĂ„n början. Men vi vill utöka det. DĂ€rför tillĂ€mpar vi en nĂ„got annan metod — vi gör cacher internt i systemen..

PĂ„ sĂ„ sĂ€tt minskar synkroniseringsproblemen — ett system ansvarar bĂ„de för cachen och för huvudmasterkĂ€llan.

Metoden passar vÀl in i Tarantools angreppssÀtt med transaktionell skelett, nÀr endast de delar som Àr relaterade till uppdateringar uppdateras, det vill sÀga Àndringar av data. Allt annat kan lagras nÄgon annanstans. Det finns ingen enorm data lake, ingen okontrollerad global cache. Cacher designas för systemet, antingen för produkter eller för kunder, eller för att underlÀtta livet för supporten. NÀr en missnöjd abonnent ringer vill man ge dem ett kvalitativt bemötande.

RTO och RPO

Inom IT finns det tvĂ„ termer — RTO och RPO.

Recovery time objective — detta Ă€r tiden för Ă„terstĂ€llning av tjĂ€nsten efter ett fel. RTO = 0 betyder att Ă€ven om nĂ„got gĂ„r ner, fortsĂ€tter tjĂ€nsten att fungera.

Ă„terstĂ€llningspunktsmĂ„l — detta Ă€r tiden för dataĂ„terstĂ€llning, hur mycket data vi kan förlora under en viss tidsperiod. RPO = 0 innebĂ€r att vi inte förlorar data.

Uppgift för Tarantool

LÄt oss försöka lösa uppgiften för Tarantool.

Givet: en allmĂ€nt kĂ€nd varukorg, till exempel i Amazon eller nĂ„gon annanstans. Krav att varukorgen ska fungera 24 timmar om dygnet, 7 dagar i veckan, eller 99,99 % av tiden. BestĂ€llningar som kommer in till oss mĂ„ste upprĂ€tthĂ„lla ordningen, eftersom vi inte kan slĂ„ av och pĂ„ anslutningen för abonnenten slumpmĂ€ssigt – allt mĂ„ste vara strikt i sekvens. Den tidigare prenumerationen pĂ„verkar den nĂ€sta, sĂ„ uppgifterna Ă€r viktiga – inget fĂ„r gĂ„ förlorat.

Lösning. Man kan försöka lösa det direkt och frÄga databasutvecklarna, men problemet Àr matematiskt olösligt. Man kan minnas teoremer, bevarande lagar, kvantfysik, men varför - det kan inte lösas pÄ databasnivÄ.

HĂ€r fungerar den gamla, goda arkitektoniska metoden – man behöver ha en bra förstĂ„else för Ă€mnesomrĂ„det och lösa denna gĂ„ta genom det.

Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

VĂ„r lösning: vi skapar ett distribuerat register för ansökningar pĂ„ Tarantool – ett geo-distribuerat kluster. PĂ„ diagrammet ser vi tre olika datacenter – tvĂ„ före Ural och ett bakom Ural, och vi fördelar alla ansökningar mellan dessa centra.

Netflix, som nu anses vara en av ledarna inom IT, hade fram till 2012 bara ett datacenter. Dagen före den katolska julen den 24 december gick detta datacenter ner. AnvÀndare i Kanada och USA blev utan sina favoritfilmer, blev mycket besvikna och skrev om det pÄ sociala medier. Nu har Netflix tre datacenter pÄ vÀstkusten och ett i VÀsteuropa.

Vi bygger ursprungligen en geo-distribuerad lösning – vi vĂ€rdesĂ€tter fel-tolerans.

SÄ vi har ett kluster, men hur ska vi hantera RPO = 0 och RTO = 0? Lösningen Àr enkel och beror pÄ ÀmnesomrÄdet.

Vad Ă€r viktigt i ansökningarna? TvĂ„ delar: att fĂ„nga varukorgen FÖRE beslutet om köp, och EFTER. Den FÖRE delen inom telekommunikation kallas vanligtvis order capturing eller order negotiation. In telekom bör det vara betydligt mer komplicerat Ă€n i en webbutik, eftersom kunden mĂ„ste betjĂ€nas, fĂ„ 5 alternativ, och allt detta tar tid medan varukorgen fylls. Vid det hĂ€r tillfĂ€llet kan ett fel intrĂ€ffa, men det Ă€r inte katastrofalt eftersom det sker i interaktivt lĂ€ge under övervakning av en person.

Om datacentret i Moskva plötsligt gÄr ner, kommer vi automatiskt att vÀxla till ett annat datacenter och fortsÀtta arbetet. Teoretiskt kan en produkt i varukorgen gÄ förlorad, men du ser detta, fyller pÄ varukorgen igen och fortsÀtter. I detta fall Àr RTO = 0.

Samtidigt finns det ett andra alternativ: nÀr vi trycker pÄ "skicka", vill vi att uppgifterna inte ska gÄ förlorade. FrÄn och med det ögonblicket börjar automatiken att fungera - det Àr redan RPO = 0. TillÀmpning av dessa tvÄ olika mönster i ett fall kan vara en geo-distribuerad kluster med en vÀxlande master, i det andra fallet en quorum-anteckning. Mallarna kan variera, men vi löser problemet.

Vidare, med en distribuerad register över ansökningar kan vi ocksÄ skala detta - ha mÄnga förmÀn och utförare som pekar pÄ detta register.

Framstruktur för nÀsta generations fakturering: transformation med övergÄng till Tarantool

Cassandra och Tarantool tillsammans

Det finns ocksÄ ett annat fall - "balansvitrin". HÀr Àr just ett intressant fall av samarbete mellan Cassandra och Tarantool.

Vi anvÀnder Cassandra eftersom 2 miljarder samtal per dag inte Àr grÀnsen, och det kommer att bli fler. Marknadsförare Àlskar att fÀrgsÀtta trafik efter kÀllor, det kommer fler detaljer om sociala nÀtverk, till exempel. Detta ökar historien.

Cassandra möjliggör horisontell skalning till valfria volymer.

Vi kÀnner oss bekvÀma med Cassandra, men den har ett problem - den Àr inte bra pÄ att lÀsa. NÀr det gÀller skrivning Àr allt okej, 30 000 per sekund Àr inget problem - problemet ligger i lÀsningen..

DĂ€rför uppstod temat med cache, och vi passade samtidigt pĂ„ att lösa följande problem: det finns ett gammalt traditionellt fall dĂ€r utrustningen frĂ„n switchen för online-tarifiering kommer i filer som vi laddar upp i Cassandra. Vi har kĂ€mpat med problemet att pĂ„ ett tillförlitligt sĂ€tt ladda upp dessa filer, vi anvĂ€nde till och med rĂ„d frĂ„n en IBM-chef för filöverföring – det finns sĂ„dana lösningar som effektivt hanterar filöverföring via UDP-protokollet, till exempel, istĂ€llet för TCP. Det Ă€r bra, men det tar fortfarande minuter, och sĂ„ lĂ€nge vi inte har laddat upp allt, kan operatören i callcentret inte svara kunden pĂ„ vad som har hĂ€nt med hans balans – man mĂ„ste vĂ€nta.

För att detta inte ska hÀnda, anvÀnder vi parallell funktionell redundans. NÀr vi skickar ett hÀndelse genom Kafka till Tarantool, medan vi omberÀknar aggregat i realtid, till exempel för idag, fÄr vi cache av saldon, som kan ge saldon med vilken hastighet som helst, till exempel 100 000 transaktioner per sekund och de samma 2 sekunder.

MÄlet Àr att efter att ett samtal har genomförts, ska det redan efter 2 sekunder i den personliga panelen finnas inte bara den Àndrade balansen, utan Àven information om varför den har förÀndrats.

Slutsats

Detta var exempel pÄ hur vi anvÀnder Tarantool. Vi gillade mycket öppenheten hos Mail.ru, deras vilja att övervÀga olika fall.

För konsulter frĂ„n BCG eller McKinsey, Accenture eller IBM Ă€r det redan svĂ„rt att överraska oss med nĂ„got nytt – mycket av det de erbjuder gör vi redan, har gjort, eller planerar att göra. Jag tror att Tarantool i vĂ„r teknologiska stack kommer att fĂ„ en vĂ€rdig plats och ersĂ€tta mĂ„nga befintliga teknologier. Vi Ă€r i aktiv fas av att utveckla detta projekt.

Oleg och Andrey's presentation var en av de bĂ€sta pĂ„ Tarantool Conference förra Ă„ret, och redan den 17 juni kommer Oleg Ivlev att tala pÄ T+ Conference 2019 med presentationen «Varför Tarantool i Enterprise». OcksĂ„ frĂ„n MegaFon kommer Alexander Deulin att tala med presentationen «Cacher Tarantool och replikering frĂ„n Oracle». Vi fĂ„r veta vad som har förĂ€ndrats, vilka planer som har kunnat realiseras. GĂ„ med oss – konferensen Ă€r gratis, man mĂ„ste bara registrera sig. Alla presentationer Ă€r godkĂ€nda och konferensprogrammet Ă€r faststĂ€llt: nya fall, ny erfarenhet av att anvĂ€nda Tarantool, arkitektur, enterprise, handledningar och mikrotjĂ€nster.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster