Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Mikhail Salosin (pano - MS): - Moni nonse! Dzina langa ndine Michael. Ndimagwira ntchito ngati wopanga kumbuyo ku MC2 Software, ndipo ndilankhula za kugwiritsa ntchito Go kumbuyo kwa pulogalamu yam'manja ya Look+.

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Kodi pali wina yemwe amakonda hockey pano?

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Ndiye ntchito iyi ndi yanu. Ndi ya Android ndi iOS ndipo imagwiritsidwa ntchito powonera kuwulutsa kwamasewera osiyanasiyana pa intaneti ndikujambulidwa. Pulogalamuyi ilinso ndi ziwerengero zosiyanasiyana, kuwulutsa mawu, matebulo amisonkhano, zokopa alendo ndi zidziwitso zina zothandiza kwa mafani.

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Komanso pakugwiritsa ntchito pali zinthu monga mphindi zamavidiyo, mwachitsanzo, mutha kuwona nthawi zofunika kwambiri zamachesi (zolinga, ndewu, kuwombera, ndi zina). Ngati simukufuna kuwonera wailesi yonse, mutha kungowonera zosangalatsa kwambiri.

Munagwiritsapo ntchito chiyani pachitukuko?

Mbali yaikulu inalembedwa mu Go. API yomwe makasitomala am'manja amalumikizana nayo idalembedwa mu Go. Ntchito yotumizira zidziwitso zama foni am'manja idalembedwanso mu Go. Tinayeneranso kulemba ORM yathu, yomwe tingakambirane tsiku lina. Chabwino, ntchito zina zing'onozing'ono zinalembedwa mu Go: kusintha kukula ndi kukweza zithunzi za okonza...

Tidagwiritsa ntchito PostgreSQL ngati database. Mawonekedwe a mkonzi adalembedwa mu Ruby pa Rails pogwiritsa ntchito mwala wa ActiveAdmin. Kulowetsa ziwerengero kuchokera kwa opereka ziwerengero kumalembedwanso mu Ruby.

Pamayeso a API, tidagwiritsa ntchito Python unittest. Memcached imagwiritsidwa ntchito kutsitsa mafoni a API, "Chef" imagwiritsidwa ntchito kuwongolera kasinthidwe, Zabbix imagwiritsidwa ntchito kusonkhanitsa ndikuwunika ziwerengero zamkati. Graylog2 ndiyotolera zipika, Slate ndi zolemba za API zamakasitomala.

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Kusankhidwa kwa protocol

Vuto loyamba lomwe tidakumana nalo: tidayenera kusankha protocol yolumikizirana pakati pa makasitomala am'mbuyo ndi mafoni, kutengera mfundo zotsatirazi ...

  • Chofunikira kwambiri: zambiri zamakasitomala ziyenera kusinthidwa munthawi yeniyeni. Ndiye kuti, aliyense amene akuwonera wailesiyi ayenera kulandira zosintha nthawi yomweyo.
  • Kuti zinthu zikhale zosavuta, tinkaganiza kuti deta yomwe imagwirizanitsidwa ndi makasitomala sichichotsedwa, koma imabisika pogwiritsa ntchito mbendera zapadera.
  • Zopempha zamtundu uliwonse (monga ziwerengero, zolemba zamagulu, ziwerengero zamagulu) zimapezedwa ndi zopempha wamba za GET.
  • Kuphatikiza apo, dongosololi limayenera kuthandizira ogwiritsa ntchito 100 zikwi nthawi imodzi.

Kutengera izi, tinali ndi njira ziwiri za protocol:

  1. Websockets. Koma sitinafune mayendedwe kuchokera kwa kasitomala kupita ku seva. Tinkangofunikira kutumiza zosintha kuchokera pa seva kupita kwa kasitomala, kotero kuti websocket ndiyosafunikira.
  2. Zochitika Zotumizidwa Seva (SSE) zidabwera bwino! Ndizosavuta ndipo zimakwaniritsa zonse zomwe timafunikira.

