Server atupale awọn ọna šiše

Eyi ni apakan keji ti onka awọn nkan nipa awọn eto itupalẹ (ọna asopọ si apakan 1).

Server atupale awọn ọna šiše

Loni ko si iyemeji eyikeyi mọ pe ṣiṣe data iṣọra ati itumọ awọn abajade le ṣe iranlọwọ fere eyikeyi iru iṣowo. Ni iyi yii, awọn ọna ṣiṣe itupalẹ n di pupọ sii pẹlu awọn ayeraye, ati nọmba awọn okunfa ati awọn iṣẹlẹ olumulo ni awọn ohun elo n dagba.
Nitori eyi, awọn ile-iṣẹ n fun awọn atunnkanka wọn siwaju ati siwaju sii alaye aise lati ṣe itupalẹ ati yipada si awọn ipinnu ohun. Pataki ti eto atupale fun ile-iṣẹ ko yẹ ki o ṣe akiyesi, ati pe eto funrararẹ gbọdọ jẹ igbẹkẹle ati iduroṣinṣin.

Onibara atunnkanka

Awọn atupale alabara jẹ iṣẹ ti ile-iṣẹ kan sopọ si oju opo wẹẹbu rẹ tabi ohun elo nipasẹ SDK osise, ṣepọ sinu koodu koodu tirẹ ati yan awọn okunfa iṣẹlẹ. Isalẹ ti o han gbangba wa si ọna yii: gbogbo data ti o gba le ma ṣe ni ilọsiwaju bi o ṣe fẹ nitori awọn idiwọn ti iṣẹ eyikeyi ti o yan. Fun apẹẹrẹ, lori eto kan kii yoo rọrun lati ṣiṣe awọn iṣẹ ṣiṣe MapReduce, ni omiiran iwọ kii yoo ni anfani lati ṣiṣe awoṣe rẹ. Alailanfani miiran yoo jẹ owo deede (iwunilori) fun awọn iṣẹ.
Ọpọlọpọ awọn iṣeduro atupale onibara wa lori ọja, ṣugbọn laipẹ tabi nigbamii awọn atunnkanka dojuko pẹlu otitọ pe ko si iṣẹ gbogbo agbaye ti o dara fun gbogbo iṣẹ-ṣiṣe (lakoko ti awọn iye owo fun gbogbo awọn iṣẹ wọnyi ti nyara ni gbogbo igba). Ni iru ipo bẹẹ, awọn ile-iṣẹ nigbagbogbo pinnu lati ṣẹda eto itupalẹ tiwọn pẹlu gbogbo awọn eto aṣa ati awọn agbara pataki.

Oluyanju olupin

Awọn atupale ẹgbẹ olupin jẹ iṣẹ kan ti o le ran lọ laarin ile-iṣẹ lori awọn olupin tirẹ ati (nigbagbogbo) pẹlu awọn akitiyan tirẹ. Ni awoṣe yii, gbogbo awọn iṣẹlẹ olumulo ti wa ni ipamọ lori awọn olupin inu, gbigba awọn olupilẹṣẹ laaye lati gbiyanju awọn apoti isura infomesonu oriṣiriṣi ati yan faaji ti o rọrun julọ. Ati paapaa ti o ba tun fẹ lati lo awọn atupale alabara ẹnikẹta fun diẹ ninu awọn iṣẹ ṣiṣe, yoo tun ṣee ṣe.
Awọn atupale ẹgbẹ olupin le ṣe ran lọ ni awọn ọna meji. Ni akọkọ: yan diẹ ninu awọn ohun elo orisun ṣiṣi, gbe wọn sori awọn ẹrọ rẹ ki o ṣe agbekalẹ ọgbọn iṣowo.

Плюсы
Минусы

O le ṣe akanṣe ohunkohun ti o fẹ
Eyi nigbagbogbo nira pupọ ati nilo awọn olupilẹṣẹ lọtọ

Keji: mu awọn iṣẹ SaaS (Amazon, Google, Azure) dipo gbigbe lọ funrararẹ. A yoo sọrọ nipa SaaS ni awọn alaye diẹ sii ni apakan kẹta.

Плюсы
Минусы

