Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ninu ijabọ rẹ, Andrey Borodin yoo sọ fun ọ bi wọn ṣe ṣe akiyesi iriri ti igbelosoke PgBouncer nigba ti n ṣe apẹrẹ adagun asopọ. Odyssey, bi nwọn ti yiyi o jade sinu gbóògì. Ni afikun, a yoo jiroro kini awọn iṣẹ ti puller ti a yoo fẹ lati rii ni awọn ẹya tuntun: o ṣe pataki fun wa kii ṣe lati pade awọn iwulo wa nikan, ṣugbọn lati ṣe idagbasoke agbegbe olumulo Odyssey.

Fidio:

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Bawo ni gbogbo eniyan! Orukọ mi ni Andrew.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni Yandex, Mo ṣe agbekalẹ awọn orisun data orisun ṣiṣi. Ati loni a ni koko kan nipa awọn asopọ pooler asopọ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ti o ba mọ bi o ṣe le pe pooler asopọ ni Russian, lẹhinna sọ fun mi. Mo fẹ gaan lati wa ọrọ imọ-ẹrọ to dara ti o yẹ ki o fi idi mulẹ ninu awọn iwe imọ-ẹrọ.

Koko-ọrọ naa jẹ idiju pupọ, nitori ninu ọpọlọpọ awọn apoti isura infomesonu ti a ṣepọ pọpọ asopọ ati pe iwọ ko paapaa nilo lati mọ nipa rẹ. Nitoribẹẹ, awọn eto kan wa nibi gbogbo, ṣugbọn ni Postgres ko ṣiṣẹ ni ọna yẹn. Ati ni afiwe (ni HighLoad ++ 2019) ijabọ kan wa nipasẹ Nikolai Samokhvalov nipa iṣeto awọn ibeere ni Postgres. Ati pe bi MO ṣe loye rẹ, awọn eniyan wa nibi ti wọn ti tunto awọn ibeere wọn ni pipe, ati pe iwọnyi jẹ eniyan ti o dojuko pẹlu awọn iṣoro eto toje diẹ sii ti o ni ibatan si nẹtiwọọki ati lilo awọn orisun. Ati ni awọn aaye kan o le nira pupọ ni ọna ti awọn iṣoro naa ko han gbangba.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Yandex ni Postgres. Ọpọlọpọ awọn iṣẹ Yandex n gbe ni Yandex.Cloud. Ati pe a ni ọpọlọpọ awọn petabytes ti data ti o ṣe ipilẹṣẹ o kere ju awọn ibeere miliọnu kan fun iṣẹju kan ni Postgres.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati pe a pese iṣupọ boṣewa titọ fun gbogbo awọn iṣẹ - eyi ni ipade akọkọ akọkọ ti ipade, awọn ẹda meji deede (amuṣiṣẹpọ ati asynchronous), afẹyinti, igbelowọn ti awọn ibeere kika lori ajọra naa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ọpa iṣupọ kọọkan jẹ Postgres, lori eyiti, ni afikun si Postgres ati awọn eto ibojuwo, a ti fi ẹrọ pọpọ asopọ pọ si. Asopọ pooler ti lo fun adaṣe ati fun idi akọkọ rẹ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Kini idi pataki ti pooler asopọ?

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Postgres gba awoṣe ilana kan nigbati o n ṣiṣẹ pẹlu aaye data kan. Eyi tumọ si pe asopọ kan jẹ ilana kan, ọkan Postgres backend. Ati ni ẹhin yii ọpọlọpọ awọn caches oriṣiriṣi wa, eyiti o jẹ gbowolori pupọ lati ṣe iyatọ fun awọn asopọ oriṣiriṣi.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni afikun, koodu Postgres ni eto ti a pe ni procArray. O ni awọn ipilẹ data nipa awọn asopọ nẹtiwọki. Ati pe o fẹrẹ jẹ gbogbo awọn algoridimu ṣiṣe procArray ni iloju laini; wọn ṣiṣẹ lori gbogbo akojọpọ awọn asopọ nẹtiwọọki. O jẹ ọmọ iyara ti o lẹwa, ṣugbọn pẹlu awọn asopọ nẹtiwọọki ti nwọle diẹ sii awọn nkan gba diẹ gbowolori diẹ sii. Ati pe nigbati awọn nkan ba ni idiyele diẹ sii, o le pari si san owo ti o ga pupọ fun ọpọlọpọ awọn asopọ nẹtiwọọki.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Awọn ọna 3 ṣee ṣe:

  • Lori ẹgbẹ ohun elo.
  • Lori aaye data.
  • Ati laarin, iyẹn ni, gbogbo iru awọn akojọpọ.

