ααΎαααααα»αααα‘αΎααα·αααΌαααααα·α
αΆαα·ααααααΆαααΆαααααΈααααα·ααΈα ααααΆα 2016 αααααααΌαααΆαααααΆααααα‘αΎααα
ααΈαααα»α Skolkovo αα·αααΈαααα»ααααΌααααΌαα
ααααααΈ 7-8 αααα·α
ααα·ααΆααααΆααα»αα ααααΆααααΈαααααααααΈααα»αααΆα NGINX ααΆαα½α OpenResty αα·α Lua α
ααααΆααα½αα’αααααΆααα’ααααααΆ αααα»αααααααααααΆααΈαα ααααΌααΆααΌα αααα»αααααΎααΆαα±αααααΆαααΆα‘ααα αααα»αααΉαααααΆααα’αααααααα·α α’αααΈαααα½ααααα»αα αααα»αα αααΆααααααΈααΆααα½αααααΈαα·ααααααααα»ααααα»αααΆααααααααΌαα αααα»αααΆαααααΆαααΆα’αααααααααααααα·ααΈαααααααΌααααα»ααααααααααααα ααααααααααα»αααΎαααΌααα αααα»ααα»αα·ααααααααα»αα αα½αααΆααα½αααααΈαα·αααΊααΆααΆαα’αα·ααααααα§ααααΆα αααα ααΆααααααααΌααααα αΌααα ααα·ααααααααααααΆααα αααααΌααααα’ααααα½αα ααα½αααααΎ ααα»αααααα·αααααΆααααΆα
ααΎααααΈα±ααα’αααααΉαααΆααΆα’αΆαααααααα»ααααΆα αα αααααααααα»ααα ααααα αααα»αααΆαα αΌααα α αΎααα½αααααΆααααααα±αααααα»αααΌααα·αααααα terabyte ααΆααααΈααααα α₯α‘αΌααααααΆαα ααΈααααααααΆααα’αααααΆααααααΆα αααα»αβααΆαβαα βααααα·ααΈαβα αΎαβαα½αβααΆβα βΒ«βαααα»αα ααααΆααβαααα»αβααΆβααΎβα’αααβααΆαβαα·ααααααβααβαααβα¬βαα? ααΎα’αααααΆαααΌαααααΆαααα»ααααΆααα ααΈααα? αα½αααααααΎααααα»αααΆ "ααΎαααΆα 100 ααΈα αααΆαα!" αααα»αβααΆαβαα·ααΆαβααΆ βα‘αΌα α‘α α ααΈα αααΆαα!β α αΎαβαααα»αβααΆαβαα·αβαααα»αβα α·αααβαααα½αβα―αβααΆβααΎβααααΎβααΌα ααααα βααΎααααΈβααααααααβαα»αβαα»αβαααΆαβααα’αΆαα α’ααααα·αααΆ ααΆα αααα»ααααΊα‘αΌα α αΎααααααΆααααα’ααααααααααααα·α α αΎααα·αααΌαααΆαα½αααΌαααααΆααα·αααααααα α» terabyte ααΆαααααα α αΎααααααΊααΆαα»αααα ααΎα’αααα’αΆα αααααααΆαααααΆααΆααΆα’αααΈ?
αααα»αα
ααααΆα 20 ααΆααΆααααααααααα·ααΈα αααααΆα’αααΈααααααα»αααααΌααα·ααααα»αααααΎαααΆαααΆαααΆαα αα½ααααααααα±ααα’αααααΌαααΌααα
αααα»α Erlang, αα
αααα»α C, αα
αααα»α C++, αα
αααα»α Lua, αα
αααα»α Python, αα
αααα»α Ruby αα
αααα»αα’αααΈαααααααα α αΎαα’αααααααΌαααΆααααΆααΆααα’ααα ααΆααΌαα
αααα»αααααΌαααα ααΆβαα·αβα’αΆα
βααααΆβα
ααα½αβαα·αααααΆααβααΆαβαα ααα»ααααβαα
βααααααβααΆαα½αβαααα αα 20 αααβααΆαβααΆααα
αααααΆαα’αααααΆααααααΆαα
ααΈαααααΉαααΆα’αααΈααΆ Parallels αα·αα’αααΈαααααΎαααααΎααα αααα»αααΉααα·ααα·ααΆαα’αααΈαααααααααΎααααααΆαα αα·αα’αααΈαααααΎαααααΎαααααα αααα»αααΉαααααΆααα’αααααΆ ααΎαααΆαααΆαα·ααΆαααα
ααα½α 13 αα
αα»ααα·ααα·ααααα ααΆααα»ααααα·αα
αααΎαααΆα 300 ααΆαα ααΆαα’αα·αααααααα
ααΈαααα»αααΌααααΌ ααΆααΈα αα·ααααΆααααΆα ααααα·αααΎα’αααααααΆααααΆ α’αααα’αΆα
αα αα·αααααΆααααΈαα
αααααααααΆααααΆ ααααα·αααΎααΆαααααΆαααααα»ααααΌααααΆ α αΎαα’αααααααΌαααΆααααα
ααααααααα’αααα
ααΆαα·ααα ααΆααααααΆαααααααΎαααααααα αααα»α Python 2α ααΎααααα»αααααΎαααΆαα’αΆααΈααααα α αΎαααΎααα·αααΆααααααΎααααΈααααΆααα αα αααα·ααααΆααΆαααααα ααΌα ααααααΎααααα»αααα ααΎαβααΆα Django αααααβααΆβααΆαβαααααβαααΆα α αΎαβααΎαβααΆαβααβααΎαβα αΎαβαααβααΆβα ααα MySQL, Redis αα·α NGINX αααααα ααΎαβααβααΆαβααααβααα’βαβααΆβα αααΎαβαααα ααΎαααΆα MongoDB ααΎαααΆααααααΆαααααα»ααα·α ααΎααα·αααΆαα’αααΈααΆααα’αα ααα»ααααααΆαα·ααααααΆαααααααα»ααα α αΎααααα»ααα·αααααΎααΆααα
OpenResty
αααα»αααΆαααααΆααα’αααΈαααα½ααααα»αα αααβααΎαβααΆβααΎβαααα»αβααΉαβαα·ααΆαβα’αααΈβαα βααααβαααβα
- ααΎ OpenResty ααΆα’αααΈ α αΎαααΎααΆαααΆαααΆαα½αα’αααΈ?
- α ααα»α’αααΈααΆαααΆαααααΎααααα‘αΎααα·ααα ααααααααΎαααΆα Python, NodeJS, PHP, Go αα·αααααααα’ααααααααααααααααααααΆαααα α·ααα?
- αα·αα§ααΆα αααααΈαα·ααα·ααα½αα ααα½αα αααα»αβααααΌαβααΆααβαααααβαααΆαααΆαααβαααβα αααΎα αααααβαααα»αβααα½αβααΆαβααΆβαααααα 3,5 αααα ααΌα ααααβααΉαβααΆαβα§ααΆα αααβαα·α αα½α α
OpenResty ααΊ NGINX α ααΌαα’ααα»ααααααΆαα ααΎαααΆααααΆαααΈαααααα ααααααααααα ααααααααααΆαααα’ ααΆααααΎαααΆαααΏαα αααα»ααα·αααΆααΆαα αααΎααααα½αααΎαααααΎααααΆαα NGINX αααα»αααΆαααα·αα α’αααααΆααα’ααααααΆααΉαα αΎαααΆααΆαααα αααα α½αα αα½αααααΆααααααΎα I/O ααααΎααααΆααααααααααααΆαααα αααα»αααΆ ααΌα ααααα αΎαααΎααα·αα αΆαααΆα ααα·ααααα’αααΈααΆααα’ααααΆαααααααα genvent ααααΌαααΆααα·ααααα»α Python αααααα α αααααα αααααΆαα αααααΆαα ααα»ααααααααα·αααΎα’ααααααααααΌα C α αΎαααΆαα’αααΈαα½ααα»αααΆαα½α gevent α’αααααΉααααα½α ααααΆααααα α»αααΆα αααα»αααΆααααα·αααααα ααΆα αααΆααααααΈααααααααααΎααααΈααΉαααΆααΆαα’αααΈαα»ααα ααΈαααα ααααα·αααΎααααΆααααΆαααα·αααΆαααΈαα’ααααααααααΈαααΈαααααΆα ααα»α ααΆαααααΎααααα αΆ αααααααΆαα ααΎα’ααΈαααΊαα·α α αΎα Google αααα·αααΎα αααααΎαααΉααααα½αααΆαααααα»αα
NGINX ααααΎααααΆαααααααΆαα αα·αααΆαα·ααΆαα·αα·αααααα½α α αΎαα α’ααααα·αα αΆαααΆα ααααααααααΆαα’αααΈααααααααΎααΆαααααα»ααααα ααΎααααΈαα»αα±ααα’αααααΊααα ααααααααΆαα½α ααΎααααΈαα»αα±ααααΆαααααα’ααααααααΆαα ααααααααΆαα½αα Nginx ααΆαααΆαααΆααααα½ααααα»αααΆαααΆαααααααΆα α’ααααα·αα αΆαααΆα ααα·αα’αααΈα’αααΈαααααααΌαααααααα - WSGI, PHP-FPM, Gunicorn, Unicorn α Nginx ααααΌαααΆαααα‘αΎα αααααα±ααα’αααααααααααα αα½αααααΉαααΈααααααααΎααΆαααΆαα½αααΆα Nginx ααααΎαααΆαααααΎααΆααα ααΆααααααααα αααα»αααΉααα·ααΆαα’αααΈααΏααααααααα·α αααααααα ααα»ααα ααΆααααΆαααααΆααααΆααα½ααα ααααααααΆααααΎαααααα½αααααααΎα ααααααααΆααααααΎαααΆα αα·αααααααααΆαααααααααααΉαααΆααααα’αααααααΎααααΆααα
Nginx ααΆαααΆααααααΆαα ααα»ααααααΆααααα αΆαα½αα ααΆαα·αααΆαααΆααααααααααααααααΆαααα ααΎαααααΈααΆααΆααααααααα·αααααα’ α ααΆααα’ααααα ααααα»αααααΆααααα αΌααα αααα»α config ααααα αααααΈααΆααΆα’αΆα ααααΌαααΆααααααααααα ααΆαααααααα·ααααααααααΆααααα ααΌα ααααα αΎα αα»ααααααΈ Taobao ααααααα αααα»ααα·αααΆαααα ααααααΆαααΈααααΆααα»αααΆαααΆαααα Lua α αΌααα αααα»αααΆα ααΎααΆαααααααα’αααΈ?
- ααα α. ααΆβααΌα α LuaJIT αααααα±ααααααααααΆαα½ααααα αα 100-200 ααΈα‘αΌααααα’αααα αα αΆαααΎαααΈααααΆα αα·αααααΎαααΆααα·α αα½α αααα»αα
- ααααΏα. α’ααααααααα LuaJIT ααΊαα αα·α C αααα»αααααΆαααΆαααΆα αααΎα αααα»αααααΆαααΆαααααααΆα αΆαα Java αααα»αααααΆαααΆαααααααΆαααΆααΆα αα αα½ααααααα ααΆααααΌαααΆαα αΆαααα»αααΆααΆαααααααα·αααα αααααΆαααααα·ααΈα ααααα JIT αααααααΆαααααα»αα α₯α‘αΌααααααΆααααΆαααΈααααααΆααααΆα ααα»αααααα½αααΆαααααααΆαα α§ααΆα ααα V8 ααΌα ααααΆα α’ααααααααα JS αααα αα·α Java HotSpot ααΏαααΆααα α ααα»α αααα ααα»αααααα ααα αΆαααα α ααα»α ααααα
- ααΆααααα½αααα. ααααα·αααΎα’αααααΆα ααΌαααααΆαααΌα Perl α αΎαα’ααααα·αααααα α’αααααΉααα·αα’αΆα ααααΎαα’αααααααααααααα·ααΈ Perl ααα αααβααΆαβαα½αβααβαα·αβαα βααΈβααα αα½αβααβααααΌαβααΆαβααβααβα ααβααΆααβα’αα α αΎαβααΆβααΆαβαααβαααβααΌα αα·αβαα·ααΆαβαααα»αβααΆαβααααααβαα½αβααα ααααα·αααΎα’αααα ααααΆαα’αααααααααααααα·ααΈααΎα’αααΈαααααααα αα½ααααααααα ααααΆααααΌααααα αΆαα α¬ααααααααααααα αααα»αααααΈ Lua α’αααΈααααααααΆαααΊααΆααααα Lua α’αΆα βαααβααΆαβαααβαα»αααβααΆβααααΆααβαααα»αβααααααβααΈβααααα αααα»αβααααΌαβα αααΆαβαααβαααα ααβααΈαβααααβααΎααααΈβααβα±ααβααΎαα ααΈαααααααααααα αααα»ααααα»ααααααααΌααααα»αααα·ααααααα½α α αΎαα αααα ααβαα½αβαααααΆα αβαααααβαα ααΆααβααΆαβαα βααα·αααααβααααΆαα α αΎαβααΆαβα αΆαα ααα
ααΆααααααααΆααΎααα ααΌα ααα:

ααΆαα
αααΎααα
ααΈαααα OpenResty ααΆααααααΌααααα»ααααΌαα»αααΆα
αααΎα ααΆαα lush αα·α engins α α αΎαα’αααααΆαα’αααΈααααααααΆααα½α
ααΆαα - ααΆαααααααΆααα·αααααΎααΆαα
α§αα ααα
αααααααααΆααααα’αααααα ααααα ααααααααα ααΌαα αααααΊααΆ Hello World ααααα·α α

ααΎβααΆαβα’αααΈ? αααααΆααΈααΆαααααΆαααΈαα ααΎαβαα·αβααΆααααβαα ααΎαβαα·αβαααααβααααΌαβααααΆααβαααα½αβααααβααΎαβαα ααΎαβαα·αβααβααΆβαααβαααααβαααα½αβαα½α
βααΆβααααα
βαααβαα - ααΎαβααΆαβααΆβαα½α
βα αΎαβαα
βαααα»α NGINX ααΎαβαααβαα
βαααΆαβααα’ α αΎαβαααα·αβα
ααα’αΌαα
content_by_lua_block ααΊααΆαααα»αααααα·ααΆαααΆααΎααααα»ααααααΎααΆαα·ααΆαααααααΎααααααΈα Lua α ααΎαααα’ααα engins remote_addr α αΎααα»αααΆα
αΌααα
αααα»α string.format. αααααΊααΌα
ααααΆααΉα sprintfααΆααααα
αααα»α Lua ααα»ααααααααααααΉαααααΌαα α αΎαβααΎαβαααααβααΌαβα’αα·αα·ααα
ααΆααααααααΆααΉαααΎααα ααΌα ααα:

