|
|
Publicerad på 2014-12-25 16:18:52
|
|
|
|

Bakgrund och behov
China Railway kundtjänstcenters webbplats (www.1230**) är ett av världens största realtidshandelssystem, jämförbart med Amazon.com, och webbplatsen är under stor press under helgdagar, särskilt under vårfestivalen. Enligt statistik besökte 20 miljoner människor webbplatsen varje dag under vårfestivalens topp i början av 2012, med maximalt 1,4 miljarder dagliga besök. Ett stort antal samtidiga nätverksåtkomster gjorde att 12306 nästan blev förlamad. Institutet för elektronisk beräkningsteknologi vid Kinesiska järnvägsvetenskapsakademin, som entreprenör för 12306 Internet-biljettsystemet, behöver akut hitta ett sätt att lösa problemet.
Lyckad upplösning: mer än 75 gånger snabbare
Sedan mars 2012 har Järnvägsbolaget (tidigare Järnvägsministeriet) påbörjat undersöka och renovera 12306. I juni 2012 valdes Pivotal GemFire distribuerade in-memory computing-plattform (Distributed In-memory computing) för att transformera 12306, vilket tillhandahölls av Wang Mingzhe, projektgrupp vid Academy of Iron Sciences, och IISI Information Technology Co., Ltd. under ledning av Zhu Jiansheng, direktör för Academy of Railway Sciences.Den första fasen kommer först att transformera den huvudsakliga flaskhalsen i 12306 – det återstående ärendefrågesystemet。 I september slutfördes kodomvandlingen och systemet lanserades. På nationaldagen 2012, under den intensiva perioden för onlinebokning, kan du tydligt se att du kan logga in på 12306, även om det fortfarande är svårt att boka biljetter, men de övriga biljetterna går mycket snabbt. I oktober 2012,Den andra fasen är att omvandla orderförfrågningssystemet med GemFire (kunderna frågar sina egna orderposter)。 Under vårfestivalen 2013 är det den mest populära perioden för onlinebokning, och du kan märka att du kan logga in på 12306, även om det fortfarande är svårt att boka biljetter, men sökningen på återstående biljetter är mycket snabb, och sökningen på din egen bokning och beställning är också mycket snabb.
Enligt systemets operationsdata, efter den tekniska omvandlingen,Med endast 10 X86-servrar har de återstående biljettberäknings- och frågemöjligheterna för dussintals små datorer realiserats, och den maximala tiden för en enskild sökning har minskats från cirka 15 sekunder till mindre än 0,2 sekunder, vilket har förkortats med mer än 75 gånger。 Vid extremt hög trafiksamkörning under Vårfestivalen 2012 var systemet nästan paralyserat. Efter omvandlingen,Den stöder tiotusentals samtidiga förfrågningar per sekund och når en genomströmning på 26 000 frågor per sekund under toppperioder, är effektiviteten i hela systemet avsevärt förbättrad. Som visas på bilden ovan.
I systemdriftläget före transformationen kan orderfrågesystemet endast stödja en genomströmning på 300–400 frågor per sekund, och högtrafikerade samtidiga frågor kan endast realiseras genom databasdelning. Efter transformationen kan genomströmningen vara upp till tiotusentals frågor per sekund, och frågehastigheten kan garanteras vara cirka 20 millisekunder.
Den nya teknologiarkitekturen kan:Dynamisk skalning på efterfrågeelasticitetNär mängden samtidighet ökar kan du också dynamiskt öka X86-servern för att upprätthålla en millisekundsresponstid.
Letar efter det i en dröm: den teknologiska revolutionen sträcker sig över tre generationer i ett steg
12306 kan uppnå sådana jordskakande effekter, det är omöjligt att förlita sig på små tekniska reparationer, och det måste finnas en ny idé som kan ge fördelar för prestandaförbättring. 12306 upptäckte att GemFire-distribuerad minnesdataplattform är en sådan teknik.
Teknisk motivering för den distribuerade minnesplattformen GemFireSom visas i figuren ovan: Genom virtualiseringsteknologin i molnplattformen centraliseras minnet hos flera X86-servrar för att bilda en minnesresurspool på upp till tiotals terabyte, och all data laddas in i minnet för beräkning i minnet. Beräkningsprocessen behöver inte läsa och skriva till disken, utan skriver endast data till disken periodiskt synkront eller asynkront. GemFire lagrar flera kopior av data i ett distribuerat kluster, och om någon maskin går sönder finns det säkerhetskopior på andra datorer, så det finns vanligtvis ingen oro för dataförlust, och diskdata finns som backup. GemFire stödjer lagring av data i minnet i en mängd traditionella relationsdatabaser, Hadoop-bibliotek och andra filsystem.
Som vi alla vet är flaskhalsen i den nuvarande datorarkitekturen lagring, processorns hastighet fördubblas enligt Moores lag, och hastigheten på disklagring växer mycket långsamt, vilket resulterar i ett enormt gap på upp till 100 000 gånger (som visas i figuren ovan). Detta gör det lätt att förstå varför GemFire kan förbättra systemets prestanda avsevärt.
Enligt relationen mellan databehandling och lagring kan vi dela in beräkningsarkitekturen i fyra generationer:
Den första generationen, ett enda diskbaserat system: Data måste läsas från disk under beräkningarna. Små datorer och stordatorer är bland ledarna och uppnår den ultimata prestandan hos ett enda system.
Den andra generationen, ett distribuerat klustringssystem baserat på diskar: Under beräkningsprocessen måste data läsas från disken, men datan distribueras över olika serverdiskar via ett distributionssystem för att förbättra hela systemets processorkraft. För närvarande använder många stora internet- och e-handelsföretag distribuerade klustringssystem baserade på X86-servrar, och förlitar sig på massiv X86-serverutbyggnad för att lösa problemet med hög trafiksamtid.
Den tredje generationen, ett enda minnesbaserat system: Lägger hela databasen i minnet, och beräkningsprocessen kräver inte att data läses från disken. Prestandan hos hela systemet beror på prestandan hos ett enskilt system. Traditionella minnesdatabaser är sådana system som kan lösa problemet med åtkomsthastighet väl för företagsapplikationer, men som inte kan göra något åt skalbarhetsproblemet med massiv data eller massiv samtidiga åtkomst.
Den fjärde generationen är ett minnesbaserat distribuerat klustringssystem: GemFire är ett sådant system, parallell databehandling är en av dess nyckelteknologier, så det kan skala prestandan linjärt baserat på minnesberäkningar genom att öka omfattningen av serverdistribution.
12306 använde tidigare Unix-minidatorarkitekturen och använde GemFire-teknologi för att omvandla den till en Linux/X86-serverklusterarkitektur, vilket innebär att den sträcker sig över tre generationer. Från små datorer till stora minnes-X86-serverkluster förbättrar inte bara prestandan med en storleksordning, utan kostar också mycket mindre.
GemFire är en del av Pivotals företagsklassade big data-plattform PaaS. Pivotals företagsnivå big data PaaS-plattform har tre huvudnivåer: Cloud Fabric, Big Data Infrastructure Layer och Application Fabric. GemFire tillhör big data-infrastrukturlagret, och dessutom tillhör Greenplum-databasen även detta lager; Teknologin för molninfrastrukturlagret är Cloud Foundry; Teknologierna för applikationsutvecklingsinfrastrukturlagret är Spring Framework och RabbitMQ, bland andra.
När det gäller omvandlingen av införandet av GemFire-teknologin sade Zhu Jiansheng, biträdande direktör för Institutet för elektronisk beräkningsteknik vid Kinesiska järnvägsvetenskapsakademin: "Genom den teknologiska omvandlingen har vi löst problemet med hög trafik som har plågat oss länge, så att folket i hela landet inte längre klagar på tekniska orsaker, och vi är äntligen lättade." Den avgörande GemFire-distribuerade kluster-in-minnesdatateknologin har spelat en nyckelroll i hela teknologins omvandling. Samtidigt, tack vare insatserna från Pivotal och dess projektteam för att säkerställa smidig drift av det gamla systemet och en smidig övergång från det gamla systemet till det nya systemet under den tekniska utvecklings- och omvandlingsprocessen, lanserades det nya systemet snabbt. ”
|
Föregående:12306 Ett stort antal användarlösenord läckte ut, och nedladdningsadressen till 12306-databasen läckte utNästa:En stor mängd användardata från 12306 blev viral på internet, inklusive användarkontonummer, klartextlösenord, ID-kort, e-post med mera
|