Laanu, atupọ ti a ṣe sinu wa lọwọlọwọ idagbasoke. Awọn ọrẹ wa ni PostgreSQL Ọjọgbọn ṣe eyi julọ. Nigba ti yoo han jẹ soro lati ṣe asọtẹlẹ. Ati ni otitọ, a ni awọn solusan meji fun ayaworan lati yan lati. Iwọnyi jẹ adagun-ẹgbẹ ohun elo ati adagun aṣoju.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Adagun-ẹgbẹ ohun elo jẹ ọna ti o rọrun julọ. Ati pe o fẹrẹ jẹ gbogbo awọn awakọ alabara fun ọ ni ọna kan: ṣafihan awọn miliọnu awọn asopọ rẹ ni koodu bi ọpọlọpọ awọn asopọ mejila si ibi ipamọ data.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Iṣoro ti o dide ni pe ni aaye kan o fẹ lati ṣe iwọn ẹhin, o fẹ lati ran lọ si ọpọlọpọ awọn ẹrọ foju.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Lẹhinna o rii pe o ni ọpọlọpọ awọn agbegbe wiwa diẹ sii, ọpọlọpọ awọn ile-iṣẹ data. Ati awọn ose ẹgbẹ pooling ona nyorisi si tobi awọn nọmba. Awọn ti o tobi jẹ nipa awọn asopọ 10. Eyi ni eti ti o le ṣiṣẹ ni deede.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ti a ba sọrọ nipa awọn atupọ aṣoju, lẹhinna awọn atupọ meji wa ti o le ṣe ọpọlọpọ awọn nkan. Wọn ti wa ni ko nikan poolers. Wọn ti wa ni poolers + diẹ itura iṣẹ. Eyi pgpool и Crunchy-aṣoju.

Ṣugbọn, laanu, kii ṣe gbogbo eniyan nilo iṣẹ ṣiṣe afikun yii. Ati pe o yori si otitọ pe awọn atupọ ṣe atilẹyin iṣakojọpọ igba, ie alabara ti nwọle kan, alabara ti njade kan si data data.

Eyi ko dara pupọ fun awọn idi wa, nitorinaa a lo PgBouncer, eyiti o ṣe imuse isọdọkan idunadura, ie awọn asopọ olupin ti baamu si awọn asopọ alabara nikan fun iye akoko idunadura naa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati ninu iṣẹ wa, eyi jẹ otitọ. Ṣugbọn awọn iṣoro diẹ wa.Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Awọn iṣoro bẹrẹ nigbati o fẹ ṣe iwadii igba kan, nitori gbogbo awọn asopọ ti nwọle jẹ agbegbe. Gbogbo eniyan wa pẹlu loopback ati bakan o nira lati wa kakiri igba naa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Dajudaju o le lo application_name_add_host. Eyi jẹ ọna ni ẹgbẹ Bouncer lati ṣafikun adiresi IP kan si orukọ app_name. Ṣugbọn app_name ti ṣeto nipasẹ afikun asopọ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Lori aworan yii, nibiti laini ofeefee jẹ awọn ibeere gidi, ati nibiti laini buluu jẹ awọn ibeere ti o fo sinu aaye data. Ati pe iyatọ yii jẹ deede fifi sori ẹrọ app_name, eyiti o nilo fun wiwa kakiri, ṣugbọn kii ṣe ọfẹ rara.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni afikun, ni Bouncer o ko le ṣe idinwo adagun kan, ie nọmba awọn asopọ data fun olumulo kan pato, fun ibi ipamọ data kan pato.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Kí ni èyí yọrí sí? O ni iṣẹ ti kojọpọ ti a kọ sinu C ++ ati ni ibikan nitosi iṣẹ kekere kan lori ipade ti ko ṣe ohunkohun ti o buruju pẹlu ibi ipamọ data, ṣugbọn awakọ rẹ lọ irikuri. O ṣi awọn asopọ 20 ati ohun gbogbo miiran yoo duro. Paapaa koodu rẹ jẹ deede.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

A, nitorinaa, kowe kekere alemo fun Bouncer ti o ṣafikun eto yii, ie diwọn awọn alabara si adagun-odo naa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

O yoo ṣee ṣe lati ṣe eyi ni ẹgbẹ Postgres, ie, idinwo awọn ipa ti o wa ninu database nipasẹ nọmba awọn asopọ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ṣugbọn lẹhinna o padanu agbara lati ni oye idi ti o ko ni awọn asopọ si olupin naa. PgBouncer ko jabọ aṣiṣe asopọ kan, nigbagbogbo n da alaye kanna pada. Ati pe o ko le loye: boya ọrọ igbaniwọle rẹ ti yipada, boya ibi ipamọ data ti sọnu, boya nkan kan jẹ aṣiṣe. Ṣugbọn ko si ayẹwo. Ti a ko ba le fi idi igba kan mulẹ, iwọ kii yoo mọ idi ti ko le fi idi rẹ mulẹ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni aaye kan, o wo awọn aworan ohun elo ati rii pe ohun elo naa ko ṣiṣẹ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Wo oke ki o rii pe Bouncer jẹ asapo ẹyọkan. Eyi jẹ aaye iyipada ninu igbesi aye iṣẹ naa. O mọ pe o n murasilẹ lati ṣe iwọn data data ni ọdun kan ati idaji, ati pe o nilo lati ṣe iwọn agbo-omi kekere naa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

A ti wa si ipari pe a nilo PgBouncers diẹ sii.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

https://lwn.net/Articles/542629/

