Skip to main content

Weekly Report|10.15-10.31 Feature Highlights Update in Progress

· 4 min read

From 10.15 to 10.31, 31 contributors submitted 93 commits for Apache APISIX. Thank you all for your contributions to Apache APISIX. It is your selfless contribution to make the Apache APISIX project better!

Introduction#

Apache APISIX has grown as a community from the first day of open source and has quickly become the most active open source API gateway project in the world. These achievements cannot be achieved without the joint efforts of our community partners.

"If you want to go fast, go alone.If you want to go far, go together." The Apache APISIX Community Weekly Report hopes to help community members better understand the weekly progress of the Apache APISIX community and and facilitate everyone to participate in the Apache APISIX community.

We have also compiled some issues suitable for newcomers to the community to participate in! If you are interested, don't miss it!

Contributor Statistics#

Contributors List

New Contributors

Good first issue#

Issue #686#

Link: https://github.com/apache/apisix-website/issues/686

Issue description: In order to speed up the loading speed of pictures/images on the Apache APISIX official website, we need to migrate all pictures/images to CDN.

Issue #5305#

Link: https://github.com/apache/apisix/issues/5305

Issue description:

Currently I has test the proxy-mirror plugin in apisix, but I find that the feature of this plugin is different from the ngx_http_mirror_module in nginx. The mirror moudle of nginx can add the uri behind the host in "proxy_pass" directive, for example:

location / {mirror /mirror;proxy_pass http://backend;}
location = /mirror {internal;proxy_pass http://test_backend$request_uri;}

But when I test the proxy-mirror plugin in apisix dashboard, it prompts a message that the blank cannot be filled with URI. Will the proxy-mirror plugin be optimized to support the URI?

Issue Screenshot

Issue #5342#

Link: https://github.com/apache/apisix/issues/5342

Issue description: Share limit counter between routes.

To do this, you need to specify the key of the route's corresponding limit-count in lrucache so that the same limit object is shared across multiple routes. lrucache keys (hereafter called groups to distinguish them from limit keys) are currently generated automatically, ensuring that each route's group is independent. For this change, we need to be able to specify the group in the limit-count.

"limit-count": {        "group": "group_id_blah"        "count": 2,        "time_window": 60,        "rejected_code": 503,        "key": "remote_addr"}

Note that the configuration of the same group needs to be the same, which currently needs to be guaranteed by the caller, otherwise the limit object obtained by the group will be different from the configuration.

Issue #5343#

Link: https://github.com/apache/apisix/issues/5343

Issue description: Add a request_body switch to the schema, and each body can be used by expr to decide whether to log or not. Without this switch, the body is not logged.

"kafka-logger": {   "broker_list":{       "127.0.0.1":9092    },   "kafka_topic" : "test2",   "request_body": {       "expr": [          ["request_length", "<", "1024"],       ]   },   "key" : "key1",   "batch_max_size": 1,   "name": "kafka logger"}

expr can be evaluated by lua-resty-expr. request body can be fetched by core.request.get_body.

Highlights of Recent Features#

The Apache APISIX project website and the Github issue have accumulated a wealth of documentation and experience, so if you encounter problems, you can read the documentation, search the issue with keywords, or participate in the discussion on the issue to put forward your own ideas and practical experience.

Recent Blog Recommendations#