Bidh sinn ag ath-fhoillseachadh an tar-sgrĂŹobhadh den aithisg bhon cho-labhairt 2016, a chaidh a chumail ann an Skolkovo faisg air Moscow air an t-Samhain 7-8 an-uiridh. ag innse mar a leudaicheas tu gnĂŹomhachd NGINX le OpenResty agus Lua.
Halo a h-uile duine, is e m âainm Vladimir Protasov, tha mi ag obair dha Parallels. Innsidh mi beagan mum dheidhinn fhĂŹn dhut. Bidh mi aâ cur seachad trĂŹ chairteal de mo bheatha aâ sgrĂŹobhadh còd. ThĂ inig mi gu bhith nam phrògramadair gu cridhe anns an t-seadh litireil: bidh mi uaireannan aâ faicinn còd nam aislingean. Tha cairteal de bheatha na leasachadh gnĂŹomhachais, aâ sgrĂŹobhadh còd a tha aâ dol dĂŹreach gu cinneasachadh. Còd a chleachdas cuid agaibh ach nach eil fios agad air.
Gus innse dhut dè cho dona 'sa bha e. Nuair a bha mi beagan òg, thĂ inig mi a-steach agus thug iad dhomh an dĂ stòr-dĂ ta terabyte sin. Tha e a-nis an seo airson a h-uile duine highload. Chaidh mi gu co-labhairtean agus dhâ fhaighnich mi: âGuys, innis dhomh, a bheil dĂ ta mòr agad, a bheil a h-uile dad fionnar? Cia mheud bonn a thâ agad an sin? Fhreagair iad mi: âTha 100 gigabytes againn!â Thuirt mi: âCool, 100 gigabytes!â Agus smaoinich mi rium fhĂŹn mar a shĂ bhalas mi an aghaidh poker gu sgiobalta. Tha thu aâ smaoineachadh, tha, gu bheil na balaich fionnar, agus an uairsin thig thu air ais agus tinker leis na stòran-dĂ ta ioma-terabyte sin. Agus is e seo a bhith nad oileanach. An urrainn dhut smaoineachadh dè an seòrsa buille a thâ ann?
Tha mi eòlach air còrr air 20 cà nan prògramaidh. Is e seo a bha agam ri thuigsinn rè na h-obrach. Bheir iad còd dhut ann an Erlang, ann an C, ann an C ++, ann an Lua, ann am Python, ann an Ruby, ann an rudeigin eile, agus feumaidh tu a ghearradh uile. San fharsaingeachd, bha agam ri. Cha robh e comasach an dearbh à ireamh obrachadh a-mach, ach an à iteigin timcheall air 20 chaidh an à ireamh a chall.
Leis gu bheil fios aig a h-uile duine an seo dè a thâ ann an Parallels agus na bhios sinn aâ dèanamh, cha bhith mi aâ bruidhinn air cho fionnar sa tha sinn agus na bhios sinn aâ dèanamh. Chan innis mi dhut ach gu bheil 13 oifisean againn air feadh an t-saoghail, còrr air 300 neach-obrach, leasachadh ann am Moscow, Tallinn agus Malta. Ma thogras tu, faodaidh tu a thoirt agus gluasad gu Malta, ma tha e fuar sa gheamhradh agus feumaidh tu do dhruim a bhlĂ thachadh.
Gu sònraichte, tha an roinn againn a 'sgrĂŹobhadh ann am Python 2. Tha sinn ann an gnĂŹomhachas agus chan eil Ăšine againn teicneòlasan fasanta a thoirt a-steach, agus mar sin bidh sinn a 'fulang. Tha Django againn, oir tha a h-uile cĂ il ann, agus ghabh sinn an còrr agus thilg sinn air falbh e. Cuideachd MySQL, Redis agus NGINX. Tha tòrr rudan fionnar eile againn cuideachd. Tha MongoDB againn, tha coineanaich againn aâ ruith mun cuairt, dĂŹreach chan eil dad againn - ach chan e mise a thâ ann, agus cha bhith mi ga dhèanamh.
Fosgailte
Dh'innis mi mum dheidhinn fhĂŹn. ChĂŹ sinn na tha mi aâ dol a bhruidhinn an-diugh:
- Dè a thâ ann an OpenResty agus cò leis a bhios e ag ithe?
- Carson ath-chruthaich aâ chuibhle nuair a bhios Python, NodeJS, PHP, Go agus stuthan fionnar eile againn a bhios a h-uile duine toilichte?
- Agus beagan eisimpleirean fĂŹor. Bâ fheudar dhomh an aithisg a ghearradh sĂŹos gu mòr, oir fhuair mi e airson 3,5 uairean, agus mar sin cha bhi mòran eisimpleirean ann.
Is e OpenResty NGINX. Taing dha, tha frithealaiche lĂŹn lĂ n-chuimseach againn, a tha air a dheagh sgrĂŹobhadh, bidh e ag obair gu sgiobalta. Tha mi aâ smaoineachadh gu bheil aâ mhòr-chuid againn aâ cleachdadh NGINX ann an cinneasachadh. Tha fios agad uile gu bheil e luath agus fionnar. Rinn iad I / O sioncronaich fionnar ann, agus mar sin chan fheum sinn dad a rothaireachd san aon dòigh sa chaidh gevent a chuairteachadh ann am Python. Tha Gevent fionnar, fionnar, ach ma sgrĂŹobhas tu còd-C agus ma thèid rudeigin ceĂ rr air gevent, thèid thu Ă s a chiall. Bha eòlas agam: thug e dĂ latha slĂ n gus faighinn a-mach dè a chaidh ceĂ rr an sin. Mura robh cuideigin air a chladhach airson beagan sheachdainean roimhe, nach do lorg e an duilgheadas, nach do sgrĂŹobh e air an eadar-lĂŹn e, agus nach do lorg Google e, bhiodh sinn air a dhol gu tur Ă s mo chiall.
Tha NGINX mu thrĂ th aâ dèanamh tasgadan agus susbaint statach. Cha leig thu leas a bhith draghail mu mar a nĂŹ thu e gu daonna, gus nach bi thu slaodach an Ă iteigin, gus nach caill thu tuairisgeulan an Ă iteigin. Tha Nginx gu math goireasach airson a chuir a-steach, cha leig thu leas smaoineachadh air dè a bheir thu - WSGI, PHP-FPM, Gunicorn, Unicorn. Chaidh Nginx a chuir a-steach, air a thoirt dha na rianairean, tha fios aca mar a dhâ obraicheas iad leis. Bidh Nginx aâ lĂ imhseachadh iarrtasan ann an dòigh structaraichte. Bruidhnidh mi mu dheidhinn seo beagan nas fhaide air adhart. Ann an Ăšine ghoirid, tha ĂŹre aige nuair a ghabh e ris an iarrtas, nuair a rinn e pròiseasadh agus nuair a thug e an susbaint don neach-cleachdaidh.
Tha Nginx fionnar, ach tha aon dhuilgheadas ann: chan eil e sĂšbailte gu leòr eadhon leis na feartan fionnar sin a phut na balaich a-steach don config, a dh âaindeoin gum faodar a ghnĂ thachadh. Chan eil an cumhachd seo gu leòr. Mar sin, thog na balaich Ă Taobao aon uair, tha mi aâ smaoineachadh o chionn ochd bliadhna, Lua a-steach dha. Dè tha e a 'toirt seachad?
- meud. Tha e beag. Bheir LuaJIT à ite timcheall air 100-200 kilobytes de chuimhne os cionn agus glè bheag de choileanadh os an cionn.
- Astar. Tha an t-eadar-theangair LuaJIT faisg air C ann an iomadh suidheachadh, ann an cuid de shuidheachaidhean bidh e aâ call do Java, ann an cuid bidh e aâ dol seachad air. Airson greis, bhathas den bheachd gur e Ăšr-nodha a bhâ ann, an neach-cruinneachaidh JIT as fhuaire. A-nis tha feadhainn nas fhuaire ann, ach tha iad gu math trom, mar eisimpleir, an aon V8. Tha cuid de eadar-mhĂŹnearan JS agus Java HotSpot nas luaithe aig cuid de phuingean, ach tha iad fhathast a 'call aig cuid de phuingean.
- Furasta ionnsachadh. Ma tha, can, còd Perl agad agus nach eil thu aâ gleidheadh, chan fhaigh thu prògraman Perl. A chionn nach 'eil iad ann, thugadh air falbh iad uile, agus tha e fada agus duilich an teagasg. Ma tha thu ag iarraidh prògramadairean airson rudeigin eile, is dòcha gum feum iad a bhith air an ath-thrèanadh no air an lorg. Ann an cĂšis Lua, tha a h-uile dad sĂŹmplidh. Faodar Lua ionnsachadh le òigridh sam bith ann an trĂŹ latha. Thug e timcheall air dĂ uair a thĂŹde dhomh faighinn a-mach. DĂ uair a thĂŹde Ă s deidh sin, bha mi mu thrĂ th aâ sgrĂŹobhadh còd ann an riochdachadh. Mu sheachdain an dèidh sin, chaidh e dĂŹreach gu riochdachadh agus dh'fhalbh e.
Mar thoradh air an sin, tha e coltach ri seo:

Tha tòrr an seo. Tha OpenResty air dòrlach de mhodalan a chruinneachadh, an dà chuid lush agus einnsean. Agus tha a h-uile dad deiseil agad - air a chuir a-steach agus ag obair.
eisimpleirean
Gu leòr de na faclan, gluaisidh sinn air adhart chun chòd. Seo beagan Hello World:

Dè th' ann? 's e seo an t-Ă ite einnsean. Na gabh dragh, cha bhith sinn aâ sgrĂŹobhadh ar slighe fhèin, cha bhith sinn aâ gabhail fear deiseil - tha e againn mu thrĂ th ann an NGINX, tha sinn beò gu math agus leisg.
content_by_lua_block na bhloca a tha ag rĂ dh gu bheil sinn aâ frithealadh susbaint aâ cleachdadh sgriobt Lua. Gabhaidh sinn caochladair einnsean remote_addr agus sluig a steach e string.format. Tha seo mar an ceudna sprintf, a-mhĂ in ann an Lua, a-mhĂ in ceart. Agus bidh sinn ga thoirt don neach-dèiligidh.
Mar thoradh air an sin, seallaidh e mar seo:

Ach air ais chun fhĂŹor shaoghal. Ann an riochdachadh, chan eil duine a 'cleachdadh Hello World. Mar as trice bidh an tagradh againn aâ dol chun stòr-dĂ ta no an Ă iteigin eile agus aâ mhòr-chuid den Ăšine bidh e aâ feitheamh ri freagairt.