Bouncer ti jẹ patched diẹ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati pe wọn ṣe ki ọpọlọpọ awọn Bouncers le dide nipasẹ lilo tun ibudo TCP. Ati ẹrọ ṣiṣe laifọwọyi n gbe awọn asopọ TCP ti nwọle laarin wọn ni lilo iyipo-robin.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Eyi jẹ sihin si awọn alabara, afipamo pe o dabi pe o ni Bouncer kan, ṣugbọn o ni ipin ti awọn asopọ ti ko ṣiṣẹ laarin awọn Bouncers nṣiṣẹ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati ni akoko kan o le ṣe akiyesi pe awọn Bouncers 3 wọnyi kọọkan jẹ mojuto wọn nipasẹ 100%. O nilo oyimbo kan diẹ Bouncers. Kí nìdí?

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Nitoripe o ni TLS. O ni asopọ ti paroko. Ati pe ti o ba jẹ ala-ilẹ Postgres pẹlu ati laisi TLS, iwọ yoo rii pe nọmba awọn asopọ ti iṣeto ṣubu nipasẹ awọn aṣẹ titobi meji pẹlu fifi ẹnọ kọ nkan, nitori imudani TLS n gba awọn orisun Sipiyu.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati ni oke o le rii pupọ awọn iṣẹ cryptographic diẹ ti o ṣe nigba igbi ti awọn asopọ ti nwọle. Niwọn bi akọkọ wa le yipada laarin awọn agbegbe wiwa, igbi ti awọn asopọ ti nwọle jẹ ipo aṣoju deede. Iyẹn ni, fun idi kan akọkọ akọkọ ko si, gbogbo ẹru naa ni a firanṣẹ si ile-iṣẹ data miiran. Gbogbo wọn yoo wa lati sọ hello si TLS ni akoko kanna.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati pe nọmba nla ti mimu ọwọ TLS le ma sọ ​​kaabo si Bouncer mọ, ṣugbọn yoo fun ọfun rẹ. Nitori akoko ipari, igbi ti awọn asopọ ti nwọle le di aiduro. Ti o ba tun gbiyanju si ipilẹ laisi ipadasẹhin alapin, wọn kii yoo wa lẹẹkansi ati lẹẹkansi ni igbi isokan.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Eyi jẹ apẹẹrẹ ti 16 PgBouncers ti o gbe awọn ohun kohun 16 ni 100%.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

A wá si kasikedi PgBouncer. Eyi ni iṣeto ti o dara julọ ti o le ṣe aṣeyọri lori fifuye wa pẹlu Bouncer. Awọn Bouncers ita wa ni a lo fun mimu ọwọ TCP, ati awọn Bouncers ti inu ni a lo fun isọdọkan gidi, nitorinaa ki o má ba pin awọn isopọ ita ju lọpọlọpọ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni yi iṣeto ni, a dan tun bẹrẹ jẹ ṣee ṣe. O le tun gbogbo awọn wọnyi 18 Bouncers ọkan nipa ọkan. Ṣugbọn mimu iru iṣeto bẹ jẹ ohun ti o ṣoro. Sysadmins, DevOps, ati awọn eniyan ti o jẹ iduro fun olupin yii gaan kii yoo ni idunnu pupọ pẹlu iṣeto yii.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Yoo dabi pe gbogbo awọn ilọsiwaju wa le ni igbega si orisun ṣiṣi, ṣugbọn Bouncer ko ni atilẹyin daradara. Fun apẹẹrẹ, agbara lati ṣiṣẹ ọpọlọpọ awọn PgBouncers lori ibudo kan ni a ṣe ni oṣu kan sẹhin. Ibeere fifa wa pẹlu ẹya yii ni ọpọlọpọ ọdun sẹyin.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

https://www.postgresql.org/docs/current/libpq-cancel.html

https://github.com/pgbouncer/pgbouncer/pull/79

Tabi apẹẹrẹ diẹ sii. Ni Postgres, o le fagilee ibeere ti nlọ lọwọ nipa fifiranṣẹ aṣiri si asopọ ti o yatọ laisi ijẹrisi ti ko wulo. Ṣugbọn diẹ ninu awọn alabara kan firanṣẹ atunto TCP kan, ie wọn fọ asopọ nẹtiwọọki naa. Kini Bouncer yoo ṣe? Oun ko ni ṣe ohunkohun. Yoo tẹsiwaju lati ṣiṣẹ ibeere naa. Ti o ba ti gba nọmba nla ti awọn asopọ ti o ṣẹda data data pẹlu awọn ibeere kekere, lẹhinna ge asopọ asopọ lati Bouncer kii yoo to; o tun nilo lati pari awọn ibeere wọnyẹn ti o nṣiṣẹ ni ibi ipamọ data.

Eyi ti jẹ pamọ ati pe iṣoro yii ko tii dapọ si oke Bouncer.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati nitorinaa a wa si ipari pe a nilo adagun asopọ ti ara wa, eyiti yoo ni idagbasoke, patched, ninu eyiti awọn iṣoro le ṣe atunṣe ni kiakia ati eyiti, dajudaju, gbọdọ jẹ opo-pupọ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

A ṣeto multithreading bi iṣẹ akọkọ. A nilo lati ni anfani lati mu igbi ti awọn asopọ TLS ti nwọle daradara.