ααα»αααααααααααα
αα·αααα·ααα·αα αα
αααα»αααα·ααααα ααααΆαααααΆααααΆααααΆαααααααΆα Hello World ααα αααααα·ααΈααααααΎαααΆααααααΆαα
ααΌαααααΆααα·αααααα α¬αααααααααααααα α αΎαααΆαα
αααΎααααααααααΆαααααΆαααα
αΆαααΆαααααΎαααα

ααααΆααααα’αααα»ααααα
αΆαα ααΆαα·αααα’ααααΆααααΆααα αα
ααααααα’αααααααΎααααΆαα 100.000 ααΆαααα ααΆαα·αααΆααααΆαααΆαααααααΆαααα½αααΎαα ααΌα
αααα α
αΌαααΎαααααΎαααααα·ααΈααΆααααααΆα§ααΆα αααα ααΎαααΉαααααΎαααΌαααΆαα§ααΆα αααααααΆα ααΆαααααΎαααααααα·αααααΆααααααααααααα ααΎαααΉααααααΈαααΆααααααααΉα α αΎαααααα·αααΎα’αααααααΎααααααα "ααΌαααααΆ" αααααΎαααΉαααααΎα ααααΆ fluffies α αΎαααΌα
αααααα
ααΎα ααααΌαααΎαααααΌαααα½αααΆααα·ααααααααααΎαα
ααΎ backend α ααΆααΎααα
ααΌα
αααα