Zochitika Zotumizidwa ndi Seva

Mawu ochepa okhudza momwe izi zimagwirira ntchito ...

Imayendera pamwamba pa kugwirizana kwa http. Wothandizirayo amatumiza pempho, seva imayankha ndi Content-Type: text / event-stream ndipo samatseka kugwirizana ndi kasitomala, koma akupitiriza kulemba deta kuti agwirizane:

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Deta ikhoza kutumizidwa mumtundu womwe wagwirizana ndi makasitomala. Kwa ife, tidatumiza mu mawonekedwe awa: dzina la mawonekedwe osinthidwa (munthu, wosewera mpira) adatumizidwa kumunda wa zochitika, ndipo JSON ndi minda yatsopano, yosinthidwa kwa wosewera mpira adatumizidwa kumunda wa data.

Tsopano tiyeni tikambirane m'mene kuyanjana komweko kumagwirira ntchito.

  • Chinthu choyamba chomwe kasitomala amachita ndikuzindikira nthawi yomaliza yolumikizirana ndi ntchitoyo: imayang'ana pankhokwe yake ndikusankha tsiku lakusintha komaliza komwe kunalembedwa.
  • Imatumiza pempho ndi tsikuli.
  • Poyankha, timamutumizira zosintha zonse zomwe zachitika kuyambira tsikulo.
  • Pambuyo pake, imalumikizana ndi tchanelo chamoyo ndipo sichitseka mpaka itafunika zosintha izi:

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Timamutumizira mndandanda wa zosintha: ngati wina apeza chigoli, timasintha machesi, ngati avulala, izi zimatumizidwanso munthawi yeniyeni. Chifukwa chake, makasitomala amalandira nthawi yomweyo zidziwitso zaposachedwa pazakudya zamasewera. Nthawi ndi nthawi, kuti kasitomala amvetsetse kuti seva sinafa, kuti palibe chomwe chidachitika, timatumiza chizindikiro cha masekondi 15 aliwonse - kuti adziwe kuti zonse zili bwino ndipo palibe chifukwa cholumikiziranso.

Kodi maulumikizidwe amoyo amathandizidwa bwanji?

  • Choyamba, timapanga njira yomwe ma buffered updates adzalandilidwa.
  • Pambuyo pake, timalembetsa tchanelochi kuti tilandire zosintha.
  • Timayika mutu woyenera kuti kasitomala adziwe kuti zonse zili bwino.
  • Tumizani ping yoyamba. Timangojambulitsa nthawi yolumikizirana.
  • Pambuyo pake, timawerenga kuchokera pa tchanelo mozungulira mpaka njira yosinthira itatsekedwa. Kanemayo nthawi ndi nthawi amalandira sitampu yapano kapena zosintha zomwe timalemba kale kuti titsegule maulumikizidwe.

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Vuto loyamba lomwe tidakumana nalo linali lotsatira: pa kulumikizana kulikonse komwe kutsegulidwa ndi kasitomala, tidapanga chowerengera chomwe chimakankha kamodzi pamasekondi 15 aliwonse - zikuwoneka kuti ngati tidakhala ndi maulumikizidwe 6 zikwi zotseguka ndi makina amodzi (ndi seva imodzi ya API), 6 zikwizikwi zowerengera zidapangidwa. Izi zidapangitsa kuti makinawo asagwire katundu wofunikira. Vuto silinali lodziwikiratu kwa ife, koma tinalandira thandizo pang'ono ndikulikonza.

Zotsatira zake, tsopano ping yathu imachokera ku njira yomweyi yomwe kusintha kumachokera.

Chifukwa chake, pali chowerengera chimodzi chokha chomwe chimagwira kamodzi pamasekondi 15 aliwonse.

Pali ntchito zingapo zothandizira pano - kutumiza mutu, ping ndi kapangidwe kake. Ndiko kuti, dzina la tebulo (munthu, machesi, nyengo) ndi zomwe zalowa zikufalitsidwa apa:

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Njira yotumizira zosintha