Lati ṣe eyi, a ni lati ṣe agbekalẹ ile-ikawe lọtọ ti a pe ni Machinarium, eyiti a ṣe apẹrẹ lati ṣapejuwe awọn ipinlẹ ẹrọ ti asopọ nẹtiwọọki kan bi koodu lẹsẹsẹ. Ti o ba wo koodu orisun libpq, iwọ yoo rii diẹ ninu awọn ipe idiju ti o le da abajade pada fun ọ ki o sọ pe, “Pe mi nigbamii. Ni bayi Mo ni IO fun bayi, ṣugbọn nigbati IO ba lọ Emi yoo ni ẹru lori ero isise naa. ” Ati pe eyi jẹ ero-ipele pupọ. Ibaraẹnisọrọ nẹtiwọki ni igbagbogbo ṣe apejuwe nipasẹ ẹrọ ipinlẹ kan. Ọpọlọpọ awọn ofin bii “Ti MO ba gba akọsori apo-iwe ti iwọn N tẹlẹ, ni bayi Mo n duro de awọn baiti N,” “Ti MO ba fi pakẹti SYNC kan ranṣẹ, ni bayi Mo n duro de apo kan pẹlu metadata abajade.” Abajade jẹ kuku nira, koodu counterintuitive, bi ẹnipe iruniloju naa ti yipada si ọlọjẹ laini. A ṣe bẹ pe dipo ẹrọ ipinlẹ kan, olupilẹṣẹ ṣe apejuwe ọna akọkọ ti ibaraenisepo ni irisi koodu iwulo deede. O kan jẹ pe ninu koodu pataki yii o nilo lati fi sii awọn aaye nibiti ilana ipaniyan nilo lati ni idilọwọ nipasẹ nduro data lati inu nẹtiwọọki, gbigbe ipo ipaniyan si coroutine miiran (o tẹle ara alawọ ewe). Ọna yii jẹ iru si otitọ pe a kọ ọna ti a reti julọ ni iruniloju ni ọna kan, lẹhinna fi awọn ẹka kun si.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Bi abajade, a ni okun kan ti o gba TCP ati yika-robin kọja asopọ TPC si ọpọlọpọ awọn oṣiṣẹ.

Ni idi eyi, kọọkan ni ose asopọ nigbagbogbo nṣiṣẹ lori ọkan isise. Ati pe eyi n gba ọ laaye lati jẹ ki o jẹ ọrẹ-kaṣe.

Ati ni afikun, a ti ni ilọsiwaju diẹ si ikojọpọ ti awọn apo-iwe kekere sinu apo nla kan lati le yọkuro akopọ TCP eto naa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni afikun, a ti ni ilọsiwaju iṣeduro iṣowo ni ori ti Odyssey, nigbati o ba tunto, le firanṣẹ CANCEL ati ROLLBACK ni iṣẹlẹ ti ikuna asopọ nẹtiwọki, ie ti ko ba si ẹnikan ti o nduro fun ibeere kan, Odyssey yoo sọ fun database ko gbiyanju lati gbiyanju mu ibeere ti o le padanu awọn ohun elo iyebiye.

Ati nigbakugba ti o ṣee ṣe, a tọju awọn asopọ si alabara kanna. Eyi yago fun nini lati tun elo_name_add_host sori ẹrọ. Ti eyi ba ṣee ṣe, lẹhinna a ko ni lati tunto awọn paramita ti o nilo fun awọn iwadii aisan.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

A ṣiṣẹ ni awọn anfani ti Yandex.Cloud. Ati pe ti o ba lo PostgreSQL ti iṣakoso ati ti fi sori ẹrọ pọọlu asopọ kan, o le ṣẹda ẹda ọgbọn lode, ie, fi wa silẹ, ti o ba fẹ, ni lilo atunwi ọgbọn. Bouncer kii yoo tu ṣiṣan isọdọtun ọgbọn silẹ ni ita.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Eyi jẹ apẹẹrẹ ti iṣeto atunwi ọgbọn.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni afikun, a ni atilẹyin fun isọdọtun ti ara ita. Ninu Awọsanma, dajudaju, eyi ko ṣee ṣe, nitori lẹhinna iṣupọ yoo fun ọ ni alaye pupọ nipa ararẹ. Ṣugbọn ninu awọn fifi sori ẹrọ rẹ, ti o ba nilo isọdọtun ti ara nipasẹ pooler asopọ ni Odyssey, eyi ṣee ṣe.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Odyssey ni ibojuwo ibaramu ni kikun pẹlu PgBouncer. A ni console kanna ti o nṣiṣẹ fere gbogbo awọn aṣẹ kanna. Ti nkan kan ba nsọnu, firanṣẹ ibeere fa, tabi o kere ju ọrọ kan lori GitHub, ati pe a yoo pari awọn aṣẹ to wulo. Ṣugbọn a ti ni iṣẹ akọkọ ti console PgBouncer.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati pe, dajudaju, a ni aṣiṣe fifiranṣẹ. A yoo da aṣiṣe ti o royin nipasẹ data data. O yoo gba alaye nipa idi ti o ko ba wa ni o wa ninu awọn database, ki o si ko kan pe o ko ba wa ni o wa ninu.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ẹya yii jẹ alaabo ni ọran ti o nilo ibamu 100% pẹlu PgBouncer. A le huwa ni ọna kanna bi Bouncer, o kan lati wa ni apa ailewu.

Idagbasoke

Awọn ọrọ diẹ nipa koodu orisun Odyssey.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

https://github.com/yandex/odyssey/pull/66

