|
|
Публикувано в 25.12.2014 г. 16:18:52 ч.
|
|
|
|

Предистория и нужди
Уебсайт на Центъра за обслужване на клиенти на Китайската железница (www.1230**) е една от най-големите системи за търговия в реално време в света, сравнима с Amazon.com, а уебсайтът е под голям натиск по време на празниците, особено по време на Пролетния фестивал. Според статистиката, по време на пика на Пролетния фестивал в началото на 2012 г. 20 милиона души са посещавали сайта всеки ден, с максимум 1,4 милиарда ежедневни посещения. Голям брой едновременни мрежови достъпи причиниха почти парализиране на 12306. Институтът по електронни изчислителни технологии към Китайската академия на железопътните науки, като изпълнител на интернет системата за билети 12306, спешно трябва да намери начин да реши проблема.
Успешно разрешаване: повече от 75 пъти по-бързо
От март 2012 г. Железопътната корпорация (преди Министерство на железниците) започва изследвания и реновация на 12306. През юни 2012 г. беше избрана Pivotal GemFire разпределена платформа за изчисления в паметта (Distributed In-memory computing), която да трансформира 12306, предоставена от Ван Минджъ, ръководител на проектния екип на Академията по железни науки, и IISI Information Technology Co., Ltd. под ръководството на Чжу Цзяншен, директор на Академията на железопътните науки.Първата фаза първо ще трансформира основното тесно място на 12306 – останалата система за заявки към билети。 През септември трансформацията на кода беше завършена и системата беше пусната на пазара. На Националния ден през 2012 г., по време на пиковия период на онлайн резервации, значително можете да влезете в 12306, въпреки че все още е трудно да резервирате билети, но останалите билети са много бързи. През октомври 2012 г.,Втората фаза е трансформиране на системата за запитване на поръчки с GemFire (клиентите заявяват собствените си записи за поръчки)。 По време на Пролетния фестивал на 2013 г. това е пиковият период на онлайн резервации и значително можете да откриете, че можете да влезете в 12306, въпреки че все още е трудно да резервирате билети, но запитването за останалите билети е много бързо, а заявката за вашата собствена резервация и поръчка също е много бърза.
Според записа на системните данни за работа, след техническата трансформация,С използването на само 10 X86 сървъра са реализирани останалите възможности за изчисляване на билети и заявки на десетки малки компютри, а максималното време на една заявка е намалено от около 15 секунди на по-малко от 0.2 секунди, което е съкратено с повече от 75 пъти。 При изключително голямо съвпадение на трафика по време на Пролетния фестивал през 2012 г. системата беше почти парализирана. След трансформацията,Поддържа десетки хиляди едновременни заявки в секунда, достигайки пропускателна способност от 26 000 заявки в секунда по време на пикови периоди, ефективността на цялата система е значително подобрена. Както е показано на изображението по-горе.
В режима на работа на системата преди трансформацията, системата за заявки по поръчка може да поддържа пропускателна способност от 300-400 заявки в секунда, а високотрафикните конкурентни заявки могат да се реализират само чрез разделяне на базата данни. След трансформацията пропускателната способност може да достигне десетки хиляди заявки в секунда, а скоростта на заявката може да бъде гарантирана около 20 милисекунди.
Новата технологична архитектура може:Динамично скалиране при търсене на еластичностКогато се увеличи количеството на паралелността, можете също динамично да увеличите X86 сървъра, за да поддържате време за отговор на ниво милисекунда.
Търся го в мечта: технологичната революция обхваща три поколения наведнъж
12306 може да постигне такива разтърсващи ефекти, че е невъзможно да се разчита на малки технически ремонти и трябва да има нова идея, която да донесе лост за подобряване на производителността. 12306 откри, че платформата за разпределени данни в паметта GemFire е една от тези технологии.
Техническа логика на разпределената платформа за данни в паметта GemFireКакто е показано на горната фигура: Чрез виртуализационната технология на облачната платформа, паметта на няколко X86 сървъра е централизирана, за да формира пул от ресурси на паметта до десетки терабайти, а всички данни се зареждат в паметта за изчисляване в паметта. Самият изчислителен процес не е необходимо да чете и записва на диска, а само периодично записва данни на диска синхронно или асинхронно. GemFire съхранява множество копия на данни в разпределен клъстер, а ако някоя машина се повреди, има резервни копия на други машини, така че обикновено няма нужда да се притеснявате за загуба на данни, а има и дискови данни като резервно копие. GemFire поддържа съхранение на данни в паметта в различни традиционни релационни бази данни, Hadoop библиотеки и други файлови системи.
Както всички знаем, тесното място в настоящата изчислителна архитектура е съхранението, скоростта на процесора се удвоява според закона на Мур, а скоростта на дисковото съхранение расте много бавно, което води до огромна разлика до 100 000 пъти (както е показано на горната фигура). Това улеснява разбирането защо GemFire може значително да подобри производителността на системата.
Според връзката между изчисленията и съхранението, можем да разделим изчислителната архитектура на четири поколения:
Първото поколение, система с един диск: Данните трябва да се четат от диска по време на изчисленията. Малките компютри и мейнфрейми са сред лидерите, постигайки върховната производителност на една система.
Второто поколение е разпределена клъстерна система, базирана на дискове: По време на процеса на изчисление данните трябва да се четат от диска, но данните се разпределят между различни сървърни дискове чрез система за разпределение, за да се подобри изчислителната мощ на цялата система. В момента много големи интернет и електронни търговски компании използват разпределени клъстерни системи, базирани на X86 сървъри, разчитайки на масивно разполагане на X86 сървъри, за да решат проблема с високата паралелност на трафика.
Третото поколение, система с единна памет: Поставя цялата база данни в паметта и процесът на изчисление не изисква четене на данни от диска. Производителността на цялата система зависи от производителността на една единствена система. Традиционните бази данни в паметта са такива системи, които могат да решат проблема със скоростта на достъпа добре за корпоративни приложения, но не могат да направят проблема с мащабируемостта на масивни данни или масов едновременен достъп.
Четвъртото поколение е разпределена система за клъстериране, базирана на памет: GemFire е такава система, паралелните изчисления са една от ключовите ѝ технологии, така че може да мащабира производителността линейно въз основа на изчисленията в паметта чрез увеличаване на мащаба на разгръщането на сървъри.
12306 преди това прие архитектурата на миникомпютри Unix и използва технологията GemFire, за да я трансформира в сървърна клъстерна архитектура Linux/X86, което означава, че обхваща три поколения. От малки компютри до клъстери с голяма памет X86 сървъри, това не само подобрява производителността с порядък, но и струва много по-ниски.
GemFire е част от корпоративната PaaS платформа на Pivotal за големи данни. Платформата за големи данни PaaS на Pivotal на корпоративно ниво има три основни нива: Cloud Fabric, Слой за инфраструктура за големи данни и Application Fabric. GemFire принадлежи към слоя инфраструктура за големи данни, а освен това базата данни Greenplum също принадлежи към този слой; Технологията на слоя облачна инфраструктура е Cloud Foundry; Технологиите за слоя за инфраструктура за разработка на приложения са Spring Framework и RabbitMQ, наред с други.
Относно трансформацията на въвеждането на технологията GemFire, Чжу Цзяншен, заместник-директор на Института по електронни изчислителни технологии към Китайската академия на железопътните науки, каза: "Чрез технологичната трансформация решихме проблема с пиковия и висок трафик, който ни тормози дълго време, така че хората в цялата страна вече да не се оплакват по технически причини, и най-накрая сме облекчени." Технологията за разпределени клъстери в паметта на Pivotal GemFire изигра ключова роля в цялата технологична трансформация. В същото време, благодарение на усилията на Pivotal и неговия проектен екип да осигурят гладката работа на старата система и плавната миграция от старата към новата система по време на техническата разработка и трансформация, новата система беше бързо пусната в експлоатация. ”
|
Предишен:12306 Голям брой потребителски пароли бяха изтекли, а адресът за изтегляне на базата данни 12306 беше изтекълСледващ:Голяма част от потребителските данни за 12306 станаха вирусни в интернет, включително номера на потребителски акаунти, пароли за открит текст, лични карти, имейли и др
|