PayPal yakavhura iyo JunoDB DBMS kodhi

PayPal yakavhura kodhi yekodhi yeDBMS JunoDB inoshivirira, iyo inoshandura data mune kiyi-yakakosha fomati. Iyo sisitimu yakatanga kugadzirwa ine kuchengetedzeka kwepamusoro, yakachinjika scalability, kukanganisa kushivirira, uye kugona kubata mazana ezviuru zvekubatana panguva imwe chete nekufungidzira latencies mupfungwa. PaPayPal, anenge ese masevhisi, kubva kumashandisi emushandisi kusvika pakugadzirisa mashandisirwo emari, akasungirirwa kuJunoDB. Iyo kodhi yeprojekiti yakanyorwa muGo (a Java mutengi raibhurari) uye inogoverwa pasi peiyo Apache 2.0 rezinesi. Imwe budiriro inobvuma kugadziridzwa, kuvandudzwa uye shanduko kubva munharaunda.

Chivakwa cheJunoDB chakavakirwa pakushandiswa kwemuyero wemutoro unogashira zvikumbiro kubva kune vatengi zvikumbiro uye nekuzvigovera pakati pemaseva eproxy anowana panguva imwe chete boka rekuchengetedza maseva kana chikumbiro chaitwa. Imwe neimwe proxy server inomisikidza zvinongedzo kune ese ekuchengetedza maseva kamwechete uye mberi zvikumbiro kuboka rekuchengetedza maseva zvichienderana neiyo partition index, iyo inochengetwa mune yakagoverwa yekuchengetedza system etcd kumisikidza.

PayPal yakavhura iyo JunoDB DBMS kodhi

Dhata yakakamurwa uye yakabatanidzwa kune yekuchengetedza node uchishandisa hashing, iyo inoderedza kufamba kwedata sezvo nodes musumbu inokura kana kuderera. Kuve nechokwadi chekushivirira kukanganisa, chidimbu chega chega che data chinodzokororwa pane akati wandei ekuchengetedza node, izvo zvinokutendera iwe kuchengetedza ruzivo kana sevha yega yega yakundikana. Kusikwa kwenzvimbo dzakagoverwa storages kunotsigirwa, umo mapoka emanode ari munzvimbo dzakasiyana dze data.

PayPal yakavhura iyo JunoDB DBMS kodhi

Panzvimbo dzekuchengetera dhata, dziri mu RAM kana munzvimbo yekuchengetera yakavakirwa paRocksDB raibhurari. Kana yachengetwa zvachose, iyo data inochengetwa mune encrypted fomu (iyo encryption kiyi inogona kutariswa kungave nemutengi kana kusetwa padanho reproxy).

PayPal yakavhura iyo JunoDB DBMS kodhi

Kuti uwane dhatabhesi kubva kumashandisirwo, raibhurari yemutengi inopihwa iyo inopa API yezvishandiso muJava, Go uye C ++. Chikamu chemutengi chinorerutswa zvakanyanya sezvinobvira, uye pfungwa dzakaoma uye zvigadziriso zvinoendeswa kudivi reDBMS pese pazvinogoneka. Iko kudyidzana pakati pemutengi uye muchengeti kana proxy kunoitwa kuburikidza neyakavharidzirwa nzira yekutaurirana. Kubata uye kutumira zvikumbiro, unogona kushandisa iyo yekuraira mutsara interface, iyo inodzokorora zvese zvinogoneka zvemutengi API.

Iyo sisitimu yakagadzirirwa kugadzirisa zvikumbiro zvine fungidziro yakaderera latencies, semuenzaniso, sumbu rematatu ekuchengetera node uye imwe proxy, yakaumbwa kubva kun1-highmem-32 nharaunda (32 Intel Xeon 2.30GHz CPUs, 214G RAM uye 450G SSD-yakavakirwa kuchengetedza) , yakakwanisa kupa kunonoka kwakagadziriswa kusingapfuuri 2.5 ms mu95% yemhosva uye 16 ms mu99% pakugadzirisa 200 zviuru panguva imwe chete yeTLS yekubatanidza uye kuyerera kwe15 zviuru zvikumbiro pasekondi (ine 3000 yakabatana panguva imwe chete uye kuyerera kwe80 zviuru zvikumbiro. kwesekondi, kunonoka hakuna kudarika 6 ms mu95% yematambudziko uye 15 ms mu99%). PaPayPal, JunoDB-based masevhisi anoshanda angangoita 350 bhiriyoni zvikumbiro pazuva.

PayPal yakavhura iyo JunoDB DBMS kodhi


Source: opennet.ru

Voeg