αααααΆααααΈαα’αα»ααααΆαα±ααα’ααααααααΆαααΆαααααα GET αα·αααΆαααΆααααα»αααααΆαα α§ααΆα ααα αααααΆααααααΎαααα½αααΆαααααααΆααααααΈααΌαααααΆααα·αααααααααααΆαααΆααΆααααααΆααααααααΉα αα·αααααααααααααααααααΎαααα½α SQL ααααααΆα α’αααΈααααααααΆαααΊααΆααααα ααΆααΎααα
ααΌα
αααα

ααΎαααααΆαααααααΆααα resty.mysqlαααααΎαααΆααα
αααα»ααααα
αααα½α
α αΎαα ααΎααα·αα
αΆαααΆα
αααα‘αΎαα’αααΈααΆααα’αα ααΊαα½α
ααΆααα αΎαα αααααΆααααΈααααααααΆαα αα·αααααΎαααα½α SQLα

ααΆαα½αα±ααααααΆα
ααααα·α
ααα»ααααααΆααααΎαααΆαα αα
ααΈααα 10 ααΊααΆααααααααα ααΎααααααααααααΆα
ααα½α 10 ααΎααααα·α ααΎααα·αα
αααααα αΆααααααααααααα αα
αααα»α SQL αααα»αααααα
α’αααΈααααααααα
αααααΆααααααΎααααααααααΌαααΆααααααΆαααααα½αααΆααα’ααα ααΎααααααΌαααααΎαα½αα
ααα½α α αΎααααααααΆααΆα Lua αααα α
ααΆ reqs, α αΎαααααΎ ngx.location.capture_multi.

ααααΎααΆααα’αααααααααΎαααΆαααααααααΆ α αΎαα
ααααΎαααααΌαααΆαααααααααΌαααΎααα·αα αααααααΆααααΎαααΆαααΊααααΎααΉααααααααΆααααΎαααααααααΊααααα»αα ααααα·αααΎααΎαααΆααα’ααααααΆααΆαααααα‘αααααα·ααααα»ααααααα 50 ααΈααΈαα·ααΆααΈ α αΎαααΎαααΆαααααΎααααΎαα½ααα αααααΎαααΉαααα½αααΆαααΆαααααΎααααααα»ααααααα 50 ααΈααΈαα·ααΆααΈα
αααααΆαααΎααααα·α α αΎααα·αα
ααααααα HTTP ααααααααα αα·αααααΆαααααααΆαα ααΎαααΉαααααΎα±αα NGINX ααααΎα’αααΈααααααααΆααααααΆααααΎαα ααΌα
αααα’αααααΆαααΎαααΆαααΆαααααΎαα»α url/fetchαα
ααΈαααααΆααααΊα

