Odnoklassniki ndiye mtumiaji mkubwa zaidi wa Apache Cassandra kwenye RuNet na mmoja wapo kubwa zaidi ulimwenguni. Tulianza kutumia Cassandra mnamo 2010 kuhifadhi ukadiriaji wa picha, na sasa Cassandra inasimamia petabytes ya data kwenye maelfu ya nodi, kwa kweli, hata tulitengeneza yetu.
Mnamo Septemba 12 katika ofisi yetu ya St
Katika usiku wa mkutano huo, tulizungumza na Oleg juu ya uvumilivu wa makosa ya mifumo iliyosambazwa na Cassandra, tukauliza atazungumza nini kwenye mkutano na kwa nini inafaa kuhudhuria hafla hii.
Oleg alianza kazi yake ya programu nyuma mnamo 1995. Alitengeneza programu katika benki, telecom, na usafiri. Amekuwa akifanya kazi kama msanidi programu anayeongoza huko Odnoklassniki tangu 2007 kwenye timu ya jukwaa. Majukumu yake ni pamoja na kuendeleza usanifu na ufumbuzi wa mifumo ya juu ya mzigo, ghala kubwa za data, na kutatua matatizo ya utendaji wa portal na kuegemea. Pia hufundisha watengenezaji ndani ya kampuni.
- Oleg, habari! Mnamo Mei ilifanyika
Waendelezaji wenye asili tofauti kutoka kwa makampuni mbalimbali walikuja na maumivu yao wenyewe, ufumbuzi usiotarajiwa wa matatizo na hadithi za kushangaza. Tulifaulu kufanya sehemu kubwa ya mkutano katika muundo wa majadiliano, lakini kulikuwa na mijadala mingi sana hivi kwamba tuliweza tu kugusa thuluthi moja ya mada zilizopangwa. Tulizingatia sana jinsi na kile tunachofuatilia kwa kutumia mfano wa huduma zetu halisi za uzalishaji.
Nilipendezwa na niliipenda sana.
- Kwa kuzingatia tangazo,
Cassandra ni mfumo wa kawaida unaosambazwa wenye shughuli nyingi na idadi kubwa ya utendakazi zaidi ya kuhudumia maombi ya mtumiaji moja kwa moja: porojo, ugunduzi wa kutofaulu, uenezaji wa mabadiliko ya schema, upanuzi/upunguzaji wa nguzo, anti-entropy, chelezo na urejeshaji, n.k. Kama ilivyo katika mfumo wowote uliosambazwa, kadiri idadi ya vifaa inavyoongezeka, uwezekano wa kushindwa huongezeka, kwa hivyo utendakazi wa nguzo za uzalishaji wa Cassandra unahitaji uelewa wa kina wa muundo wake kutabiri tabia katika kesi ya kushindwa na vitendo vya waendeshaji. Baada ya kutumia Cassandra kwa miaka mingi, sisi
- Inapokuja kwa Cassandra, unamaanisha nini kwa uvumilivu wa makosa?
Kwanza kabisa, bila shaka, uwezo wa mfumo wa kuishi kushindwa kwa vifaa vya kawaida: kupoteza kwa mashine, disks, au uunganisho wa mtandao na nodes / vituo vya data. Lakini mada yenyewe ni pana zaidi na hasa ni pamoja na kupona kutokana na kushindwa, ikiwa ni pamoja na kushindwa ambayo watu hawajaandaliwa mara chache, kwa mfano, makosa ya operator.
- Je, unaweza kutoa mfano wa nguzo iliyopakiwa zaidi na kubwa zaidi ya data?
Mojawapo ya makundi yetu makubwa zaidi ni kundi la zawadi: zaidi ya nodi 200 na mamia ya TB ya data. Lakini sio kubeba zaidi, kwani inafunikwa na cache iliyosambazwa. Makundi yetu yenye shughuli nyingi zaidi hushughulikia makumi ya maelfu ya RPS kwa kuandika na maelfu ya RPS kwa kusoma.
- Wow! Ni mara ngapi kitu huvunjika?
- Unashughulikaje na kukataa vile?
Kuanzia mwanzoni mwa operesheni ya Cassandra na matukio ya kwanza, tulifanya kazi kwenye mifumo ya chelezo na urejeshaji kutoka kwao, tukajenga taratibu za kupeleka ambazo zinazingatia hali ya makundi ya Cassandra na, kwa mfano, usiruhusu nodi kuanzishwa tena. ikiwa kupoteza data kunawezekana. Tunapanga kuzungumza juu ya haya yote kwenye mkutano.
- Kama ulivyosema, hakuna mifumo ya kuaminika kabisa. Je, ni aina gani za kushindwa unajiandaa na unaweza kuishi?
Ikiwa tunazungumza juu ya usakinishaji wetu wa nguzo za Cassandra, watumiaji hawatagundua chochote ikiwa tutapoteza mashine kadhaa katika DC moja au DC moja nzima (hii imetokea). Kwa kuongezeka kwa idadi ya DC, tunafikiria kuanza kuhakikisha utendakazi endapo ma DCs wawili watashindwa.
- Unafikiri Cassandra anakosa nini katika suala la uvumilivu wa makosa?
Cassandra, kama maduka mengine mengi ya awali ya NoSQL, inahitaji uelewa wa kina wa muundo wake wa ndani na michakato ya nguvu inayotokea. Ningesema kwamba inakosa unyenyekevu, kutabirika na kuzingatiwa. Lakini itakuwa ya kuvutia kusikia maoni ya washiriki wengine wa mkutano!
Oleg, asante sana kwa kuchukua wakati wa kujibu maswali!
Tunasubiri kila mtu ambaye anataka kuwasiliana na wataalam katika uwanja wa uendeshaji Apache Cassandra katika mkutano wa Septemba 12 katika ofisi yetu ya St.
Njoo, itakuwa ya kuvutia!