Fun apẹẹrẹ, awọn pipaṣẹ “Daduro / Pada” wa. Wọn ti wa ni nigbagbogbo lo lati mu awọn database. Ti o ba nilo lati ṣe imudojuiwọn Postgres, lẹhinna o le da duro ni adagun asopọ, ṣe pg_upgrade, lẹhinna tun bẹrẹ. Ati lati ẹgbẹ alabara yoo dabi ẹni pe data data n fa fifalẹ ni irọrun. Iṣẹ ṣiṣe yii ni a mu wa nipasẹ awọn eniyan lati agbegbe. Arabinrin ko tii sibẹ, ṣugbọn laipẹ ohun gbogbo yoo jẹ. (Tẹlẹ aotoju)

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

https://github.com/yandex/odyssey/pull/73 - tẹlẹ aotoju

Ni afikun, ọkan ninu awọn ẹya tuntun ni PgBouncer jẹ atilẹyin fun Ijeri SCRAM, eyiti o tun mu wa nipasẹ eniyan ti ko ṣiṣẹ ni Yandex.Cloud. Mejeji jẹ iṣẹ ṣiṣe eka ati pataki.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Nitorinaa, Emi yoo fẹ lati sọ fun ọ kini Odyssey ṣe, ti o ba tun fẹ kọ koodu kekere kan ni bayi.

O ni ipilẹ orisun Odyssey, eyiti o da lori awọn ile-ikawe akọkọ meji. Ile-ikawe Kiwi jẹ imuse ti Ilana ifiranṣẹ Postgres. Iyẹn ni, proto abinibi 3 ti Postgres jẹ awọn ifiranṣẹ boṣewa ti awọn opin-iwaju ati awọn opin-pada le ṣe paṣipaarọ. Wọn ti ṣe imuse ni ile-ikawe Kiwi.

Ile-ikawe Machinarium jẹ ile-ikawe imuse okun. Ajẹkù kekere ti Machinarium yii ni a kọ ni ede apejọ. Ṣugbọn maṣe bẹru, awọn ila 15 nikan lo wa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Odyssey faaji. Ẹrọ akọkọ wa lori eyiti awọn coroutines nṣiṣẹ. Ẹrọ yii ṣe imuse gbigba awọn asopọ TCP ti nwọle ati pinpin wọn laarin awọn oṣiṣẹ.

Olutọju fun ọpọlọpọ awọn alabara le ṣiṣẹ laarin oṣiṣẹ kan. Okun akọkọ tun nṣiṣẹ console ati sisẹ awọn iṣẹ-ṣiṣe crone lati paarẹ awọn asopọ ti ko nilo ninu adagun-odo mọ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Odyssey ti ni idanwo ni lilo boṣewa suite idanwo Postgres. A kan ṣiṣe fifi sori ẹrọ-ṣayẹwo nipasẹ Bouncer ati nipasẹ Odyssey, a gba div asan. Awọn idanwo pupọ wa ti o ni ibatan si ọna kika ọjọ ti ko kọja ni deede ni Bouncer ati ni Odyssey.

Ni afikun, ọpọlọpọ awọn awakọ ti o ni idanwo tiwọn. Ati pe a lo awọn idanwo wọn lati ṣe idanwo Odyssey.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni afikun, nitori iṣeto kasikedi wa, a ni lati ṣe idanwo ọpọlọpọ awọn edidi: Postgres + Odyssey, PgBouncer + Odyssey, Odyssey + Odyssey lati rii daju pe ti Odyssey ba pari ni eyikeyi awọn apakan ninu kasikedi, o tun ṣiṣẹ bi a ti reti.

Àwárí

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

A lo Odyssey ni iṣelọpọ. Ati pe kii yoo ṣe deede ti MO ba sọ pe ohun gbogbo kan ṣiṣẹ. Rara, iyẹn, bẹẹni, ṣugbọn kii ṣe nigbagbogbo. Fun apẹẹrẹ, ni iṣelọpọ ohun gbogbo kan ṣiṣẹ, lẹhinna awọn ọrẹ wa lati PostgreSQL Ọjọgbọn wa sọ pe a ni jijo iranti kan. Wọn jẹ looto, a ṣe atunṣe wọn. Sugbon o je rọrun.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Lẹhinna a ṣe awari pe alapọpọ asopọ ni awọn asopọ TLS ti nwọle ati awọn asopọ TLS ti njade. Ati awọn asopọ nilo awọn iwe-ẹri alabara ati awọn iwe-ẹri olupin.

Bouncer ati awọn iwe-ẹri olupin Odyssey ni a tun ka nipasẹ pcache wọn, ṣugbọn awọn iwe-ẹri alabara ko nilo lati tun ka lati pcache, nitori Odyssey ti iwọn wa nikẹhin nṣiṣẹ sinu iṣẹ ṣiṣe eto kika ijẹrisi yii. Eyi jẹ iyalẹnu fun wa, nitori ko gba akoko pipẹ lati koju. Ni akọkọ o ṣe iwọn laini, ṣugbọn lẹhin awọn asopọ 20 ti nwọle nigbakanna iṣoro yii fihan funrararẹ.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ọna Ijeri Pluggable jẹ agbara lati ṣe idaniloju lilo awọn irinṣẹ Lunux ti a ṣe sinu. Ni PgBouncer o ti ṣe imuse ni ọna ti o yatọ si o tẹle ara lati duro fun esi lati PAM ati pe opo PgBouncer akọkọ wa ti o ṣe iṣẹ asopọ lọwọlọwọ ati pe o le beere lọwọ wọn lati gbe ni okun PAM.