ααΎαααααΎα±ααααΆαααα proxy_passαααααΆαααααααααααααααΌααα»ααααα»αααααΆαααααααΆαα ααααααααΎααΆ αα·αα’αααΈαααααΎαααΆααααααΆααααΎαα
ααα»ααααααααα·ααααααααααΆαααα ααΎααα ααααααΌαααααααα·αααααααααα’αααααααΎααααΆααα αααα·αβααΆααααβαααα»αβααΊβααααααβα’αααΈαβααΆααα’ααβαα JSON αααΆαβααΆααααα½αβααΆβααΈαβαα½αα ααΎααααααα±ααααααααααΆαα·ααΆ ααΎααααααα±αα JSON α
ααα»ααααααΆαααΆαααααΆααα½αα α’αααααααΎααααΆαααα·αα ααα’αΆα JSON ααα ααΎαααααΌαααΆααααΆαα’αααα’αα·αααααααα½ααα»αα αααααααααΎααα·αααΆαα’αΆααααααα ααααααΎααΆααΈααααΌαα‘αΎαα ααΆα / α αΆαα αΎαα’αααα―αααα SEO ααΉααα·ααΆαααΆααααα·αααΎααΎααααα»ααααααααααΌαααΆαααααα½ααααα·ααααααααα α αΎαααααα·αααΎααΎααααααα±αααα½αααααΌαααΆαα·ααΆαα½αα ααα½α αα½αααααΉααα·ααΆαααΆαααΆαααΈααααααααααααααΎααα·αααααΎαα·αα·ααααα’αααΈαααααα
α’αααΈαααααααΌαααααΎααΆαα½αααΆ? ααΆααΆααα·αααΆααααΎαααΉααααααα±ααα’αααααααΎααααΆαα HTML α ααΆαβαααααΎαβαααβααβααΊβαα·αβαααβααΆβααΆαβαα·αβαα ααΌα
ααααβααΎαβα
ααβααααΎβαα»αααα ααΆααααααΆααααααααΆααααΏαααα lua-resty-template.

α’αααα
αααΆααααΆααΆαααΎαα’αααα OPM ααααα½αα±ααααααΆα
α
ααα½αααΈα OpenResty ααααΆααααααΆαα½ααααααα·ααΈααααααααααααα
ααααααΆαααααα½αααααααΆ αααααΆαααααααα’αααα’αΆα
ααα‘αΎααααΌαα»αααααααααΆα
αααΎα ααΆαα·αααα lua-resty-template. ααΆααΆαααΆαααΈαααααΌααΆααααααααααααΉαααααΌ Django α αα
ααΈαααα’αααα’αΆα
αααααααΌα αα·αααααΎααΆααααα½αα’αααα
ααΆαααααα α’αααΈαααΉαααΎααα ααΌα αααα

ααΎαααΆααααα·αααααα α αΎααααα αΆαααααΌαααααααααΆααΈααα½αα α’αααααααΎααααΆαααααααΆαα
α·ααα ααα½αααΆαααααΆα α
αΆααααΆααααΈααΎααααααΈαααααΎααα ααΆααααααα½αααΆαααααΆααααααααΆααααΌαααααΆαααααα α’ααααα·ααααααΉααα αααα ααααΆααΆαααααα»ααααααααααΆ ααα»ααααααΆαααα·αα’αΆα
αααααΎαααααΎααααααΆααααΆαααααΉαααααΌαα
α’αααΈααααααααΆαααΊαααααΆαα ααα»ααααααΎααααα»ααααα·ααααα»αααΆαα’αα·αααααα α αΎαααΎααα·αααΆααα αααααα αΆαα’αααααααΎααααΆαααα α‘αΎαααα α αΌαβααααΎβααΆαβα’αα»ααααΆαα ααΎααααΈααααΎααΌα αααααΌαααΎαααΈααααααα NGINX αααααααΆαααααΎαααα»ααααααααααα OpenRestyα
- ααααΆααααΆαααααΌα - α αΌααα ααααααα’αααααααΎααααΆααααΎαααααααα α αΎαααΎαααΆαααΎαααΆαααααααααααΆ αααα’αΆααααααΆα IP ααααα·ααααααααααααααα α’αααα’αΆα ααΆααααΆα ααααααΆαα ααααα·αααΎααΎααα·αα αΌαα α·αααααΆα ααΆα’αΆα ααααΌαααΆαααααΎαααααΆααααΆαα’αα»ααααΆα α¬ααααα·αααΎααΎαααα½αααΆαααααΎα αααΎα ααΎαα’αΆα ααΆααααΆαααΆαααΆααααα½ααα ααααΆααααΆααααα
- αααααα‘αΎααα·α. αααα»αααααααα·ααααααααααΎαα½αα ααα½αα‘αΎααα·αα
- ααΆαα·ααΆ. ααΎααααααααΆαα·ααΆαααα’αααααααΎααααΆααα
- αααααααααΆα. ααααΆααααααΌαααααααΆααααΎαααα ααααα·αααΎααΎαααααΎ
proxy_passααΎαβα’αΆα βαααααβααααααΆβαα½αβα ααα½αβα‘αΎαβαα·αβαα»αβααΉαβαααααβα±ααβα’αααβααααΎα - αααααααΆαααΆα. ααΎαα’αΆα ααααΆααααααΌαααΆαααΆαα
- α αΌα - ααΆαααΆααααΎα ααΆα’αΆα ααααΎαα ααΆαααΎααααΈααααααααααα ααα»αα αααα»α elasticsearch αααααααΆααααααΆααααααααα
ααΆαα’αα»ααααΆαααααααΎαααΉαααΎααα ααΌα αααα

