PayPal idatsegula nambala ya JunoDB DBMS

PayPal yatsegula code code ya DBMS JunoDB yolekerera zolakwika, yomwe imayendetsa deta mumtundu wamtengo wapatali. Dongosololi poyambilira lidapangidwa ndi chitetezo chambiri, scalability yopingasa, kulolerana ndi zolakwika, komanso kuthekera kogwiritsa ntchito mazana masauzande olumikizana nthawi imodzi ndi kuchedwa kodziwikiratu. Pa PayPal, pafupifupi mautumiki onse, kuchokera ku malowedwe a ogwiritsa ntchito mpaka pokonza ndalama, amamangiriridwa ku JunoDB. Khodi ya polojekitiyi imalembedwa ku Go (laibulale ya kasitomala wa Java) ndipo imagawidwa pansi pa chilolezo cha Apache 2.0. Kupititsa patsogolo kudzavomereza kukonzedwa, kusintha ndi kusintha kuchokera kumudzi.

Zomangamanga za JunoDB zimachokera pakugwiritsa ntchito chosungira katundu chomwe chimavomereza zopempha kuchokera kwa makasitomala ndikuzigawa pakati pa ma seva a proxy omwe nthawi yomweyo amapeza gulu la ma seva osungira pamene pempho likuchitidwa. Seva ya proxy iliyonse imakhazikitsa maulumikizidwe ku ma seva onse osungira nthawi imodzi ndikupita patsogolo zopempha ku gulu la ma seva osungira potengera ndondomeko yogawa, yomwe imasungidwa muzosungirako zogawidwa etcd kasinthidwe.

PayPal idatsegula nambala ya JunoDB DBMS

Deta imagawidwa ndikulumikizidwa ndi ma node osungira pogwiritsa ntchito hashing, zomwe zimachepetsa kusuntha kwa data monga ma node omwe ali mgulu amakula kapena kuchepera. Kuti muwonetsetse kulekerera zolakwika, chidutswa chilichonse cha data chimabwerezedwanso pazigawo zingapo zosungira, zomwe zimakulolani kuti musunge zambiri pamene ma seva alephera. Kulengedwa kwa malo osungiramo malo kumathandizidwa, momwe magulu a node ali m'malo osiyanasiyana a deta.

PayPal idatsegula nambala ya JunoDB DBMS

Pamalo osungiramo deta, amakhala mu RAM kapena malo osungirako komweko kutengera laibulale ya RocksDB. Ikasungidwa kotheratu, deta imasungidwa mumtundu wa encryption (kiyi ya encryption imatha kutsimikiziridwa ndi kasitomala kapena kukhazikitsidwa pamlingo wa proxy).

PayPal idatsegula nambala ya JunoDB DBMS

Kuti mupeze nkhokwe kuchokera pamapulogalamu, laibulale yamakasitomala imaperekedwa yomwe imapereka API ya mapulogalamu a Java, Go ndi C++. Gawo lamakasitomala limakhala losavuta momwe zingathere, ndipo malingaliro ndi zosintha zovuta zimasamutsidwa ku mbali ya DBMS ngati kuli kotheka. Kuyanjana pakati pa kasitomala ndi balancer kapena proxy kumachitika kudzera mu njira yolumikizirana yobisika. Kuwongolera ndi kutumiza zopempha, mutha kugwiritsa ntchito mawonekedwe a mzere wamalamulo, omwe amafananiza kuthekera konse kwa kasitomala API.

Dongosololi lidapangidwa kuti likwaniritse zopempha zomwe sizingadziwike, mwachitsanzo, gulu la malo atatu osungira ndi projekiti imodzi, yopangidwa kuchokera kumadera a n1-highmem-32 (32 Intel Xeon 2.30GHz CPUs, 214G RAM ndi 450G SSD-based yosungirako) , idatha kupereka kuchedwa kosapitilira 2.5 ms mu 95% yamilandu ndi 16 ms mu 99% pokonza ma 200 ma TLS olumikizana nthawi imodzi ndikuyenda kwa zopempha za 15 pa sekondi imodzi (ndi 3000 kulumikizana munthawi yomweyo ndikuyenda kwa zopempha 80 zikwi pamphindi, kuchedwa sikunapitirire 6 ms mu 95% ya milandu ndi 15 ms mu 99%). Ku PayPal, ntchito zochokera ku JunoDB zimatumiza zopempha pafupifupi 350 biliyoni patsiku.

PayPal idatsegula nambala ya JunoDB DBMS


Source: opennet.ru

Kuwonjezera ndemanga