A ko ṣe eyi fun idi ti o rọrun kan. A ni ọpọlọpọ awọn okun. Kini idi ti a nilo eyi?

Eyi le ṣẹda awọn iṣoro nikẹhin ni pe ti o ba ni ijẹrisi PAM ati ti kii ṣe PAM, lẹhinna igbi nla ti ijẹrisi PAM le ṣe idaduro ifitonileti ti kii-PAM ni pataki. Eyi jẹ ọkan ninu awọn nkan ti a ko ṣe atunṣe. Ṣugbọn ti o ba fẹ ṣe atunṣe, o le ṣe eyi.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Rake miiran ni pe a ni okun kan ti o gba gbogbo awọn asopọ ti nwọle. Ati lẹhinna wọn gbe lọ si adagun oṣiṣẹ, nibiti afọwọwọ TLS yoo waye.

Laini isalẹ, ti o ba ni igbi ibaramu ti awọn asopọ nẹtiwọọki 20, gbogbo wọn yoo gba. Ati ni ẹgbẹ alabara libpq yoo bẹrẹ ijabọ awọn akoko ipari. Nipa aiyipada o dabi pe o jẹ iṣẹju-aaya 000.

Ti gbogbo wọn ko ba le tẹ ibi-ipamọ data ni akoko kanna, lẹhinna wọn ko le tẹ ibi ipamọ data sii, nitori gbogbo eyi le jẹ bo nipasẹ atunṣe ti kii ṣe alaye.

A wa si ipari pe a daakọ ero naa lati PgBouncer nibi pẹlu otitọ pe a ni fifun nọmba awọn asopọ TCP si eyiti a gba.

Ti a ba rii pe a n gba awọn asopọ, ṣugbọn wọn ko ni akoko lati fi ọwọ kan, a fi wọn sinu isinyi ki wọn ko padanu awọn orisun Sipiyu. Eyi nyorisi si otitọ pe mimu ọwọ nigbakanna le ma ṣee ṣe fun gbogbo awọn asopọ ti o ti de. Sugbon o kere ẹnikan yoo tẹ awọn database, paapa ti o ba awọn fifuye jẹ ohun eru.

Ipa ipa ọna

Kini iwọ yoo fẹ lati rii ni ọjọ iwaju ni Odyssey? Kini a ti ṣetan lati ṣe idagbasoke ara wa ati kini a reti lati agbegbe?

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Bi Oṣu Kẹjọ ọdun 2019.

Eyi ni ohun ti oju-ọna opopona Odyssey dabi ni Oṣu Kẹjọ:

  • A fẹ SCRAM ati PAM ìfàṣẹsí.
  • A fẹ lati dari awọn ibeere kika si imurasilẹ.
  • Emi yoo fẹ atunbẹrẹ ori ayelujara.
  • Ati agbara lati da duro lori olupin naa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Idaji ti oju-ọna opopona yii ti pari, kii ṣe nipasẹ wa. Ati pe eyi dara. Nitorinaa jẹ ki a jiroro ohun ti o ku ki a ṣafikun diẹ sii.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Nipa awọn ibeere kika-nikan siwaju si imurasilẹ? A ni awọn ẹda ti yoo yara gbona afẹfẹ laisi ṣiṣe awọn ibeere. A nilo wọn lati pese failover ati switchover. Ni ọran ti awọn iṣoro ni ọkan ninu awọn ile-iṣẹ data, Emi yoo fẹ lati gba wọn pẹlu diẹ ninu awọn iṣẹ to wulo. Nitori a ko le tunto awọn kanna aringbungbun to nse, kanna iranti otooto, nitori bibẹkọ ti atunwi yoo ko sise.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni opo, ni Postgres, bẹrẹ lati 10, o ṣee ṣe lati pato session_attrs nigbati o ba sopọ. O le ṣe atokọ gbogbo awọn ogun ibi ipamọ data ni asopọ ki o sọ idi ti o fi n lọ si ibi ipamọ data: kọ tabi ka nikan. Ati pe awakọ funrararẹ yoo yan agbalejo akọkọ ninu atokọ ti o fẹran julọ, eyiti o ṣe awọn ibeere ti session_atrs.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ṣugbọn iṣoro pẹlu ọna yii ni pe ko ṣakoso aisun ẹda. O le ni ẹda kan ti o ti lọ sile fun iye akoko itẹwẹgba fun iṣẹ rẹ. Lati le jẹ ki ipaniyan iṣẹ ṣiṣe ni kikun ti awọn ibeere kika lori ẹda kan, a nilo pataki lati ṣe atilẹyin agbara Odyssey lati ma ṣiṣẹ nigbati ko le ka.

Odyssey gbọdọ lọ si ibi ipamọ data lati igba de igba ati beere fun ijinna isọdọtun lati akọkọ. Ati pe ti o ba ti de iye iye to, maṣe gba awọn ibeere titun sinu ibi ipamọ data, sọ fun alabara pe o nilo lati tun-pilẹṣẹ awọn asopọ ati, o ṣee ṣe, yan ogun miiran lati ṣe awọn ibeere. Eyi yoo gba aaye data laaye lati mu pada aisun ẹda pada ki o pada lẹẹkansi lati dahun pẹlu ibeere kan.