ααΎαααΉαααααααααΆαα
αααα locationαααααΎααααααΆααΈαα»α α αΎαααΆααααΌαααΆαααααααα
ααΈαααα

ααΎαααααΎαααΆααΎααΎαααΆααα·αα·ααααααααΆααΌααΈαααα¬ααα ααΎβαα·αβα’ααΈα
αΉαβαα ααΎαβαααβααΆαβα’αα»ααααΆαα α’αααβααααΎβααΆαβαααα·α
αα α αΎαβα’αΆα
βααΆαβααΆβααααΌαβαααααβαααααΆαααααΆααβααΌααΈα ααΌα
ααααα αΎα ααΎαααααΉαααΆααααΆαα
αααα»α Redisα

ααΌααααααΆααααααΎααΆαααΆαα½α Redis ααΊααΆααααααΆαα α αΎααα·ααα»αααΈααΆααΆααααααααααα αααα»ααααααΆαα½αααααΆαααααΆααααΆααααα
αΌα / αα·αααααα’αααΈαα
ααΈαααα’αααΈααααα
ααΈαααααΆαα·αααααΌαααΆαααΆααΆααααα ααααα·αααΎα’ααααααααααΌααααααααΎααααΆααααα αααααΆααααΎαααΆααααα’ααααΆαα ααΌα
βααΆβααΆαβααα½αβααΆαβα’ααααβαα ααααΎβααΆαβααβααα’α

αααααααΎααΆαα’αα»ααααΆαααααααα½αα―αα

ααΎααα·ααΆαααΆααΎαααααΌαα’αΆαααααΉαααΆαααααΎα ααΎαααα½αααΆαα’αΆαα»ααααα POST αα·αα·αααααΎαααΆααΆαα
αΌααα·αααΆααααααααΆααααααΉαααααΌαα ααΎβαα·αβααααΉαβααααΌαβαα ααΎαβααΉαβα
ααβααΆαβα’αα»ααααΆαα α αΎαααααα·αααΎαα½αααααααΉαααααΌα αααααΎαααααααα·αα·ααααααααΆαα
Redisα

αα»αβααααα
βαααααβααΌααΈβαααβααβααααΌαβααΆαβααααΎβααΆβααΈαβαααααΆααβ:

α§ααΆα αααααΊααΆαααα, ααααΆαα ααΆααΆααα·αααΆααααΎαααΉααα·ααααααΎαααααΆααααααααααα αΆαααααΆαααααα»αααααα ααα»ααααα’αααααΆααααΆααααΎαα ααΌα
αααα α
αΌαααΎααα·α
αΆαααΆααΈα’αααΈαααα’αΆα
ααααΎααΆααα
αααα»αααα·αααααα
- αααααααΆαααααααα·α αα½α αααα»αα. αααααααααΎαααααΌαααααααα·ααααααααααα·α αα αααααααΆααααααα ααααααααΆαα½ααααααΎαααααΌααααα½αααΆαααα·α αααα ααααααααΆαα½ααααααΎαααααΌααααα αΆααααααΈαααααααα½αα ααα½α αα·ααΆαααΆ ααΎααΆαα’αααααααΎααααΆααααα»ααααΆαααΆαααα ααΎααα αααααα₯α‘αΌαααα ααΈααα ααΎααααα α¬αααα·αα·α α’αααΈαα½αααΌα ααΆααα ααααααα·α αα½α αα½αα ααα½αα’αΆα ααααΌαααΆαααααΎα‘αΎααααΆαααΆααααα½αα ααΆααΉαααΏα ααΆααααα½α αα·αα’ααα αΆαααα
- ααααΎαααΆααα·ααααααααΆαα»α. αααααααααΎαα ααααααααααΆαααααΆαααΆαα·ααααααααα αααα»ααααααααααααΎα α αΎαααΎαααααΆαααααΆαααΆαα·αααααααααΆαααααααΆαα½αααΉαααααΎ API α ααΆααΆααααα½αααΆαααααα»αααΆαααααΎαα ααΈαααα ααΎαβαα·αβαααα»αβαααααα·ααΈβααΆαβαααααβααααβααΎαβαα αααβαααα»αβααααΎβααΆαβααααΆααα α’αααα’αΆα αα αα·ααααααΌααα ααΈαααα ααΎαα’αΆα αααααΎα JS αα½αα ααα½α α¬αααα»ααα αα·α αα·αααα’α·α ααααΎαααΆαα’αααΈαα½ααα»αααΉααααααααΆαααα’αααααααΎααααΆααα
- Facade αααααΆααααααΆααααααΈααααΌ. αααβααβααΆβααααΈβααα’βααβααα αααα»αβααΆαβα’αα»ααααβααΆβα αα»αααα αααα»αααΆαααααΎααΆαα±αααααα»αα αα»α Tenzor αααααΆαααα»αα αα»αααΆαααΆαααα’αα‘α·α
ααααΌαα·αααααααααααΆαααΆαααΆααααααααΆαααααα ααααΆαααααααΆαααααΈαα·αα»αααααα
αααα»αααααααα ααΎαααΆααααααΎαααααΆαααααα½α α’αααΈαααΆα
αααΎαααααΌαααΆαααααΎαα
ααΈααααααααααΎααααααΆαααΌα
ααααΆα ααΆααααααααααΌα ααΆαα’αα»ααααΆα αα·αα
αααΎααααα
OpenResty α’αΆα βααααΌαβααΆαβααααΎβααΆβααΆαβαααααΆαα microservices ααααβα’αααβααΎααααΈβαααααβααΌαβααΆαβα αΌαβααααΎαβααΆαβααβαα½αβαα βααΆααβα’αααΈβαααααβαααΆαβαα·αβα ααα»α βαααααΆααβααβαα½αβα αααααΆαααααΆααααααΈααααΌα’αΆα ααααΌαααΆααααααααΆααααααααα’αααααΆα Node.js αα ααΈααα α’αααααΆα PHP αα ααΈααα α’αααααΆα Python αα ααΈααα ααΆαααΏα Erlang αααααα ααΈααα ααΎααααααΆααΎααα·αα αααααααααΌααααααααα‘αΎααα·ααααααααΈααααααααα ααΌα αααα OpenResty α’αΆα ααααΌαααΆααααα αΌααα αααα»ααααααααΆααα»αα - αααα·αα·αα·αααΆααα·ααΆα. ααΆααααααΆ NGINX ααΊαα α αααα αΌα α αΎαααααΎααΆααα’ααααααααΆααααΆα ααΆαααα·ααα αααα»αααααααααααααααΆααΆααααα½αααΆαααααα»αααΆααααααΌαα α’αααα’αΆα ααααΆα’αααΈαα½αααααΆαα α αΎααααααΆαα ααααααααΆαα½α α§ααΆα ααα Elasticsearch, Logstash ααΌα ααααΆ α¬ααααΆαααααααααααΆαα αααα»ααααααα ααα» αα½α ααααΎααΆαα ααααααααΆαα½αα
- ααααααααα’αααααααΎααααΆααα αααΎαα. ααΆα§ααΆα ααα α ααααα’αα‘αΆαααααα’ααΆαααααααααΌαααααΎα ααααααααα ααΈαααα»α Cape Town Alexander Gladysh ααΉαααααΆααα’αααααΈαααααααααΎαααααΌα αααααααααΆαα’ααααααα αααΎααααΆααα αααααααααΎ OpenResty α
- ααααΎαα»αααααα (WAF). α₯α‘αΌααααααΆααΆαααΌαααΆαααααααααα»αααΆααααααΎααααααΆααααααΎααααααα·ααΈααα αααααααααααααααα ααΆαααααΆααααααΆα αααΎαααααααααα±αααα½αααα αααααΆααααα½αααΈ OpenResty α’αααα’αΆα ααααΎα±αααααα½αα’αααααααΆαααΆαααααΆααααααΎααααααα·ααΈαααααΆα αααααΉαααααααααΎαααΆααααααΌαααΆαααααα’ααααααΆαααΆαααα αα·αααΆααααα½αα ααααα·αααΎα’αααααΆα Python αααα’ααααααααΆ PHP ααΉααα·αααααΌαααΆαα αΆααα±ααα’ααααα αα»αααααΆααα’ααααααααΎαααΆαααααααΈααααααααΈαα»αααΌαα α’αααααΉαααΆα’αααααΆα MySQL αα·α Python α αααα ααααΆαα ααΈααα αα½αααα’αΆα ααααΆααΆαααααΎααααααααααΆαααααααΆαααααα½αα ααα½α α αΎααααα αΌαα’αααΈαα½ααα αααα»αααΌαααααΆααα·ααααααα ααΌα αααα α’αααβα’αΆα βα ααααβααααΎβαααααβααΆαβααΏα αα·αβαααβαα βααΆαβαα»αα
- αα ααααα α
αΆααααΆααααΈ OpenResty ααΊααα’ααααΎ NGINX ααΆααΆαααααΆαααααααΆαα - αααααΊ αα αααα NGINX. ααΆααΆαααα αααααΆαα α αΎααααα½αααΆα
αααΎααααα’αααααΉαααΆααα
αααααααΌαααααΌαααΆαααααΎααα½α
α αΎαααααα αααα NGINX α
α’αααα’αα·αααααα Lua. αααα·ααα·ααααα»αααΆααα·ααΆαααΆαα½ααα»αααααααααααααααα»ααααααΆα HighLoad++ α αΎαααΊααΆααΆααα Tarantool ααααααααααααΆ Lua α ααααα·ααααααΌα αααααα ααΏαααΆα αααΎαααααΌαααΆααααααααΆααΆααΆααΌα α§ααΆα αααα OpenResty, Prosody XMPP server, Love2D game engine, Lua ααααΌαααΆαααααααα αααα»α Warcraft αα·αααααααααααααααα ααΆαα’αααα’αα·αααααα Lua ααΆα αααΎα αα½αααααΆααα αααααα αα·αααααΎαααα αααα½α Lua ααΆααα’αααααααααα»αααααΌαααΆαααααΎααααα»αααααααααΈαααΈααααα αα αααα’αααααααααα αααααΈαααα»ααααα½α αααα»αααααααααΈαααΈααΆααΈααΆαα ααααΎαααΆα αααΎααα½α α αΎα αα½ααααα·αααααΆα’αααΈα’αααΈ αα·ααααα α’αααΈααΆα’αααΈα ααΆβαα·αααΆβα’ααα αΆαααβααΆααα ααΆα’αα»αα αα αααααααααααααααααααααααααα·αααΆααα αααααααΈααααααααα
OpenResty ααΆα GitHub αααα’αααα’αΆα ααΎααααα αΆααααα·αααΎααΆαα’αααΈαα½αααΌα α ααΆααααααΈαααα»ααααα½ααα ααΎαααα»α Google αααα’αααα’αΆα αα·ααΆααααΆα’αααΈαααα αΆααΌαα ααΆααααααΈαααα»ααααα½αααΆααΆααΆα α·α - α’ααααα·ααααααΉα αααα ααααΆα’ααααα·αα ααααΆααΆα’ααααααα ααα»ααααα’αααααΆαα ααααααΉαααΆααΆα α·αα
αααααα
- αααα»ααααααΉαααΆαααα»αα’αΆα αααα αΆαααΆ OpenResty ααΊααΆαααααααααααα ααααααααααΆααααα½ααααα»αα
- ααΆβααΆαβααααα·αβααΆαβααβααΆαβα αΌα αααααβααΌαβααΊβααααααβααΉαβα’αααΈβαααβααΎαβααααα ααΆααΆβααΊβααΆαααα αα·αβαα·α αα½α α
- ααΆαααααααΌα I/O α’ααααΆααααααααΆαααΆαα α αααα‘αααααα·α ααΎαααΉααα·αααΆααα»αααΆα ααΌα ααααααααααααΎαα’αΆα ααααααα αααα»α NodeJS α
- ααΆααΆαααΆαααΆααααα½ααααα»αααΆαααΆαααααααΆα αααααααΎαααααΌαααΆααα NGINX αααααΆααααΌαα»αααααΉαααααΌα αα·ααααααΌαααααααΎα α αΎαα’αααΈαααααΎαααΆαααααΆααα
- αα αααααααα·αααααΎαααα
αααα»αβαα·αβααΆαβααααΆααβαααα’α·αβααΈβααααβαααβααΆαβαααααβααααΌαβααααΌαβααΆαβααααΎβαααβαα ααΆβααΆαβααααΆαβααΆβααΏαβαααβααααΆαβααΆααα
ααΌααα·αα·αααααΎα!

ααααα: www.habr.com
