This is an automated email from the ASF dual-hosted git repository.
juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-website.git
The following commit(s) were added to refs/heads/master by this push:
new d269cec docs: added 2.8 release English version blog (#433)
d269cec is described below
commit d269cec6efd66a333a59330160f7fee666f3cd27
Author: Serendipity96 <[email protected]>
AuthorDate: Tue Aug 3 11:40:52 2021 +0800
docs: added 2.8 release English version blog (#433)
---
.../2021-07-28-release-apache-apisix-2.8-en.md | 143 +++++++++++++++++++++
1 file changed, 143 insertions(+)
diff --git a/website/blog/2021-07-28-release-apache-apisix-2.8-en.md
b/website/blog/2021-07-28-release-apache-apisix-2.8-en.md
new file mode 100644
index 0000000..eec1254
--- /dev/null
+++ b/website/blog/2021-07-28-release-apache-apisix-2.8-en.md
@@ -0,0 +1,143 @@
+---
+title: "Release Apache APISIX 2.8.0"
+author: Serendipity96
+authorURL: "https://github.com/Serendipity96"
+authorImageURL: "https://avatars.githubusercontent.com/u/23514812?v=4"
+---
+> [@Serendipity96](https://github.com/Serendipity96), Apache APISIX
contributor from [Shenzhen Zhiliu Technology Co.](https://www.apiseven.com/)
+>
+<!--truncate-->
+
+Apache APISIX version 2.8 is released! 🎉 This version has 30+ developers
participated, more than 100 PRs had been submitted, and supports **1 new
feature, 1 new experience, 2 new plugins, and 2 new ways to develop**. Read and
learn about the new features in version 2.8!
+👇👇👇
+
+## Release Notes
+
+### New feature: Independent Keepalive connection pool
+
+Starting with [version
2.7](https://apisix.apache.org/blog/2021/06/29/release-apache-apisix-2.7), we
have added Apache APISIX's own patches and the Nginx C module to enhance the
native Nginx, allowing dynamic setup of increasing number of Nginx
configurations. In version 2.8, Apache APISIX supports the configuration of
independent Keepalive connection pools at the Upstream level.
+
+The following features are currently included:
+
+- Dynamically set mTLS
+- Dynamically set client_max_body_size
+- Upstream Keepalive (2.8 new feature)
+- gzip (2.8 new Plug-in)
+
+In future releases, we will continue to allow the following Nginx
configurations to be set dynamically:
+
+- real_ip
+- proxy_max_temp_file_size
+- ……
+
+An example of Upstream configuration:
+
+```JSON
+{
+ "id": "backend",
+ "nodes": {"host:80": 100},
+ "type":"roundrobin",
+ "keepalive_pool": {
+ "size": 4,
+ "idle_timeout": 8,
+ "requests": 16
+ }
+}
+```
+
+### New experience: Enhance stream proxy
+
+In version 2.8, the
[ip-restriction](http://apisix.apache.org/docs/apisix/plugins/ip-restriction/)
and [limit-conn](http://apisix.apache.org/docs /apisix/plugins/limit-conn/) had
been duplicated from the HTTP section to the stream section. The benefit of
this way is to enhance gateway capabilities in the stream proxy and to increase
the security of the upstream services.
+
+ip-restriction can be used to filter IP black and white list to ensure that
only requests from a specific IP can access the backend service.
+
+limit-conn can be used to limit the number of simultaneous connections on a
route, limiting the number of concurrent client accesses.
+
+### New plug-in: gzip
+
+Apache APISIX version 2.8 contains the gzip plug-in. Using the gzip plug-in,
you can **dynamically set route-level gzip parameters**.
+
+An example of gzip configuration:
+
+```JSON
+{
+ "plugins": {
+ "gzip": {
+ "min_length": 20,
+ "http_version": 1.1,
+ "buffers": {
+ "number": 32,
+ "size": 4096
+ },
+ "types": [
+ "text/html"
+ ],
+ "comp_level": 1,
+ "vary": false
+ }
+ }
+}
+```
+
+### New plug-in: ua-restriction
+
+The `ua-restriction` plugin is used to check if the User-Agent is in the black
and white list, which is a very common requirement and can be enabled by way of
a plugin.
+
+An example of `ua-restriction` configuration:
+
+```JSON
+{
+ "plugins": {
+ "ua-restriction": {
+ "denylist": [
+ "my-bot1",
+ "(Baiduspider)/(\\d+)\\.(\\d+)"
+ ]
+ }
+ }
+}
+```
+
+### New way to develop: Support for executing specific logic by plug-ins
+
+Based on Apache APISIX architecture, many features are implemented by
plug-ins. Starting from version 2.8, **Apache APISIX supports executing
specific logic by plug-ins after selecting an upstream node.**
+
+Define the following method in the plug-in:
+
+```Lua
+function _M.balancer(conf, ctx)
+ core.log.notice("IP: ", ctx.balancer_ip, ", Port: ", ctx.balancer_port)
+end
+```
+
+In this example, the log will output the IP and Port of the upstream.
+
+**Which scenario does the above method apply to?**
+
+1. After selecting the upstream node and before accessing the upstream
+2. Before each retry
+
+For the best performance, the above method first runs in the access phase of
OpenResty (APISIX actually selects the upstream node in the access phase) and
the method does not overlap with the OpenResty phase of the same name.
+
+### New way to develop: Support for custom balancer
+
+In version 2.8, users can customize the balancer. **The balancer is loading
with minimum number of connections, polling, consistency hash, etc.**
+
+Although Apache APISIX already provides a set of balancers, users may need to
use balancers that are closely related to the business, such as: need to
consider the server room, availability zone, etc. Supporting for custom
balancer, users can develop their own balancer and load it via
`require("apisix.balancer.your_balancer")`.
+
+Usually a custom balancer requires node to provide data which is from other
than the host/port, you can put data in the metadata, for example:
+
+```JSON
+{
+ "nodes": [
+ { "host": "0.0.0.0", "port": 1980, "weight": 1, "metadata": {"b": 1} }
+ ]
+}
+```
+
+## Download
+
+Download Apache APISIX 2.8.0
+
+- Source code: please visit [download
page](https://apisix.apache.org/downloads/)
+- Binary installation package: please visit [Installation
Guide](https://apisix.apache.org/docs/apisix/how-to-build/)