O ṣoro lati fun akoko kan fun imuse, nitori pe o jẹ orisun ṣiṣi. Ṣugbọn, Mo nireti, kii ṣe awọn ọdun 2,5 bii awọn ẹlẹgbẹ mi lati PgBouncer. Eyi ni ẹya ti Emi yoo fẹ lati rii ninu Odyssey.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ni agbegbe, eniyan beere nipa atilẹyin fun alaye ti a pese sile. Bayi o le ṣẹda alaye ti a pese silẹ ni awọn ọna meji. Ni akọkọ, o le ṣiṣẹ aṣẹ SQL, eyun “ti pese sile”. Lati le loye aṣẹ SQL yii, a nilo lati kọ ẹkọ lati loye SQL ni ẹgbẹ Bouncer. Eyi yoo jẹ iwọn apọju, nitori pe o jẹ apọju, nitori a nilo gbogbo parser naa. A ko le ṣe itupalẹ gbogbo aṣẹ SQL.

Ṣugbọn alaye ti o pese silẹ wa ni ipele Ilana ifiranṣẹ lori proto3. Ati pe eyi ni aaye nigbati alaye ti alaye ti a pese sile ba wa ni fọọmu ti a ṣeto. Ati pe a le ṣe atilẹyin oye pe lori diẹ ninu asopọ olupin alabara beere lati ṣẹda awọn alaye ti a pese silẹ. Ati paapaa ti idunadura naa ba wa ni pipade, a tun nilo lati ṣetọju asopọ laarin olupin ati alabara.

Ṣugbọn nibi iyatọ kan ninu ibaraẹnisọrọ dide, nitori ẹnikan sọ pe o nilo lati ni oye iru awọn alaye ti a pese silẹ ti alabara ṣẹda ati pin asopọ olupin laarin gbogbo awọn alabara ti o ṣẹda asopọ olupin yii, ie, ẹniti o ṣẹda iru alaye ti o pese.

Andres Freund sọ pe ti alabara kan ba de ọdọ rẹ ti o ti ṣẹda iru alaye ti a pese tẹlẹ ni asopọ olupin miiran, lẹhinna ṣẹda rẹ fun u. Ṣugbọn o dabi pe o jẹ aṣiṣe diẹ lati ṣiṣẹ awọn ibeere ni ibi ipamọ data dipo alabara, ṣugbọn lati oju wiwo ti olupilẹṣẹ ti o kọ ilana naa fun ibaraenisọrọ pẹlu data data, yoo rọrun ti o ba fun ni ni asopọ nẹtiwọọki ni eyiti iru ibeere ti a pese sile wa.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ati ẹya kan diẹ sii ti a nilo lati ṣe. A ni ibojuwo ni ibamu pẹlu PgBouncer. A le da apapọ akoko ipaniyan ibeere pada. Ṣugbọn akoko apapọ jẹ iwọn otutu apapọ ni ile-iwosan: diẹ ninu tutu, diẹ ninu gbona - ni apapọ, gbogbo eniyan ni ilera. Kii ṣe otitọ.

A nilo lati ṣe atilẹyin atilẹyin fun awọn ipin ogorun, eyiti yoo fihan pe awọn ibeere ti o lọra wa ti o jẹ ki awọn orisun jafara ati pe yoo jẹ ki ibojuwo jẹ itẹwọgba diẹ sii.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Ohun pataki julọ ni pe Mo fẹ ẹya 1.0 (Ẹya 1.1 ti tu silẹ tẹlẹ). Otitọ ni pe Odyssey wa bayi ni ẹya 1.0rc, ie oludije itusilẹ. Ati pe gbogbo awọn iṣoro ti Mo ṣe atokọ ni a ṣeto pẹlu ẹya kanna, ayafi fun jijo iranti.

Kini ikede 1.0 yoo tumọ si fun wa? A n yi Odyssey jade si awọn ipilẹ wa. O ti n ṣiṣẹ tẹlẹ lori awọn apoti isura infomesonu wa, ṣugbọn nigbati o ba de aaye ti awọn ibeere 1 fun iṣẹju keji, lẹhinna a le sọ pe eyi ni ẹya itusilẹ ati pe eyi jẹ ẹya ti o le pe ni 000.

Ọpọlọpọ eniyan ni agbegbe ti beere pe ẹya 1.0 pẹlu idaduro ati SCRAM. Ṣugbọn eyi yoo tumọ si pe a yoo nilo lati yi ẹya ti o tẹle si iṣelọpọ, nitori pe SCRAM tabi idaduro ko tii pa. Ṣugbọn, o ṣeese julọ, ọran yii yoo yanju ni yarayara.

Odyssey Roadmap: kini ohun miiran ti a fẹ lati ọdọ adagun asopọ kan. Andrey Borodin (2019)

Mo n duro de ibeere fifa rẹ. Emi yoo tun fẹ lati gbọ iru awọn iṣoro ti o ni pẹlu Bouncer. Ẹ jẹ́ ká jíròrò wọn. Boya a le ṣe awọn iṣẹ diẹ ti o nilo.

Eyi ni opin apakan mi, Emi yoo fẹ lati gbọ tirẹ. E dupe!

Awọn ibeere

Ti MO ba ṣeto orukọ ara mi app_name, ṣe yoo firanṣẹ siwaju bi o ti tọ, pẹlu ni ikojọpọ idunadura ni Odyssey?