O le jẹ din owo ni awọn iwọn alabọde, ṣugbọn pẹlu idagbasoke nla yoo tun di gbowolori pupọ
Kii yoo ṣee ṣe lati ṣakoso gbogbo awọn paramita

Isakoso ti wa ni gbigbe patapata si awọn ejika ti olupese iṣẹ
A ko mọ nigbagbogbo ohun ti o wa ninu iṣẹ naa (o le ma nilo)

Bii o ṣe le gba awọn atupale olupin

Ti a ba fẹ lọ kuro ni lilo awọn atupale alabara ati kọ tiwa, ni akọkọ gbogbo a nilo lati ronu nipasẹ faaji ti eto tuntun. Ni isalẹ Emi yoo sọ fun ọ ni igbese nipa igbese ohun ti o nilo lati ronu, idi ti o nilo igbesẹ kọọkan ati awọn irinṣẹ ti o le lo.

1. Ngba data

Gẹgẹ bi ninu ọran ti awọn atupale alabara, ni akọkọ, awọn atunnkanka ile-iṣẹ yan iru awọn iṣẹlẹ ti wọn fẹ lati kawe ni ọjọ iwaju ati gba wọn sinu atokọ kan. Ni deede, awọn iṣẹlẹ wọnyi waye ni aṣẹ kan pato, ti a pe ni “apẹẹrẹ iṣẹlẹ.”
Nigbamii, fojuinu pe ohun elo alagbeka kan (aaye ayelujara) ni awọn olumulo deede (awọn ẹrọ) ati ọpọlọpọ awọn olupin. Lati gbe awọn iṣẹlẹ ni aabo lati awọn ẹrọ si olupin, a nilo Layer agbedemeji. Ti o da lori faaji, ọpọlọpọ awọn isinyi iṣẹlẹ le wa.
Afun Kafka Ṣe pobu / iha isinyi, eyi ti o ti lo bi awọn kan ti isinyi fun gbigba awọn iṣẹlẹ.

Gegebi ifiweranṣẹ lori Quora ni 2014, Eleda ti Apache Kafka pinnu lati lorukọ sọfitiwia naa lẹhin Franz Kafka nitori “o jẹ eto ti o dara julọ fun kikọ” ati nitori pe o nifẹ awọn iṣẹ Kafka. - Wikipedia

Ninu apẹẹrẹ wa, ọpọlọpọ awọn olupilẹṣẹ data ati awọn onibara data (awọn ẹrọ ati awọn olupin), ati Kafka ṣe iranlọwọ lati so wọn pọ si ara wọn. Awọn onibara yoo ṣe apejuwe ni alaye diẹ sii ni awọn igbesẹ atẹle, nibiti wọn yoo jẹ awọn koko-ọrọ akọkọ. Bayi a yoo ronu awọn olupilẹṣẹ data nikan (awọn iṣẹlẹ).
Kafka ṣe agbekalẹ awọn imọran ti isinyi ati ipin; o dara lati ka diẹ sii ni pataki nipa eyi ni ibomiiran (fun apẹẹrẹ, ni iwe). Laisi lilọ sinu awọn alaye, jẹ ki a fojuinu pe ohun elo alagbeka kan ti ṣe ifilọlẹ fun awọn OS oriṣiriṣi meji. Lẹhinna ẹya kọọkan ṣẹda ṣiṣan iṣẹlẹ lọtọ tirẹ. Awọn olupilẹṣẹ firanṣẹ awọn iṣẹlẹ si Kafka, wọn ti gbasilẹ ni isinyi to dara.
Server atupale awọn ọna šiše
(aworan lati ibi)

Ni akoko kanna, Kafka gba ọ laaye lati ka ni awọn chunks ati ilana ṣiṣan ti awọn iṣẹlẹ ni awọn ipele kekere. Kafka jẹ ohun elo ti o rọrun pupọ ti o ni iwọn daradara pẹlu awọn iwulo dagba (fun apẹẹrẹ, nipasẹ geolocation ti awọn iṣẹlẹ).
Nigbagbogbo shard kan to, ṣugbọn awọn nkan ni idiju diẹ sii nigbati wọn ba ṣe iwọn (gẹgẹbi wọn ṣe nigbagbogbo). Boya ko si ẹnikan ti yoo fẹ lati lo shard ti ara kan nikan ni iṣelọpọ, niwọn igba ti faaji gbọdọ jẹ ọlọdun ẹbi. Ni afikun si Kafka, ojutu miiran ti a mọ daradara wa - RabbitMQ. A ko lo ni iṣelọpọ bi isinyi fun awọn atupale iṣẹlẹ (ti o ba ni iru iriri, sọ fun wa nipa rẹ ninu awọn asọye!). Sibẹsibẹ, a lo AWS Kinesis.