Tsopano pang'ono za komwe kusinthako kumachokera. Tili ndi anthu angapo, akonzi, omwe amawonera kuwulutsa munthawi yeniyeni. Amapanga zochitika zonse: wina adatumizidwa, wina wavulala, m'malo mwake ...

Pogwiritsa ntchito CMS, deta imalowa mu database. Pambuyo pa izi, database imadziwitsa ma seva a API za izi pogwiritsa ntchito njira ya Mverani/Ziwitsani. Ma seva a API amatumiza kale chidziwitsochi kwa makasitomala. Chifukwa chake, tili ndi ma seva ochepa okha olumikizidwa ku nkhokwe ndipo palibe katundu wapadera pa database, chifukwa kasitomala samalumikizana mwachindunji ndi nkhokwe mwanjira iliyonse:

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

PostgreSQL: Mverani/Dziwitsani

Makina a Mverani/Zidziwitso mu Postgres amakulolani kuti mudziwitse olembetsa zochitika kuti chochitika china chasintha - mbiri ina yapangidwa mu nkhokwe. Kuti tichite izi, tidalemba choyambitsa chosavuta ndi ntchito:

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Tikayika kapena kusintha mbiri, timatcha ntchito yodziwitsa pa data_updates channel, ndikudutsapo dzina la tebulo ndi chizindikiritso cha zolemba zomwe zinasinthidwa kapena kuikidwa.

Pamatebulo onse omwe amayenera kulumikizidwa ndi kasitomala, timafotokozera choyambitsa, chomwe, pambuyo posintha / kukonzanso mbiri, imayitanira ntchito yomwe yawonetsedwa patsamba ili pansipa.
Kodi API imalembetsa bwanji zosinthazi?