DĂŹreach suidhe agus feitheamh. Chan eil e glè mhath. Nuair a thig 100.000 neach-cleachdaidh, tha e gu math duilich dhuinn. Mar sin, cleachdamaid tagradh sĂŹmplidh mar eisimpleir. Coimheadaidh sinn airson dealbhan, mar eisimpleir, cait. Is e dĂŹreach nach dèan sinn dĂŹreach sgrĂšdadh, leudaichidh sinn na prĂŹomh fhaclan agus, ma rinn an neach-cleachdaidh sgrĂšdadh airson âpiseaganâ, lorgaidh sinn cait, fluffies, agus mar sin air adhart. An toiseach feumaidh sinn an dĂ ta iarrtas fhaighinn air an backend. Tha e coltach ri seo:

Leigidh dĂ loidhne dhut paramadairean GET a thogail, gun duilgheadas sam bith. An uairsin gheibh sinn, mar eisimpleir, am fiosrachadh seo bho stòr-dĂ ta le clĂ r le prĂŹomh fhacal agus leudachadh aâ cleachdadh ceist SQL cunbhalach. Tha a h-uile dad sĂŹmplidh. Tha e coltach ri seo:

Bidh sinn a 'ceangal an leabharlann resty.mysql, a tha againn mar-thĂ anns aâ phut. Chan fheum sinn dad a stĂ ladh, tha a h-uile dad deiseil. Sònraich mar a cheanglas tu agus a nĂŹ thu ceist SQL:

Tha e rud beag eagallach, ach tha e ag obair. Seo 10 an ĂŹre as Ă irde. Bidh sinn aâ tarraing a-mach 10 clĂ ran, tha sinn leisg, chan eil sinn airson barrachd a shealltainn. Ann an SQL, dhĂŹochuimhnich mi mun chrĂŹoch.
An uairsin lorg sinn ĂŹomhaighean airson a h-uile ceist. Bidh sinn aâ cruinneachadh dòrlach de dhâ iarrtasan agus aâ lĂŹonadh clĂ r Lua ris an canar reqs, agus dèan ngx.location.capture_multi.

Bidh na h-iarrtasan sin uile aâ dol aig an aon Ă m, agus tha na freagairtean air an tilleadh thugainn. Tha an Ăšine ruith co-ionann ri Ăšine freagairt an tè as slaodaiche. Ma loisgeas sinn uile air ais ann an 50 milliseconds, agus gun cuir sinn ceud iarrtas, gheibh sinn freagairt ann an 50 milliseconds.
Leis gu bheil sinn leisg agus nach eil sinn airson là imhseachadh HTTP agus caching a sgrÏobhadh, bheir sinn air NGINX a h-uile cà il a dhèanamh dhuinn. Mar a chunnaic thu, bha iarrtas ann airson url/fetchseo e:

Bidh sinn a 'dèanamh sÏmplidh proxy_pass, sònraich cà ite an dèan thu tasgadan, mar a nÏ thu e, agus bidh a h-uile dad ag obair dhuinn.
Ach chan eil seo gu leòr, feumaidh sinn fhathast an dà ta a thoirt don neach-cleachdaidh. Is e am beachd as sÏmplidh a h-uile cà il a chuir gu JSON, gu furasta, ann an dà loidhne. Bheir sinn Content-Type, bheir sinn JSON.
Ach tha aon duilgheadas ann: chan eil an neach-cleachdaidh airson JSON a leughadh. Feumaidh sinn luchd-leasachaidh aghaidh a thĂ ladh. Uaireannan chan eil sinn a 'faireachdainn mar a bhith ga dhèanamh an toiseach. Tha, agus bidh eòlaichean SEO ag rĂ dh ma tha sinn a 'coimhead airson dealbhan, chan eil dragh orra. Agus ma bheir sinn beagan susbaint dhaibh, canaidh iad nach bi na h-innealan rannsachaidh againn aâ clĂ r-amais dad.
Dè a dhèanamh leis? Gu dearbh, bheir sinn HTML don neach-cleachdaidh. Chan eil gineadh le là mhan comme il faut, agus mar sin tha sinn airson teamplaidean a chleachdadh. Tha leabharlann ann airson seo lua-resty-template.

Feumaidh gu bheil thu air na trĂŹ litrichean eagallach OPM fhaicinn. Bidh OpenResty a âtighinn leis aâ mhanaidsear pacaid aige fhèin, tron ââââurrainn dhut dòrlach de mhodalan eadar-dhealaichte a chuir a-steach, gu sònraichte, lua-resty-template. Is e einnsean teamplaid sĂŹmplidh a thâ ann coltach ri teamplaidean Django. An sin faodaidh tu còd a sgrĂŹobhadh agus ionadachadh caochlaideach a dhèanamh.
Mar thoradh air an sin, seallaidh a h-uile dad rudeigin mar seo:

Ghabh sinn an dĂ ta agus rinn sinn an teamplaid a-rithist ann an dĂ loidhne. Tha an neach-cleachdaidh toilichte, fhuair cait. Bhon a leudaich sinn an t-iarrtas, fhuair e cuideachd ròn bian airson piseagan. Chan eil fios agad a-riamh, is dòcha gu robh e ga lorg, ach cha bâ urrainn dha an t-iarrtas aige a dhealbhadh ceart.
Tha a h-uile dad fionnar, ach tha sinn gan leasachadh, agus chan eil sinn airson sealltainn do luchd-cleachdaidh fhathast. Dèanamaid Úghdarrachadh. Gus seo a dhèanamh, chÏ sinn mar a là imhsicheas NGINX an t-iarrtas a thaobh OpenResty:
- A' chiad Ïre - ruigsinneachd, nuair a thà inig an neach-cleachdaidh dÏreach, agus thug sinn sÚil air le cinn, le seòladh IP, le dà ta eile. Faodaidh tu a ghearradh dheth sa bhad mura toil leinn e. Faodar seo a chleachdadh airson cead, no ma gheibh sinn tòrr iarrtasan, is urrainn dhuinn gu furasta an gearradh aig an Ïre seo.
- ath-sgrĂŹobh. Ag ath-sgrĂŹobhadh cuid de dhĂ ta iarrtas.
- clĂ r na lĂ raich. Bheir sinn susbaint don neach-cleachdaidh.
- sĂŹoltachan cinn. Atharraich na cinn-cinn freagairt. Ma chleachd sinn
proxy_pass, is urrainn dhuinn cuid de chinn-cinn ath-sgrĂŹobhadh mus toir sinn don neach-cleachdaidh e. - criathrag corp. Faodaidh sinn an corp atharrachadh.
- log - logadh. Tha e comasach logaichean a sgrÏobhadh ann an elasticsearch gun còmhdach a bharrachd.
Bidh an t-Ăšghdarras againn aâ coimhead rudeigin mar seo:

Cuiridh sinn seo ri sin location, air an tug sinn cunntas roimhe, agus cuir an còd a leanas an sin:

Bidh sinn aâ coimhead feuch a bheil tòcan cookie againn. Mura h-eil, an uairsin bidh sinn a 'tilgeil air cead. Tha luchd-cleachdaidh seòlta agus faodaidh iad tomhas gu bheil feum air comharra briosgaid a shuidheachadh. Mar sin, cuiridh sinn ann an Redis e cuideachd:

Tha an còd airson a bhith ag obair le Redis gu math sÏmplidh agus chan eil e eadar-dhealaichte bho chà nanan eile. Aig an aon à m, a h-uile cur a-steach / toradh, dè a th 'ann, dè a tha an seo, chan eil e a' bacadh. Ma sgrÏobhas tu còd sioncronaich, bidh e ag obair asyncronach. Coltach ri gevent, dÏreach air a dhèanamh gu math.

Dèanamaid an t-Úghdarras fhèin:

Tha sinn ag rĂ dh gum feum sinn am buidheann iarrtais a leughadh. Bidh sinn aâ faighinn argamaidean POST, dèan cinnteach gu bheil an logadh a-steach agus am facal-faire ceart. Ma tha ceĂ rr, bidh sinn a 'tilgeil air cead. Agus ma tha iad ceart, bidh sinn aâ sgrĂŹobhadh an comharra gu Redis:

Na dÏ-chuimhnich am briosgaid a shuidheachadh, tha seo cuideachd air a dhèanamh ann an dà loidhne:

Tha an eisimpleir sÏmplidh, tuairmeasach. Gun teagamh, cha dèan sinn seirbheis a sheallas cait do dhaoine. Ach cò aig a tha fios sinn. Mar sin rachamaid thairis air na ghabhas dèanamh ann an riochdachadh.
- CÚl-fhiosrachadh minimalist. Aig amannan feumaidh sinn beagan dà ta a thoirt don backend: an à iteigin feumaidh sinn an ceann-latha a chuir na à ite, an à iteigin feumaidh sinn liosta de sheòrsa air choreigin a thaisbeanadh, innis cia mheud neach-cleachdaidh a tha air an là rach a-nis, sgriubha air cuntair no staitistig. Rud cho beag. Faodar cuid de phÏosan beaga a dhèanamh gu math furasta. Bidh seo luath, furasta agus sgoinneil.
- Ro-phròiseasadh dĂ ta. Aig amannan bidh sinn airson sanasan fhighe a-steach don duilleag againn, agus bidh sinn aâ gabhail na sanasan sin le iarrtasan API. Tha seo gu math furasta a dhèanamh an seo. Cha bhith sinn aâ luchdachadh ar backend, a tha ag obair gu cruaidh mar-thĂ . Faodaidh tu a thogail agus a chruinneachadh an seo. Is urrainn dhuinn beagan JS a dhealbhadh no, air an lĂ imh eile, unstick, rudeigin a ro-phròiseas mus toir e don neach-cleachdaidh e.
- Facade airson microservice. Tha seo cuideachd na chĂšis fĂŹor mhath, chuir mi an gnĂŹomh e. Roimhe sin, bha mi ag obair dha Tenzor, companaidh aithris dealanach a bheir seachad aithris airson timcheall air leth de na buidhnean laghail san dĂšthaich. Tha sinn air seirbheis a dhèanamh, tha mòran rudan air an dèanamh an sin aâ cleachdadh an aon uidheamachd: slighe, Ăšghdarras, agus barrachd.
Faodar OpenResty a chleachdadh mar an glaodh airson na meanbh-sheirbheisean agad gus aon chothrom a thoirt do gach nĂŹ agus aon eadar-aghaidh. Leis gum faodar microservices a sgrĂŹobhadh ann an dòigh is gu bheil Node.js agad an seo, tha PHP agad an seo, tha Python agad an seo, tha rud Erlang an seo, tha sinn aâ tuigsinn nach eil sinn airson an aon chòd ath-sgrĂŹobhadh anns a h-uile Ă ite. Mar sin, faodar OpenResty a chuir a-steach don aghaidh. - Staitistig agus anailis. Mar as trice tha NGINX aig an t-slighe a-steach, agus bidh a h-uile iarrtas aâ dol troimhe. Is ann san Ă ite seo a tha e gu math goireasach a chruinneachadh. Faodaidh tu rudeigin obrachadh a-mach sa bhad agus a thilgeil an Ă iteigin, mar eisimpleir, an aon Elasticsearch, Logstash, no dĂŹreach sgrĂŹobh e chun log agus an uairsin cuir e an Ă iteigin.
- Siostaman ioma-chleachdaiche. Mar eisimpleir, tha geamannan air-loidhne glè mhath ri dhèanamh cuideachd. An-diugh ann an Cape Town innsidh Alexander Gladysh dhut mar a nĂŹ thu prototype gu sgiobalta air geama ioma-chluicheadair aâ cleachdadh OpenResty.
- Criathradh Iarrtais (WAF). A-nis tha e fasanta a h-uile seòrsa de bhallachan-teine ââââapp lĂŹn a dhèanamh, tha mòran sheirbheisean gan toirt seachad. Le cuideachadh bho OpenResty, faodaidh tu balla-teine ââââapp lĂŹn a dhèanamh dhut fhèin, a bhios gu sĂŹmplidh agus gu furasta aâ sĂŹoladh iarrtasan a rèir do riatanasan. Ma tha Python agad, tuigidh tu nach bi PHP gu cinnteach air a thoirt a-steach dhut, mura h-eil thu, gu dearbh, ga shĂŹolachadh an Ă ite sam bith bhon chonsail. Tha fios agad gu bheil MySQL agus Python agad. Is dòcha, an seo faodaidh iad feuchainn ri slighe seòlaidh de sheòrsa air choreigin a dhèanamh agus rudeigin a chuir a-steach don stòr-dĂ ta. Mar sin, faodaidh tu iarrtasan balbh a shĂŹoladh gu sgiobalta agus gu saor dĂŹreach aig an aghaidh.
- Coimhearsnachd. Leis gu bheil OpenResty stèidhichte air NGINX, tha bònas aige - is e seo Coimhearsnachd NGINX. Tha e gu math mòr, agus chaidh mòran de na ceistean a bhios agad an-toiseach a fhreagairt le coimhearsnachd NGINX.
Luchd-leasachaidh Lua. An-dè bhruidhinn mi ris na balaich a thĂ inig gu latha trèanaidh HighLoad ++ agus a chuala nach eil ach Tarantool sgrĂŹobhte ann an Lua. Chan ann mar seo a tha, tha tòrr rudan sgrĂŹobhte ann an Lua. Eisimpleirean: OpenResty, frithealaiche Prosody XMPP, einnsean geama Love2D, tha Lua air a sgrĂŹobhadh ann an Warcraft agus an Ă iteachan eile. Tha tòrr luchd-leasachaidh Lua ann, tha coimhearsnachd mhòr agus freagairteach aca. Chaidh mo cheistean Lua uile a fhreagairt taobh a-staigh beagan uairean a thĂŹde. Nuair a sgrĂŹobhas tu chun liosta puist, gu litearra ann am beagan mhionaidean tha dòrlach de fhreagairtean ann mu thrĂ th, bidh iad ag innse dè agus ciamar, dè a thâ ann. Tha e sgoinneil. Gu mĂŹ-fhortanach, chan eil a leithid de choimhearsnachd dhĂšrachdach anns a h-uile Ă ite.
Tha GitHub aig OpenResty, far an urrainn dhut cÚis fhosgladh ma bhriseas rudeigin. Tha liosta puist air Cuantail Ghoogle far an urrainn dhut ceistean coitcheann a dheasbad, tha liosta puist ann an SÏonais - chan eil fios agad a-riamh, is dòcha nach eil Beurla agad, ach tha eòlas agad air SÏnis.
Builean
- Tha mi an dòchas gun robh e comasach dhomh innse gur e frèam lĂŹn a tha gu math goireasach a thâ ann an OpenResty.
- Tha ĂŹre inntrigidh ĂŹosal aige, leis gu bheil an còd coltach ris na tha sinn aâ sgrĂŹobhadh, tha an cĂ nan gu math sĂŹmplidh agus glè bheag.
- Bidh e aâ toirt seachad I/O asyncronach Ă s aonais fios air ais, cha bhith nòtan againn oir is urrainn dhuinn uaireannan sgrĂŹobhadh ann an NodeJS.
- Tha cleachdadh furasta aige, oir chan fheum sinn ach NGINX leis aâ mhodal cheart agus an còd againn, agus bidh a h-uile dad ag obair sa bhad.
- Coimhearsnachd mhòr agus freagairteach.
Cha do dhâ innis mi gu mionaideach mar a thèid slighe a dhèanamh, bâ e sgeulachd glè fhada a bhâ ann.
ХпаŃийО Са вниПанио!

Source: www.habr.com
