á¨ááŁááá ááᣠáááŁá á áľáá áĽáŤá°áá ááá˘
á¤á ááľáĽáá ááá á°á, áľá áááľáá ááŽáłáśá áĽáŁááá, á Parallels áá áĽá°áŤáá. áľááŤá´ áľáá˝ áĽáááááłááᢠá áááá´ áŚáľáľ á áŤá°ááá áŽáľ á ááťá á áłááááᢠá áĽáŹá ááŽááŤáá áááŠáᥠá ááłááľ áá á á áá áŽáľ á ááťááᢠáŠáĽ á áááľ á¨á˘ááąáľáľáŞ áááľ áá, á ááĽáł áá° áááľ á¨áááŁáá áŽáľ ááťá. á ááłááśáťá˝á á¨ááľá áááľ áá á¨ááłáááľ áŽáľá˘
áľááá áá áŤá á ááĽá áĽáá°áá ᨠáááŁááłá. áľáá˝ áá áłááᣠááĽáź áĽááá áŁá áááľ á´áŤáŁááľ áłáłá¤á á°á°á áᢠá áá áĽáá áá ááá á°á á¨áá°á áááľ ááᢠáá° áŽááá¨ááśá˝ áá á á¨á ááĄ- âáááśá˝áŁ áááŠáᣠáľáá áá¨á á áá˝áᣠááá ááá áĽáŠ áá? áĽá፠áľááľ áá°á¨áľ á áá ? â100 áááŁááľ á áá!â áĽáá áááąááᢠâá áŞáᣠ100 áááŁááľ!â á ááŠáľá˘ áĽá á¨áá¨á áá´á áĽáá´áľ á áĽááá áá á á áĽááłááĽá ááŤá´ áĽáŤá°áĽáŠ áá áᢠáááľáá˝ááᣠá áᣠá°ááš áĽáŠ áá¸áᣠáĽá á¨á፠á°ááá°á á áĽááá áŁááĽá á´áŤáŁááľ á¨ááἠááłáá˝ áľáááŁáá ᢠáĽá áá - ááá¨á ááá. áá áá ááááľ áľáĽá°áŁ áĽáá°áá ááááľ áľá˝ááá ?
á¨20 á áá á¨ááŽááŤááá ááááá˝á á ááááᢠáá
áľá°áŤ ááá
á¨áá á¨áĽá ááá ááᢠá ErlangᣠCᣠC++ᣠLuaᣠPythonᣠRubyᣠáá ááá áŽáľ áá°áĄááłá áĽá áááá ááá¨áĽ á ááĽááľá˘ á á á ááá, ááľá¨á áá á¨áĽá. áľáááááá ááĽá áááľááľ á áá°áťáá, ááá áá á 20 áá á áŤáŁá˘ á¨áá áŚáł ááĽáŠ á ááˇá.
ááá á¨áá¨áĄáľ áľááŠáá˝ áá áĽáá°áá áĽá áá áĽáá°ááá°áá áľáááŤáá
ᣠáá áŤá
á á áŞá áĽáá°ááá áĽá áá áĽáá°ááá°áá á áááááᢠá á áá ááŞáŤ 13 á˘áŽáá˝, ᨠ300 á áá á°áŤá°áá˝, á ááľáŽ, áłáá áĽá áááł ááľáĽ áááľ áĽááłáá áĽáááááłáá. á¨ááá, ááá°áľ áĽá á áá¨ááľ áááá á¨áá áĽá áááŁáá ááá
á¨ááá áá° áááł áááľ áá˝áá.
á á°ááá á¨áĽá á˛áááľáááľ á Python 2 ááľáĽ áá˝áá. áĽá á áááľ áľáŤ áá áá áĽá áá˝á á´áááááá˝á ááá°áá á áá á¨ááá, áľááá áĽáá°ááŤáá. á˛áááá á¨ááá ááá ááá ááá áľááá ááᣠáĽá á ááľááá á¨áááá ááľá°á áá¨ááááᢠáĽáá˛áá MySQLᣠRedis áĽá NGINXᢠááá˝ áĽá áĽáŠ áááŽá˝á á ááᢠMongoDB á áá ᣠááŞáŤáá á¨ááŽáĄ áĽáá¸áá˝ á áá ᣠááá ááá á áá - áá á¨áĽá á áá°áá ᣠáĽá áĽá á áá°ááááá˘
áááľ áŹáľá˛
áľááŤá´ ááááŠáľá˘ áĽáľá˛ áᏠáľááááá¨á ááá áĽááá áĄ-
- OpenResty áááľá áá áĽá á¨áá áá áá á¨áá áá?
- ááááᣠááľáá¤áľáŁ áá¤á˝áᣠááľ áĽá ááá á°á á¨áá°á°áľáŁá¸á ááá˝ áĽáŠ áááŽá˝ áĽáŤáá ááá áá áá áĽáá°áá áĽáá°áŤááá˘
- áĽá á¨á áááľ áĽááľ ááłááá˝á˘ 3,5 á°á áłáľ áľááááĽá áŞáááąá áĽá ááá¨áĽ áá á¨áĽá, áľááá áĽááľ ááłááá˝ áááŤá.
OpenResty NGINX ááᢠááĽáą ááľáá áááŁáá á á°áἠá¨á°áá áĽá á ááĽááľ á¨áá°áŤ áá á áááááľ áŤáá á¨áľá á áááá á áá. á áĽáááťá˝á NGINXá á áááľ ááľáĽ áĽáá áááá áĽáŹ á áľáŁááᢠáĽáą ááŁá áĽá á áŞá áĽáá°áá ááá˝áá áłáááá˝áᢠá ááľáĄ á áŞá á¨á°ááłá°á I/O á áŠáŁ áľááá ááá ááá áá˝á¨áá¨á á áŤáľáááááᣠáá á áááá ááľáĽ áĽááłá°á¨ááľá˘ Gevent á áŞá áá á áŞá áá ááá áá ᲠáŽáľ á¨áá áĽá á¨áá á˝áá á¨á°áá ᨠá ááŹááľ á ááŤáááľ áá¨á áŤáĽáłáᢠáááą áá á¨áᥠáĽá፠áá áĽáá°á°áá ᨠáááá áááľ áá áááľ áá áˇáᢠá ááľ á°á ááĽá áłáááłáľ áŤáááᨠᣠá˝ááŠá áŤááá ᣠá áááá¨áĽ áá á˘á˝á áĽá ááá áŁáŤááá áᎠáá á áá áĽáĽáľ áĽááá áá áá˘
NGINX á áľááľá áá¸á፠áĽá á¨áááááłááľ áááľ á°á¨ááááᢠá áá áŚáł áá ááááá˝á áĽááłáŤáĄ, á¨áá áŚáł áĽááłááááŠ, áá áá á á°áĽá áááľ áĽáá´áľ áĽáá°ááŤá°áááľ áá¨áá á áŤáľáááááľá. Nginx ááá°ááŤáľ á áŁá ááš áá, áá ááá°áľ áĽááłááŚáľ áá°áĽ á áŤáľáááááľá - WSGI, PHP-FPM, Gunicorn, Unicorn. Nginx á°ááá, áá áľá°áłáłáŞáá˝ á°á°áĽáˇá, á¨áĽáą áá áĽáá´áľ áĽáá°áá°áŠ áŤááá. Nginx áĽáŤááá˝á á á°ááá ááአáŤáľáŹáłáᢠáľááá ááłá áľáá˝ áááź á ááŤááᢠáŁáአáĽáŤááá á˛áá áᣠá˛áŤáľá°áááľ áĽá áááąá áá°á ááá á˛áŤááἠá°á¨á á ááá˘
Nginx á áŞá ááᣠááá áá á ááľ á˝áá á áᥠááá áĽááłá áááá á˘á˝áá áááśáš áá° áá አáŁá¨ááááľ áĽáŠ áŁá áŞáŤáľ áĽááłá á á á áááł á°áááá á áá°ááᢠáá ááá á á á áá°áá. ááá á áá ᨠTaobao á°áá˝ á¨á¨á á áá á ááľ, á¨áľáááľ á ááľ á ááľ áááľáá, áá á á ááľáĄ á¨áááĄáľ. áá áá°áŁá?
- áá. áľáá˝ áá. LuaJIT á¨100-200 áŞááŁááľ á¨áá á°á¨ áľááľáł á áá áĽá á ááľá°á á¨á áááá áľáá áá°áŁáá˘
- ááĽááľ. ᨠLuaJIT á áľá°ááá á áĽá áááłáὠᨠC áá áááŤá¨áŁáᣠá á ááłááľ áááłáá˝ á á፠áá¸áááᣠá áá á áŠá á°áá áá áá ááᢠáá°áá°á áá á áŁá áĽáŠá á¨áá áᲠáŽáááá°á áĽáá° áĽá ἠáááł ááá á áá áᢠá áá áááááá˝ á á, áá á áŁá á¨áŁáľ áá¸á, áááłá, á°ááłáłá V8. á ááłááľ á¨áá¤áľ á°ááááá˝ áĽá á፠ááľáľááľ á á ááłááľ áŚáłáá˝ ááŁá áá¸áᣠááá áá á á ááłááľ áŚáłáá˝ á ááá áá¸áááá˘
- áááá ááá. á¨ááá áŽáľ á¤á áŤáá áĽá áĽáŤáľáŤáá áŤááá á¨ááá ááŽááŤááŽá˝á á áŤáááᢠáĽááą áľááá, ááá á°ááľá°áá, áĽá áĽááąá ááľá°áá á¨á á áĽá á¨áŁáľ áá. ááá ááá ááŽááŤááŽá˝á á¨áááᣠáĽáá°áá áá°áá á ááá áĽááąá ááááľ ááááĽá áá˝ááᢠá áá ááłá ááá ááá ááá ááᢠááááá ááŁáľ áá á á áśáľáľ áááľ ááľáĽ ááá áá˝ááᢠáááá áááľ á°ááľ áŤá á áá áśáĽááᢠá¨áááľ á°ááłáľ á áá á áááľ ááľáĽ áŽáľ áĽá˝ááá ᢠá¨á ááľ áłáááľ áá°á á áá á ááĽáł áá° áááľ ááś áá°á˘
á áá¤áąá, áá áá áááľáá.
áĽáá
áĽá ááá á áᢠOpenResty áááąáá áá˝ áĽá áá°á áááá˝á á°áĽáľá§áᢠáĽá ááá ááá ááá áá - á¨á°á°á፠áĽá á¨áá°áŤá˘
ááłááá˝
ááĽá áá áááᣠáá° áŽáą áĽáááľá˘ áľáá˝ áá á áá áĽáááĄ-
áá á á? áá
á¨á˘áááá˝ ááá ááᢠá áá¨áá
á, á¨áŤáłá˝áá áááŞáŤ á áá˝áá, ááá á¨ááá á áááľáľá - ááľááá á NGINX ááľáĽ á áá, áĽáŠ áĽá á°áá á
áááľ áĽáááŤáá.
content_by_lua_block
á¨áá áľááŞááľ á áá áá áááľá áĽáŤááááá áá á¨áá áĽáá ááᢠá¨á˘áááá˝á á°áááá áĽáááľáłáá remote_addr
áĽá á áľáᣠstring.format
. áĽáá°ááŤá ááᢠsprintf
á áá áĽáť áľááá áĽáťá˘ áĽá áá°áá áá áĽáá°á ááá.
á áá¤áąá, áĽáá°áá¨á°áá áááá.
áá áá° áĽááá°áá ááá áĽááááľá˘ áá á ááá áá° áááľ á¨ááŤá°á፠á¨ááᢠá¨áĽá áá°áá áŞáŤ áĽááá áá áá° áłáłá¤á ááá áá áŚáł áááłá áĽá áĽá áá ááá˝ áá áĽááá˘
áá áĽá á°ááጠáá áĽááᢠá áŁá áĽáŠ á áá°áá. 100.000 á°á áááá˝ á˛ááĄ, ááĽá á áŁá á¨áŁáľ áá. áľááá
ááá áá°áá áŞáŤá áĽáá° ááłá áĽáá ááᢠááľáá˝á áááłá áľááśá˝á áĽáááááá. áá áááá áĽáť áłááá ááá áááśá˝á áĽáá°ááá áĽá á°á ááá "áľááśá˝á" á¨ááá áľááśá˝á, áááŤá áľááśá˝á áĽá á¨ááłá°ááľá áĽááááá. á ááááŞáŤ á¨áĽáŤááá áá¨á á áááŁá áá ááááľ á ááĽáᢠáá
á áááľááá˘
áááľ ááľááŽá˝ ᨠGET áááŞáŤáá˝á áĽáá˛áŤááą áŤáľá˝áááłá, ááá ááľáĽáľáĽ áááŽá˝ á¨áá. á ááá áᣠáááá áá áĽá á
áĽáŤ ááááľ áŤáá á¨ááἠááłáŁ áá
áá áá¨á á¨ááááá áá°á á á¨SQL áĽáŤáá á áá áá ááᢠááá ááᢠáá
á áááľááá˘
á¤á° ááá
ááąá á áááááľ áá resty.mysql
, áá°á á˛á á áŞáľ ááľáĽ áŤáá. ááá ááá ááŤá á áŤáľááááá, ááá ááá ááá áá. áĽáá´áľ áĽáá°áááá áĽá ᨠSQL áá áá
á áĽáá áááááĄ-
áĽáá
áľáá˝ á áľá᪠áá, áá ááá ááá áá°áŤá. áĽáá
10 áá°áĽ áá. 10 áá¤áśá˝á áĽáááŁáá, á°áá áá, á°á¨á᪠ááłá¨áľ á ááááá. á SQL ááľáĽ áľááá áá°áĽ á¨áłá.
á ááá á áááá áĽáŤááá˝ áľááá˝á áĽááááá. áĽá áĽáŤááá˝á áĽáá°á áľáŁáá áĽá á¨á°á áŤáá á¨áá á á¨á´á áĽáááááᢠreqs
, áĽá áĽáá°áááá ngx.location.capture_multi
.
áĽááá
áá áĽáŤááá˝ á áľáአá°áá¨ááᣠáĽá áááśá˝ áá° áĽá á°ááá°ááᢠá¨áĽáŤá áá á áŁá áááá á¨ááá ááá˝ áá áá áĽáŠá ááᢠááá˝áá á 50 ááá°á¨ááśá˝ ááľáĽ á¨á°áŠáľá, áĽá ááś áĽáŤááá˝á á¨ááá, á 50 ááá°á¨ááśá˝ ááľáĽ áááľ áĽááááá.
á°áá áľáááá HTTP áĽá áá¸á፠á áŤáŤáá ááťá áľáááááá NGINX áááá ááá áĽáá˛áŤá°áááá áĽáá°ááááᢠáĽááłá¨á¸á áĽáŤá áá áᢠurl/fetch
áĽáá áĽáąáĄ-
ááá áĽáá°áááá proxy_pass
, áá¸á፠á¨áľ áĽááłá, áĽáá´áľ ááľá¨á áĽááłááĽá áĽáá áááá, áĽá ááá ááá ááĽá áá°áŤá.
áá áá á á á áá°áá, á ááá áá¨ááá áá°á ááá ááľá áľ á ááĽá. á áŁá ááá ááłáĽ áááá ááá á JSON ááľáĽ ᣠá ááá ᣠá áááľ ááľááŽá˝ ááľáĽ áá°áá°á ááᢠá¨áááľ á áááľ áĽáá°áŁáá JSON áĽáá°áŁááá˘
áá á ááľ á˝áá á áᥠá°á ááá JSON ááá ἠá áááááᢠá¨ááľ-áá¨á¨áť ááá˘áá˝á ááłáĽ á ááĽáᢠá ááłááľ áá ááááŞáŤ áá áá á ááľá¨á á áááááᢠáĽá ᨠSEO áľááťááľáśá˝ áľááá˝á á¨ááááá á¨áá ááĽááą ááá ááἠá¨ááá ááá. áĽá á ááłááľ áááśá˝á á¨á°á áá¸á á¨ááá ááŽááŤááťá˝á ááá ááá á áá ááá ááá.
áľá áĽáą áá ááľá¨á á áá áľ? á áĽááἠáá°á ááá HTML áĽáá°á áááᢠá áĽá
áááá¨áľ comme il faut á áá°ááᣠáľááá
á áĽááśá˝á áá áá áĽááááááᢠááá
á¤á°-áá˝áááľ á á lua-resty-template
.
áŚáľáąá á áľá᪠áá°ááľ áŚáá¤á á áá°á
ááááᢠOpenResty á¨áŤáą á¨áĽá
á á áááŁáŞ áá á áĽáŽ áááŁááŁá áá
á áĽá á¨á°ááŤáŠ áááá˝á á á°áááᣠlua-resty-template
. áá
á¨ááá á áĽááśá˝ áá á°ááłáłá á¨áá ááá á¨á áĽááľ áá°á ááᢠáĽá፠áŽáľ ááťá áĽá á°áááá ááľá áá¨ááá áá˝áá.
á áá¤áąá, ááá ááá áĽáá°áá áŤá ááá áááľáá.
áááĄá ááľá°á á áĽááąá áĽáá°áá á áááľ ááľááŽá˝ á á°á¨áá. á°á ááá á°áľá°á áá, áľááśá˝á á°ááĽáá. áĽáŤááá áľáá°áá ááľááśá˝ á¨ááá á¨ááá áá
á°á á°áá áᢠá ááŤá˝ á áłáááᣠááááŁáľ áĽáą á áľááá áá
áá áĽá¨ááá ááá áá˝ááᣠááá áá áĽáŤááá á áľááá áááááľ á ááťááá˘
ááá ááá á áŞá ááᣠáá áĽá á ááááŁáľ áá áá áĽá áá°á áááá˝ áĽáľáŤáá ááłá¨áľ á áááááᢠáááąá áĽááľááᢠáá áá áááľá¨áᣠNGINX áĽáŤááá á OpenResty ááá˝ áĽáá´áľ áĽáá°ááá áĽáááá¨áľáĄ-
- á¨ááááŞáŤ á°á¨á - ááłá¨áť, á°á ááá áá áĽáá°á°á¨á°, áĽá á á ááĽáľáśá˝, á á áá á áľáŤáť áĽá á áá ááἠá°ááá¨áľáá. áŤááá°áľá áá˛áŤáá ááááá á áĽáá˝ááá. áá ááááľ ááŤáááá áá˝ááᣠááá áĽá áĽáŤááá˝á á¨á°áá ááᣠá áá á°á¨á á ááá ááá¨áĽ áĽáá˝áááá˘
- áĽáá°áá áťá. á ááłááľ á¨áĽáŤá áááĽá áĽáá°áá áĽáá˝áááá˘
- áááľ. áááąá áá°á ááá áĽáá°ááłááá˘
- áŤáľááá˝ ááŁáŞáŤ. á¨ááá˝ áŤáľááá˝á áĽáá°áŤáá. á¨á°á ááá
proxy_pass
áá°á ááá á¨ááľá áłá˝á á ááľ á ááłááľ áŤáľááá˝á áĽáá°áá ááá áĽáá˝áááᢠ- á¨á°áááľ ááŁáŞáŤ. á°áááłá˝áá áááἠáĽáá˝ááá.
- áááἠ- áááἠááľáłááť. áŤá á°á¨á᪠ááĽááĽá á elasticsearch ááľáĽ áááἠááľáłááťáá˝á ááťá áá˝ááá˘
á¨áĽá áááľ áĽáá°áá áŤá ááá áááľááá˘
áá
áá áá°á፠áĽáá¨ááŤáá location
, áá°á áĽáá á¨ááá
ááá áĽá á¨áá¨á°ááá áŽáľ áĽá፠áá á áľááá á.
á¨áŠáŞ áśá¨á áĽááłáá ááá¨áľ áĽááááŤááᢠáŤáááᣠáááľ áĽáá ááááᢠá°á áááá˝ á°ááŽáá áá¸á áĽá á¨áŠáŞ ááľáá°áŤ áááááľ áĽáá°ááŤáľáááá¸á ááááľ áá˝ááᢠáľááá
á áŹá˛áľ ááľáĽá áĽááľááá ááááĄ-
á¨Redis áá áááľáŤáľ áŽáľ á áŁá ááá áĽá á¨ááá˝ ááááá˝ á¨á°áᨠá áá°ááᢠá á°ááłáłá áá, ááá ááĽá áľ / áá
ááľ, áĽáá
áĽá áĽááŤ, á ááłááľá. á¨á°ááłá°á áŽáľ á¨áťáᣠá ááááłá°á ááአáá°áŤáᢠá¨áá áá°á gevent áĽáá°, ááá áá á á°áἠá°á¨áááá.
áááłáá áĽáŤáą áĽááľáááĄ-
á¨áĽáŤááá á áŤá ááá ἠá ááĽá áĽááááᢠá¨POST ááááŽá˝á áĽááá ááá áĽá á¨ááá˘áŤ áĽá á¨ááá áá áľááá áááá¸áá áĽáááľáťááᢠáľááá áŤáááᣠáááľ áĽáá˛á°áĄá áĽááááááłááᢠáĽá áľááá á¨áá ááááąá á áŹá˛áľ ááľáĽ ááááĄ-
áŠáŞáá áááááľáá á áááą, áá
áĽáá˛á á áááľ ááľááŽá˝ áá¨áááá.
ááłáá ááá áĽá áááłá áá. á áĽááἠáá°áá˝ áľááśá˝á á¨ááŤáłá á áááááľ á áá°áŤá. áá áá áŤáááᢠáľááá
á áááľ ááľáĽ áá áá°á¨á áĽáá°áá˝á áĽáááá¨áľ.
- á ááľá°á áááŁ. á ááłááľ áá áľáá˝ áłáł áá° ááᣠáááŁáľ á ááĽáᥠá¨áá áŚáł áá ááľááŁáľ á ááĽáᣠá¨áá áŚáł áááá ááłá¨áľ á ááĽáᣠá áá á áŁá˘áŤá áá áá áŤá á á°á áááá˝ áĽááłá ááááŠáŁ ááŁáŞ ááá áľáłá˛áľá˛ááľ áŤáŤááᢠá áŁá áľáá˝ á¨áá ááá. á ááłááľ á ááľá°á áááĽáŤáŽá˝ á áŁá á ááá áá አáá˝áá. áá ááŁá, ááá áĽá áłáá áŤá°áááá.
- á¨ááἠá áľá áá°áľ. á ááłááľ áá ááľáłáááŤáá˝á áá° ááťá˝á ááá°áľ áĽááááááᣠáĽá áá á ááľáłáá፠á¨áááá áá á¨á¤áá á áĽáŤááá˝á á áá áá ááᢠáĽáá ááľá¨á á áŁá ááá áá. ááľáááá á°ááጠá ááᎠá¨áá°áŤáá á¨ááá ááá á ááŤááᢠáĽáá ááá°áľ áĽá áá°áĽá°áĽ áá˝áá. á ááłááľ JS á ááľ áá áĽáá°á áľáŁáá ááá á á°ááŤáá áááłáľ áĽá á¨áá ááá áá°á ááá á¨ááľá áłá˝á á ááľ ááľáá ááá°áŤá áĽáá˝áááá˘
- ááááᎠá áááááľ á¨ááľ áá˝áł. áá
á°áá á áŁá áĽáŠ ááłá áá, áĽá á°ááŁáŤá á áľááááá. á¨á፠á ááľáŁ á¨á¤áááľáŽááŤá áŞáááľ á ááŤá¨áĽá á áááá¨áľ áĽá á á ááŞáą ááľáĽ áŤááľ á
áá á áŤááľ ááá˝ áŤá
á áŞáááľ á ááŤááἠá´ááá áŠáŁá፠ááľáĽ á ááťááᢠá ááľ á áááááľ áá áá ᣠáĽá áááŽá˝ áĽááŤá á°ááłáłá áá´ á áá áá á°á°áááá-ááááá ᣠáááľ áĽá ááá˝áá˘
OpenResty ááááᎠá°ááŞáľá áĽáá° á፠áá ááŤáááá áá˝ááᣠáá á áááá ááá á ááľ ááłá¨áť áĽá á ááľ á áááá˝ ááᢠáááᎠá°ááŞáľ á áá ááááľ ááťá áľááá˝á Node.js áĽáá ᣠáá¤á˝á áĽáá ᣠáááá áĽáá ᣠá ááłááľ á¨á¤áááá ááá áĽáá á áᣠáĽá á ááá áŚáł á°ááłáłá áŽáľ ááá áĽáá°ááááá áĽáá¨áłááᢠáľááá , OpenResty á¨ááľ áááľ áá°áŤ áá˝áá. - áľáłá˛áľá˛ááľ áĽá áľááłá. áĽááá áá NGINX á ááá˘áŤá áá áá, áĽá ááá áĽáŤááá˝ á áĽáą ááľáĽ áŤááá. ááá°áĽá°áĽ á áŁá á ááş á¨ááá á áá áŚáł áá. á ááľ ááá áá˛áŤáá ááľááľ áĽá á¨áá áŚáł ááľáá áá˝ááᣠáááłáᣠElasticsearchᣠLogstashᣠááá á ááá áá° áááἠááľáłááťá ááá áĽá á¨á፠á¨áá áŚáł áááŠáľá˘
- áŁááĽá á°á áá áľáááśá˝. áááłá á¨ááľáá áá á¨ááłáá˝á áááľáŤáľ á áŁá áĽáŠ áá¸áᢠáᏠá áŹá áłáá á áááłáá°á ááá˛á˝ OpenRestyá á áá áá á¨áŁááĽá á°áŤáá˝ á¨ááłá áĽáá´áľ á ááĽááľ áá°á¨áĽ áĽáá°ááťá ááááŤáá˘
- ááŁáŞáŤ áá áá (WAF). á á áá áá áááá á áááľ á¨áἠá áááŹá˝á áá¨ááá ááľáŤáľ áá˝á ááᥠá¨áá°áĄáá¸áá áĽá á áááááśá˝ á áᢠOpenRestyá á áá ááᣠáĽáá°ááááľá áĽáŤááá˝á á ááá áĽá á ááá á¨ááŤáŁáŤ áĽáŤáľá á¨áľá áá°áá áŞáŤ áá¨ááá ááľá¨á áá˝ááᢠáááá áŤáá áá¤á˝á á áĽááá áááľ áá° á áá° ááľáĽ áĽáá°áááᣠá°á¨áľá°ááᣠá áĽááἠá¨áŽááśá ááľáĽ á¨áľááá áŚáł áá áŤááá áá¨á á áľá°ááᢠMySQL áĽá Python áĽááłáá áłáááá ᢠááááŁáľáŁ á ááľ ááááľ á¨áá፠ááťááŞáŤ áááľá¨á áĽá á¨áá ááá áá° áłáłá¤á ááľáĽ áááľááŁáľ áááአáá˝ááᢠáľááá ᣠáĽáááł á¨áá áá ááá˝á á ááĽááľ áĽá á ááŤá˝ ááľ áááľ ááŁáŤáľ áá˝ááá˘
- áá
á á¨á°áĽ. OpenResty á NGINX áá áľáá°áááŁáŁ áááť á áá - áá
NGINX áá
á á¨á°áĽ. áĽáą á áŁá áľáá
ááᣠáĽá ááááŞáŤ áá á¨áááŻá¸á áĽáŤááá˝ ááľáĽ áĽáŠ ááá á áľááľá á NGINX áá
á á¨á°áĽ á°ááľáˇáá˘
Lua ááá˘áá˝. áľáááľ áá° HighLoad++ á¨áĽáá á áá á¨ááĄáľ á°áá˝ áá á°ááááአáĽá áłáŤááśá á áá áĽáť áĽáá°á°áťá á°ááᢠáá áĽáááľ á áá°ááᣠáĽá áááŽá˝ á áá á°á˝áááᢠááłááá˝áĄ OpenRestyᣠProsody XMPP á ááááᣠLove2D á¨ááł áá°áᣠáá á ááááŤááľ áĽá á ááá˝ áŚáłáá˝ á¨á°ááᢠáĽá á¨áá ááá˘áá˝ á áᣠáľáá áĽá ááá˝ á°áŞ áá á á¨á°áĽ á áá¸áᢠááá á¨áá áĽáŤáááź á áĽááľ á°ááłáľ ááľáĽ á°ááľá°ááᢠáá° á¨á°áĽáłá¤ áááŞáŤ áááá á˛á˝áᣠá áĽáŹá á áĽááľ á°áááá˝ ááľáĽ áá áĽá áĽáá´áľáŁ áá áĽáá°áá á¨ááááš áĽá ááážá˝ á áᢠá áŁá áááĽ. áĽáá° á áááłá°á áá áĽáá˛á ááááą á°á ááááłá áá á á¨á°áĽ á ááá áŚáł á ááááá˘
á¨áá ááá á¨á°á°á ᨠá˝áá á¨áá¨ááąá áľ GitHub áOpenResty á áᢠá ááá áĄáľáá˝ áá á¨á°áĽáłá¤ áááŞáŤ áááá á áᣠá á ááá ááłáŽá˝á á¨ááľááŤáá áľáŁ á áťááá á¨á°áĽáłá¤ áááŞáŤ áááá á á - á ááŤá˝ á áłáá áᣠááááŁáľ áĽááááá á áľááááᣠáá áťááá áłáááá á˘
áá¤áśá˝
- OpenResty ááľá á¨á°á á á áŁá ááš áááá áááá áááľá°ááá áĽáá°áťáአá°áľá á á°ááááá˘
- áŽáą á¨ááá˝áá áá á°ááłáłá áľááá á¨áááŁáľ áĽáá ááľ á ááľá°á ááᣠáááá á áŁá ááá áĽá áá á°á ááá˘
- áŤáá°ááłá°á I/O áŤá áááś áĽáŞ áŤáááŁáᣠá ááłááľ áá á NodeJS ááľáĽ áĽáá°ááá˝áá ááá á áááľ ááľá á ááá¨ááá˘
- á áľáááá ááá áĽá á¨áĽá áŽáľ áŤáá NGINX áĽáť áľáááŤáľáááá ááá áá°ááŤáľ á áá, áĽá ááá ááá áá˛áŤáá áá°áŤá.
- áľáá áĽá ááá˝ á°áŞ áá á á¨á°áĽá˘
ááááá áĽáá´áľ áĽáá°áá°á¨á á áááá á áááá˝áŠá ᣠá áŁá á¨á á áłáŞá áá á°ááá˘
áááŤá°áááľ áĽá¨áľ áĽááá°áááá!
ááá: hab.com