Odyssey tabi Bouncer?

Ni Odyssey. Ni Bouncer o ti da.

A yoo ṣe eto kan.

Ati ti o ba mi gidi asopọ hops lori miiran awọn isopọ, yoo ti o wa ni tan bi?

A yoo ṣe kan ti ṣeto ti gbogbo awọn sile ti o ti wa ni akojọ si ni awọn akojọ. Nko le so boya application_name wa ninu atokọ yii. Mo ro pe mo ti ri i nibẹ. A yoo ṣeto gbogbo awọn paramita kanna. Pẹlu ibeere kan, ṣeto yoo ṣe ohun gbogbo ti o ti fi sori ẹrọ nipasẹ alabara lakoko ibẹrẹ.

O ṣeun, Andrey, fun ijabọ naa! Iroyin to dara! Inu mi dun pe Odyssey n dagbasoke ni iyara ati yiyara ni iṣẹju kọọkan. Mo fe tesiwaju bi eleyi. A ti beere lọwọ rẹ tẹlẹ lati ni asopọ orisun data-ọpọlọpọ ki Odyssey le sopọ si oriṣiriṣi awọn apoti isura infomesonu nigbakanna, ie ẹrú titunto si, ati lẹhinna sopọ laifọwọyi si oluwa tuntun lẹhin ikuna.

Bẹẹni, Mo dabi pe o ranti ijiroro yii. Bayi ọpọlọpọ awọn ibi ipamọ wa. Ṣugbọn ko si iyipada laarin wọn. Ni ẹgbẹ wa, a gbọdọ dibo fun olupin naa pe o wa laaye ati loye pe ikuna kan ti ṣẹlẹ, tani yoo pe pg_recovery. Mo ni a boṣewa ona ti oye ti a ko wa si oluwa. Ati pe o yẹ ki a loye bakan lati awọn aṣiṣe tabi kini? Ìyẹn ni pé ọ̀rọ̀ náà wúni lórí, wọ́n ń jíròrò rẹ̀. Kọ diẹ ẹ sii comments. Ti o ba ni awọn oṣiṣẹ ti o mọ C, lẹhinna iyẹn dara julọ.

Ọrọ ti igbelosoke kọja awọn ẹda tun jẹ iwulo si wa, nitori a fẹ lati jẹ ki isọdọmọ ti awọn iṣupọ ti a ṣe ni irọrun bi o ti ṣee fun awọn olupilẹṣẹ ohun elo. Ṣugbọn nibi Emi yoo fẹ awọn asọye diẹ sii, ie gangan bi o ṣe le ṣe, bii o ṣe le ṣe daradara.

Ibeere naa tun jẹ nipa awọn ẹda. O wa ni pe o ni titunto si ati ọpọlọpọ awọn ẹda. Ati pe o han gbangba pe wọn lọ si ẹda ni igba diẹ ju si oluwa fun awọn asopọ, nitori wọn le ni awọn iyatọ. O sọ pe iyatọ ninu data le jẹ iru pe kii yoo ni itẹlọrun iṣowo rẹ ati pe iwọ kii yoo lọ sibẹ titi yoo fi tun ṣe. Ni akoko kanna, ti o ko ba lọ sibẹ fun igba pipẹ, lẹhinna bẹrẹ lilọ, lẹhinna data ti o nilo kii yoo wa lẹsẹkẹsẹ. Iyẹn ni, ti a ba lọ si oluwa nigbagbogbo, kaṣe ti o wa nibẹ ti gbona, ṣugbọn ninu ẹda kaṣe jẹ lags diẹ.

Bẹẹni o jẹ otitọ. PCache naa kii yoo ni awọn bulọọki data ti o fẹ, kaṣe gidi kii yoo ni alaye nipa awọn tabili ti o fẹ, awọn ero naa kii yoo ni awọn ibeere ti a ṣe itupalẹ, kii yoo si nkankan rara.

Ati pe nigbati o ba ni iru iṣupọ kan, ti o ba ṣafikun ẹda tuntun nibẹ, lẹhinna lakoko ti o bẹrẹ, ohun gbogbo buru ninu rẹ, ie o mu kaṣe rẹ pọ si.

Mo ni imọran naa. Ọna ti o pe yoo jẹ lati ṣiṣẹ ipin kekere ti awọn ibeere lori ẹda ni akọkọ, eyiti yoo gbona kaṣe naa. Ni aijọju, a ni majemu ti a gbọdọ duro lẹhin oluwa nipasẹ ko si ju iṣẹju-aaya 10 lọ. Ati pe ipo yii ko wa ninu igbi kan, ṣugbọn laisiyonu fun diẹ ninu awọn alabara.

Bẹẹni, pọ si iwuwo.

Eleyi jẹ kan ti o dara agutan. Ṣugbọn akọkọ a nilo lati ṣe imuse tiipa yii. Ni akọkọ a nilo lati pa, ati lẹhinna a yoo ronu bi a ṣe le tan-an. Eyi jẹ ẹya nla lati mu ṣiṣẹ laisiyonu.

Nginx ni aṣayan yii slowly start ni a iṣupọ fun olupin. Ati pe o maa n mu ẹru naa pọ sii.

Bẹẹni, imọran nla, a yoo gbiyanju nigbati a ba wa si ọdọ rẹ.

orisun: www.habr.com

Fi ọrọìwòye kun