Ṣaaju ki o to lọ si igbesẹ ti n tẹle, a nilo lati darukọ ọkan diẹ sii Layer afikun ti eto - ibi ipamọ log aise. Eyi kii ṣe ipele ti o nilo, ṣugbọn yoo wulo ti nkan kan ba jẹ aṣiṣe ati awọn isinyi iṣẹlẹ ni Kafka ti tunto. Titoju awọn iwe aise ko nilo ojutu idiju ati gbowolori; o le nirọrun kọ wọn si ibikan ni aṣẹ to pe (paapaa lori dirafu lile).
Server atupale awọn ọna šiše

2. Ṣiṣe awọn ṣiṣan iṣẹlẹ

Lẹhin ti a ti pese gbogbo awọn iṣẹlẹ ati ki o gbe wọn sinu awọn ila ti o yẹ, a lọ si igbesẹ sisẹ. Nibi Emi yoo sọ fun ọ nipa awọn aṣayan processing meji ti o wọpọ julọ.
Aṣayan akọkọ ni lati mu Spark ṣiṣan ṣiṣẹ ni eto Apache. Gbogbo awọn ọja Apache n gbe lori HDFS, eto faili to ni aabo pẹlu awọn ẹda faili. Spark Streaming jẹ ohun elo ti o rọrun lati lo ti o mu data ṣiṣanwọle ati awọn iwọn daradara. Sibẹsibẹ, o le nira lati ṣetọju.
Aṣayan miiran ni lati kọ oluṣakoso iṣẹlẹ tirẹ. Lati ṣe eyi, o nilo, fun apẹẹrẹ, lati kọ ohun elo Python kan, kọ ọ ni Docker ati ṣe alabapin si isinyi Kafka. Nigbati awọn okunfa ba de ọdọ awọn olutọju docker, sisẹ yoo bẹrẹ. Pẹlu ọna yii, o nilo lati tọju awọn ohun elo ṣiṣẹ ni gbogbo igba.
Jẹ ki a ro pe a ti yan ọkan ninu awọn aṣayan ti a ṣalaye loke ki o tẹsiwaju si sisẹ funrararẹ. Awọn ilana yẹ ki o bẹrẹ nipasẹ ṣiṣe ayẹwo idiyele ti data, sisẹ idoti ati awọn iṣẹlẹ “baje”. Fun afọwọsi a maa lo Cerberus. Lẹhin eyi, o le ṣe awọn maapu data: data lati awọn orisun oriṣiriṣi jẹ deede ati pe o jẹ iwọntunwọnsi lati le ṣafikun si tabili ti o wọpọ.
Server atupale awọn ọna šiše

3. aaye data

Igbesẹ kẹta ni lati ṣetọju awọn iṣẹlẹ deede. Nigbati o ba n ṣiṣẹ pẹlu eto itupalẹ ti a ti ṣetan, a yoo ni lati wọle si wọn nigbagbogbo, nitorinaa o ṣe pataki lati yan ibi ipamọ data ti o rọrun.
Ti data ba baamu daradara sinu ero ti o wa titi, o le yan Tẹ ile tabi diẹ ninu awọn miiran columnar database. Ni ọna yii awọn akojọpọ yoo ṣiṣẹ ni iyara pupọ. Apa isalẹ ni pe ero naa ti wa ni iduroṣinṣin ati nitorinaa kii yoo ṣee ṣe lati ṣafikun awọn nkan lainidii laisi iyipada (fun apẹẹrẹ, nigbati iṣẹlẹ ti kii ṣe boṣewa waye). Ṣugbọn o le ka ni iyara pupọ.
Fun data ti a ko ṣeto, o le mu NoSQL, fun apẹẹrẹ, Apache cassandra. O nṣiṣẹ lori HDFS, ṣe atunṣe daradara, o le gbe ọpọlọpọ awọn iṣẹlẹ soke, ati pe o jẹ ọlọdun ẹbi.
O tun le gbe nkan ti o rọrun, fun apẹẹrẹ, MongoDB. O lọra pupọ ati fun awọn iwọn kekere. Ṣugbọn afikun ni pe o rọrun pupọ ati nitorinaa o dara fun ibẹrẹ.
Server atupale awọn ọna šiše

