OpenResty XRay 分析和解决 B 站重大线上事故
We are happy to announce the new formal release, 18.104.22.168, of the OpenResty web platform based on NGINX and LuaJIT.
The (portable) source code distribution, the Win32/Win64 binary distributions, and the pre-built binary Linux packages for Ubuntu, Debian, Fedora, CentOS, RHEL, Alpine, OpenSUSE, Amazon Linux are provided on this Download page.
- Based on a very recent mainline NGINX core 1.19.9.
- Many fixes imported from Mike Pall's upstream LuaJIT repository.
- Introduce a new macro
LUAJIT_TEST_FIXED_ORDERfor fixed-order traversal of lua tables. This option is disabled by default. It can be enabled by passing the
--with-luajit-xcflags LUAJIT_TEST_FIXED_ORDER=1option to the
./configurecommand line while building OpenResty from source.
- When lua failed in requesting memory, instead of graceful shutdown,
- Now the
get_ctx_tablesupports using the ctx table from caller, and that will reduce the cost of creating a new ctx table.
- Fixed the bug that the metatable was not cleared when clearing the content of lua table when using lua-tablepool.
- For a better performance when using lua-tablepool, discard the objects when the pool size is larger than the max_pool_size.
ngx.processAPI for stream subsystem.
We have run extensive testing on our Amazon EC2 test cluster and ensured that all the components (including the Nginx core) play well together. The latest test report can always be found here:
We also always run our OpenResty Edge commercial software based on the latest open source version of OpenResty in our own global CDN network (dubbed "mini CDN") powering our openresty.org and openresty.com websites. See https://openresty.com/ for more details.
See the Community Page.
Commercial technical support and real-time noninvasive online monitoring and profiling solution is provided through the official OpenResty XRay product.