Makina a Fanout amapangidwa - amatumiza mauthenga kwa kasitomala. Imasonkhanitsa njira zonse zamakasitomala ndikutumiza zosintha zomwe idalandira kudzera munjira izi:

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Apa laibulale ya pq yokhazikika, yomwe imalumikizana ndi database ndikunena kuti ikufuna kumvera kanjira (data_updates), imayang'ana kuti kulumikizana kwatseguka ndipo zonse zili bwino. Ndikusiya kuyang'ana zolakwika kuti ndisunge malo (osayang'ana ndizowopsa).

Kenako, timayika Ticker mwachisawawa, yomwe imatumiza ping masekondi 15 aliwonse, ndikuyamba kumvera njira yomwe tidalembetsa. Ngati tilandira ping, timasindikiza ping iyi. Ngati tilandira cholowa chamtundu wina, ndiye kuti timasindikiza izi kwa onse olembetsa a Fanout iyi.

Kodi Fan-out imagwira ntchito bwanji?

M'Chirasha, izi zimamasulira kuti "splitter". Tili ndi chinthu chimodzi chomwe chimalembetsa olembetsa omwe akufuna kulandira zosintha zina. Ndipo zosintha zikangofika pachinthuchi, zimagawa zosinthazi kwa onse olembetsa. Zosavuta mokwanira:

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Momwe imagwiritsidwira ntchito mu Go:

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Pali mawonekedwe, amalumikizidwa pogwiritsa ntchito Mutexes. Ili ndi gawo lomwe limasunga kugwirizana kwa Fanout ku database, mwachitsanzo, ikumvetsera ndipo idzalandira zosintha, komanso mndandanda wa njira zonse zomwe zilipo - mapu, chinsinsi chake ndi njira ndi struct mu mawonekedwe a values ​​(kwenikweni sichimagwiritsidwa ntchito mwanjira iliyonse).

Njira ziwiri - Zolumikizidwa ndi Zosagwirizana - zimatilola kuti tiwuze Fanout kuti tili ndi mgwirizano ku maziko, awonekera komanso kuti kugwirizana kwa maziko kwathyoledwa. Chachiwiri, muyenera kuletsa makasitomala onse ndikuwauza kuti sangathenso kumvera chilichonse ndipo amalumikizananso chifukwa kugwirizana kwawo kwatsekedwa.

Palinso njira yolembetsa yomwe imawonjezera tchanelo kwa "omvera":

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Pali njira yodziletsa, yomwe imachotsa njira kwa omvera ngati kasitomala akudula, komanso njira ya Publish, yomwe imakulolani kutumiza uthenga kwa onse olembetsa.

Funso: - Kodi zimafalikira ndi chiyani kudzera munjira imeneyi?

MS: - Mtundu womwe wasintha kapena ping umafalitsidwa (makamaka nambala, chiwerengero).

MS: - Mutha kutumiza chilichonse, kutumiza chilichonse, kufalitsa - chimangosanduka JSON ndipo ndi momwemo.

MS: - Timalandira zidziwitso kuchokera ku Postgres - ili ndi dzina la tebulo ndi chizindikiritso. Kutengera dzina la tebulo ndi chizindikiritso, timapeza zolemba zomwe tikufuna, kenako timatumiza dongosololi kuti lifalitsidwe.

Zachilengedwe

Kodi izi zikuwoneka bwanji kuchokera pamawonekedwe a zomangamanga? Tili ndi ma seva 7 a hardware: imodzi mwa izo idaperekedwa kwathunthu ku database, ena asanu ndi limodzi amayendetsa makina enieni. Pali makope a 6 a API: makina aliwonse omwe ali ndi API amayendetsa pa seva yosiyana ya hardware - izi ndi zodalirika.

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Tili ndi ma frontend awiri omwe ali ndi Keepalived omwe adayikidwa kuti azitha kupezeka, kuti ngati china chake chichitike, kutsogolo kumodzi kungathe m'malo mwake. Komanso - makope awiri a CMS.

Palinso wolowetsa ziwerengero. Pali DB Slave yomwe ma backups amapangidwa nthawi ndi nthawi. Pali Pigeon Pusher, pulogalamu yomwe imatumiza zidziwitso zokankhira kwa makasitomala, komanso zinthu zamagulu: Zabbix, Graylog2 ndi Chef.

M'malo mwake, zomangamangazi ndizosowa, chifukwa 100 zikwizikwi zitha kutumizidwa ndi ma seva ochepa. Koma panali chitsulo - tinachigwiritsa ntchito (tinauzidwa kuti zinali zotheka - bwanji).

Ubwino wa Go

Titagwira ntchito iyi, zabwino zodziwikiratu za Go zidawonekera.

  • Laibulale yabwino ya http. Ndi izo, mukhoza kupanga zambiri kuchokera mu bokosi.
  • Kuphatikiza apo, mayendedwe omwe amatilola kugwiritsa ntchito mosavuta njira yotumizira zidziwitso kwa makasitomala.
  • Chodabwitsa chojambulira Race chidatilola kuchotsa nsikidzi zingapo zovuta (magawo opangira). Chilichonse chomwe chimagwira ntchito pa siteji chimayambitsidwa, chopangidwa ndi kiyi ya Race; ndipo ife, moyenerera, titha kuyang'ana pazitukuko kuti tiwone mavuto omwe tingakhale nawo.
  • Kuchepetsa komanso kuphweka kwa chilankhulo.

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

Tikuyang'ana opanga! Ngati wina akufuna, chonde.

Mafunso anu

Funso lochokera kwa omvera (pambuyo pake - B): - Zikuwoneka kwa ine kuti mwaphonya mfundo imodzi yofunika yokhudzana ndi Kuthamangitsidwa. Kodi ndikulondola pakumvetsetsa kuti mukatumiza yankho kwa kasitomala, mumatsekereza ngati kasitomala sakufuna kuwerenga?

MS: - Ayi, sitikuletsa. Choyamba, tili ndi zonsezi kumbuyo kwa nginx, ndiye kuti, palibe mavuto ndi makasitomala ochedwa. Kachiwiri, kasitomala ali ndi njira yokhala ndi buffer - kwenikweni, titha kuyika zosintha zana pamenepo... Ngati sitingathe kulembera tchanelo, ndiye kuti chimachotsa. Ngati tiwona kuti tchanelo chatsekedwa, ndiye kuti titseka njirayo, ndipo ndizo - kasitomala adzalumikizananso ngati pali vuto lililonse. Choncho, kwenikweni, palibe kutsekereza apa.

Mu: - Sizingatheke kutumiza mbiri nthawi yomweyo Mverani / Kudziwitsa, osati tebulo lozindikiritsa?

MS: - Mverani / Dziwitsani ali ndi malire a ma byte 8 pazomwe zimatumiza. M'malo mwake, zikanakhala zotheka kutumiza ngati tikuchita ndi deta yochepa, koma zikuwoneka kwa ine kuti njira iyi [momwe timachitira] ndi yodalirika kwambiri. Zoperewera zili mu Postgres palokha.

Mu: - Kodi makasitomala amalandira zosintha pamasewera omwe sakuwakonda?

MS: - Mwambiri, inde. Monga lamulo, pali machesi 2-3 omwe akuchitika mofanana, ndipo ngakhale nthawi zambiri. Ngati kasitomala akuyang'ana chinachake, ndiye kuti nthawi zambiri akuyang'ana machesi omwe akuchitika. Kenako, kasitomala ali ndi nkhokwe yakumalo komwe zosintha zonsezi zimawonjezedwa, ndipo ngakhale popanda intaneti, kasitomala amatha kuwona machesi am'mbuyomu omwe ali ndi zosintha. Kwenikweni, timagwirizanitsa database yathu pa seva ndi nkhokwe ya kasitomala kuti athe kugwira ntchito popanda intaneti.

Mu: - Chifukwa chiyani mudapanga ORM yanu?

Alexey (m'modzi mwa omwe amapanga Look +): - Nthawi imeneyo (inali chaka chapitacho) panali ma ORM ochepa kuposa pano, pomwe pali ambiri. Chomwe ndimakonda kwambiri pa ma ORM ambiri kunja uko ndikuti ambiri aiwo amathamanga panjira zopanda kanthu. Ndiko kuti, njira zomwe zili mu ORMzi ndizokonzeka kutenga chilichonse: kapangidwe, cholozera, nambala, china chake chopanda ntchito ...

ORM yathu imapanga zomangidwa motengera mtundu wa data. Inemwini. Choncho njira zonse ndi konkire, osagwiritsa ntchito kusinkhasinkha, ndi zina zotero.

Mu: - Ndi anthu angati omwe adatenga nawo mbali?

MS: - Pa gawo loyamba, anthu awiri adatenga nawo mbali. Tinayamba kwinakwake mu June, ndipo mu August gawo lalikulu linali lokonzeka (buku loyamba). Panali kumasulidwa mu September.

Mu: - Kumene mumafotokozera SSE, simugwiritsa ntchito nthawi yomaliza. Ndichoncho chifukwa chiyani?

MS: - Kunena zowona, SSE ikadali html5 protocol: muyezo wa SSE wapangidwa kuti uzilumikizana ndi asakatuli, momwe ndikumvera. Zili ndi zina zowonjezera kuti asakatuli athe kugwirizanitsa (ndi zina zotero), koma sitikuzifuna, chifukwa tinali ndi makasitomala omwe amatha kugwiritsa ntchito malingaliro aliwonse ogwirizanitsa ndi kulandira zambiri. Sitinapange SSE, koma chofanana ndi SSE. Iyi si protocol yokha.
Panalibe chifukwa. Momwe ndikumvera, makasitomala adagwiritsa ntchito njira yolumikizira pafupifupi kuyambira pachiyambi. Iwo sanali kusamala kwenikweni.

Mu: - Ndi zina ziti zomwe mwagwiritsa ntchito?

MS: - Tidagwiritsa ntchito kwambiri govet ndi golint kupanga masitayilo kukhala ogwirizana, komanso gofmt. Palibe china chimene chinagwiritsidwa ntchito.

Mu: - Munagwiritsa ntchito chiyani kuti mukonze zolakwika?

MS: - Kuchotsa zolakwika kunkachitika makamaka pogwiritsa ntchito mayeso. Sitinagwiritse ntchito debugger kapena GOP.

Mu: - Kodi mutha kubweza slide pomwe ntchito ya Publish imakhazikitsidwa? Kodi mayina osinthika a chilembo chimodzi amakusokonezani?

MS: - Ayi. Amakhala ndi mawonekedwe "opapatiza" owoneka bwino. Sagwiritsidwa ntchito kwina kulikonse kupatula pano (kupatula amkati mwa kalasi iyi), ndipo ndizophatikizika kwambiri - zimangotenga mizere 7 yokha.

Mu: - Mwanjira ina sizinali zomveka ...

MS: - Ayi, ayi, iyi ndi code yeniyeni! Sizokhudza masitayilo. Ndi gulu lothandizira, laling'ono kwambiri - magawo atatu okha m'kalasi ...

Mikhail Salosin. Golang Meetup. Kugwiritsa ntchito Go kumbuyo kwa pulogalamu ya Look +

MS: - Mwambiri, zonse zomwe zimalumikizidwa ndi makasitomala (masewera anyengo, osewera) sizisintha. Kunena zowona, ngati tipanga masewera ena omwe tiyenera kusintha machesi, tidzangoganizira zonse mu mtundu watsopano wa kasitomala, ndipo masinthidwe akale a kasitomala adzaletsedwa.

Mu: - Kodi pali phukusi lililonse loyang'anira kudalira kwa chipani chachitatu?

MS: - Tinagwiritsa ntchito kupita pansi.

Mu: - Panali chinachake chokhudza kanema pamutu wa lipoti, koma panalibe kanthu mu lipoti la kanema.

MS: - Ayi, ndilibe chilichonse pamutu pavidiyoyi. Imatchedwa "Yang'anani +" - ndilo dzina la ntchito.

Mu: - Munati zimatsatiridwa kwa makasitomala? ..

MS: - Sitinachite nawo mavidiyo akukhamukira. Izi zidachitika ndi Megafon. Inde, sindinanene kuti ntchitoyo inali MegaFon.

MS: - Pitani - kuti mutumize deta yonse - pamagulu, pazochitika zamasewera, ziwerengero ... Go ndiye maziko onse a pulogalamuyi. Wofuna chithandizo ayenera kudziwa kuchokera kwinakwake kuti agwiritse ntchito ulalo wogwiritsa ntchito wosewera mpira kuti wosuta awone machesi. Tili ndi maulalo amakanema ndi mitsinje yomwe yakonzedwa.

Zotsatsa zina πŸ™‚

Zikomo chifukwa chokhala nafe. Kodi mumakonda zolemba zathu? Mukufuna kuwona zambiri zosangalatsa? Tithandizeni potipatsa oda kapena kulimbikitsa anzathu, mtambo VPS kwa opanga kuchokera ku $ 4.99, ma analogi apadera a ma seva olowera, omwe adakupangirani inu: Chowonadi chonse chokhudza VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps kuchokera $19 kapena momwe mungagawire seva? (ikupezeka ndi RAID1 ndi RAID10, mpaka 24 cores mpaka 40GB DDR4).

Dell R730xd 2x yotsika mtengo ku Equinix Tier IV data center ku Amsterdam? Pokhapokha 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV kuchokera $199 ku Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - kuchokera $99! Werengani za Momwe mungamangire Infrastructure Corp. kalasi pogwiritsa ntchito ma seva a Dell R730xd E5-2650 v4 ofunika ma euro 9000 pa khobiri?

Source: www.habr.com

Kuwonjezera ndemanga