4. Awọn akojọpọ

Lehin ti o ti fipamọ gbogbo awọn iṣẹlẹ ni pẹkipẹki, a fẹ lati gba gbogbo alaye pataki lati inu ipele ti o de ati ṣe imudojuiwọn data data. Ni kariaye, a fẹ lati gba awọn dasibodu ti o yẹ ati awọn metiriki. Fun apẹẹrẹ, gba profaili olumulo kan lati awọn iṣẹlẹ ati ni ọna ṣe iwọn ihuwasi. Awọn iṣẹlẹ ti wa ni akojọpọ, gba, ati fipamọ lẹẹkansi (ninu awọn tabili olumulo). Ni akoko kanna, o le kọ eto kan ki o tun le so àlẹmọ kan si oluṣakoso alaropo: gba awọn olumulo nikan lati iru iṣẹlẹ kan.
Lẹhin iyẹn, ti ẹnikan ninu ẹgbẹ ba nilo awọn atupale ipele giga nikan, awọn ọna ṣiṣe itupalẹ ita le sopọ. O le gba Mixpanel lẹẹkansi. sugbon niwon o jẹ ohun gbowolori, ko gbogbo olumulo iṣẹlẹ ti wa ni rán nibẹ, sugbon nikan ohun ti wa ni ti nilo. Lati ṣe eyi, a nilo lati ṣẹda oluṣakoso kan ti yoo gbe diẹ ninu awọn iṣẹlẹ aise tabi nkan ti awa funrara wa ṣajọpọ tẹlẹ si awọn eto ita, API tabi awọn iru ẹrọ ipolowo.
Server atupale awọn ọna šiše

5. Iwaju

O nilo lati so iwaju iwaju si eto ti a ṣẹda. Apẹẹrẹ to dara ni iṣẹ pupa pupa, jẹ GUI data data ti o ṣe iranlọwọ lati kọ awọn dasibodu. Bawo ni ibaraenisepo naa ṣe n ṣiṣẹ:

  1. Olumulo naa ṣe ibeere SQL kan.
  2. Ni idahun o gba ami kan.
  3. O ṣẹda 'iwoye tuntun' fun rẹ ati gba aworan ti o lẹwa ti o le fipamọ fun ararẹ.

Awọn iwo inu iṣẹ naa jẹ imudojuiwọn adaṣe, o le ṣe akanṣe ati tọpa ibojuwo rẹ. Redash jẹ ọfẹ ti o ba gbalejo, ṣugbọn bi SaaS yoo jẹ $ 50 fun oṣu kan.
Server atupale awọn ọna šiše

ipari

Lẹhin ipari gbogbo awọn igbesẹ loke, iwọ yoo ṣẹda awọn atupale olupin rẹ. Jọwọ ṣe akiyesi pe eyi ko rọrun bi o kan sisopọ awọn atupale alabara, nitori ohun gbogbo nilo lati tunto funrararẹ. Nitorinaa, ṣaaju ṣiṣẹda eto tirẹ, o tọ lati ṣe afiwe iwulo fun eto itupalẹ pataki pẹlu awọn orisun ti o fẹ lati pin si.
Ti o ba ti ṣe iṣiro naa ti o rii pe awọn idiyele naa ga ju, ni apakan atẹle Emi yoo sọrọ nipa bi o ṣe le ṣe ẹya ti o din owo ti awọn atupale ẹgbẹ olupin.

O ṣeun fun kika! Emi yoo dun lati beere awọn ibeere ninu awọn asọye.

orisun: www.habr.com

Fi ọrọìwòye kun