Commit Graph

130 Commits

Author SHA1 Message Date
redynasc
98bb5933d6
feature: implement ewma balancer for upstream node (#2001)
ewma is a different balancing implementation that will generate a weight for every backend IP based on the last server response time, basically it tries to dispatch more requests to the backends that reply faster, supposing that they are less loaded.

fix #1996
2020-08-29 23:14:16 +08:00
nic-chen
c54aec8f6c
feat: support custom access log format (#2122)
fix #2009
2020-08-26 16:51:44 +08:00
罗泽轩
0bb8f4693a
change: allow users to see warnings by default (#2116)
Previously, with the default configure, people don't have the chance to
ignore the warning message.
2020-08-26 14:19:46 +08:00
YuanSheng Wang
cf882bda1e
feature: divide config.yaml into two files config-custom.yaml & confi… (#2023)
* feature: divide config.yaml into two files config-custom.yaml & config-default.yaml .

fix #1923
2020-08-18 20:18:55 +08:00
罗泽轩
0b00e82773
bugfix: avoid setting Server header twice (#2065)
Fix #2064.
2020-08-15 17:19:35 +08:00
罗泽轩
f7b5f2b7ec
feat: allow customizing worker_processes (#2017)
* feat: allow customizing worker_processes

Close #2016
2020-08-07 17:25:26 +08:00
YuanSheng Wang
d32b5cf361
perf: no longer generate unnecessary nginx conf for better performance. (#1968)
* perf: no longer generate unnecessary nginx conf for better performance.
* benchmark: sync nginx.conf for fake-apisix.

> Is this PR backward compatible?

Disable two plugins by default(proxy-cache, proxy-mirror), if the user wants to enable them, need to modify the conf/config.yaml by manual.
2020-08-04 09:31:35 +08:00
wonglend
4cbb324cca
bugfix(CLI): fix wrong info Warning! Running apisix under /root when make init at non-root path (#1976) 2020-08-03 19:12:02 +08:00
nic-chen
333962a54b
bugfix: run apisix start several times will start multi APISIX servers (#1913) 2020-07-29 18:43:41 +08:00
nic-chen
a5fc25c2a9
feat: Support admin API authentication with SSL certificates (#1747) 2020-07-21 11:41:11 +08:00
罗泽轩
bfa24d41ba
feature: allow to congfiure the worker_shutdown_timeout (#1828)
The default 3s may be too low.
2020-07-10 21:59:44 +08:00
Wen Ming
a4e31b2f3d
optimize: increase ssl_session_cache size to 20m. (#1797) 2020-07-10 11:31:32 +08:00
wonglend
588d46ff18
fix: replace location /robots.txt with location =/robots.txt for admin page. (#1807) 2020-07-07 10:36:32 +08:00
xxm404
794b1eb65e
bugfix: return 404 Not Found when the dashboard folder is empty. (#1799)
close #1794
2020-07-03 21:18:05 +08:00
YuanSheng Wang
ee7533874d
optimize: Use lru to avoid resolving IP addresses repeatedly . (#1772)
* optimize: Use lru to avoid resolving IP addresses repeatedly .
Cached the global rules to `ctx` .

* optimzie: used a longer time interval for etcd and flush access log.

* optimize: return upstream node directly if the count is 1 .

* optimize: avoid to cache useless variable.
2020-06-28 18:14:38 +08:00
Wen Ming
d372fe2516
bugfix: fixed configures of nginx.conf for security reasons (#1759)
removed working_directory and removed TLSv1 TLSv1.1 from ssl_protocols
2020-06-23 16:03:19 +08:00
YuanSheng Wang
9b47b31c50
change: disable reuseport in development mode, it more easy to manage worker process. (#1175) 2020-06-10 11:32:52 +08:00
Yousa
4b47391a6c
bugfix(CLI): generate the 'worker_cpu_affinity' config for Linux OS (#1658)
Fix #1657
2020-06-09 20:44:15 +08:00
dabue
d780f7406f
[bugfix(CLI)]: check whether the user has enabled etcd v2 protocol. (#1665) 2020-06-09 20:42:38 +08:00
Yousa
f61b7036b0
[log] Optimize the buffer size and flush time (#1570)
* yousali:<log>Optimize the buffer size and flush time

1. buffer=4096 is better for Writes of more than PIPE_BUF bytes may be nonatomic
2. flush=1. Since the log buffer is lowered, the flush time should also be lowered.

* yousali:<fix>

hi, I also made a test.

```
4096  Requests/sec:  16079.75
8192 Requests/sec:  16389.52
16384 Requests/sec:  16395.30
32768 Requests/sec:  16459.71
```
I think a log buffer size of 8192 or 16384 would be appropriate.

On the other hand, the refresh time of 3 seconds is still relatively long, and 1 or 3 seconds doesn't particularly affect QPS.

So I also agree with `buffer=16384 flush=1; `
2020-06-07 23:57:54 +08:00
dabue
3228e16705
feature: support to enable HTTPS for admin API (#1648) 2020-06-07 21:02:50 +08:00
仇柯人
52fa154217
CLI: compatibility of benchmark script and apisix reload command on OSX (#1650) 2020-06-06 09:35:12 +08:00
Wen Ming
398941b72f
feature: add skywalking plugin. (#1241) 2020-05-27 17:55:47 +08:00
xxm404
5aeac03821
bugfix(CLI): fixed garbled Chinese response in browser. (#1598)
fix #1559
2020-05-25 23:14:36 +08:00
罗泽轩
9a6fc51d29
bugfix: raise error when none of the configured etcd can be connected (#1608)
Close #1561.
2020-05-22 20:47:47 +08:00
dengliming
3906545ac5
bugfix: incorrect variable name hostCount (#1585) 2020-05-14 23:29:11 +08:00
YuanSheng Wang
c351b38086
bugfix(lrucache): when creating cached objects, use resty-lock to avoid repeated creation. (#1486)
* bugfix(lrucache): one common use case for this library is avoid the so-called "dog-pile effect",
    that is, to limit concurrent backend queries for the same key when a cache miss happens.
* bugfix: catch the error messag by pcall, it may fail when generate new validator.
2020-04-22 17:47:16 +08:00
YuanSheng Wang
04539ae972
bugfix(CLI): added $prefix/deps/share/lua/5.1/?/init.lua to search path. (#1443) 2020-04-13 09:54:07 +08:00
Wen Ming
c76e7e3623
feature: remove lua dir. (#1351) 2020-03-31 23:23:29 +08:00
qiujiayu
11a9646866
change: check item count of DNS resolver (#1361) 2020-03-31 13:37:50 +08:00
SuperWalle
12677c322b
feature: Allow add custom shared dict (#1367) 2020-03-31 10:22:58 +08:00
qiujiayu
7baa0abd44
feature: if the dns_resolver is not set in the file conf/config.yaml, use the resolver in local DNS. (#1217)
Fix #1164
2020-03-26 09:48:18 +08:00
罗泽轩
dcd2ebc5e4
chore: improve plugins/proxy-cache (#1305)
1. unit all the default cache time to 10s.
2. remove repeated `if proxy_cache` check.
3. improve `generate_complex_value`'s performance.
4. better indent.
2020-03-20 12:26:43 +08:00
agile6v
fc948f9578
feautre: support for proxy mirror plugin. (#1288) 2020-03-19 08:10:03 +08:00
Ayeshmantha Perera
cee03225f8
feature: support multiple etcd address. (#1283) 2020-03-19 08:01:41 +08:00
agile6v
864aa16e91
feature: support for proxy caching plugin based on disk. (#1153) 2020-03-15 22:26:08 +08:00
Nirojan Selvanathan
2a2762a9c2
CLI: Adding warning message when running APISIX in root path. (#1236) 2020-03-13 15:57:12 +08:00
Ayeshmantha Perera
bd0ebdf742
CLI: bugfix profile path not found exception. (#1210) 2020-03-07 14:29:14 +08:00
Wen Ming
a610e8917c
Revert "feature: auto import nameservers into APISIX from system resolver. (#1167)" (#1205)
This reverts commit e1ac426443.
This PR break CI and no test cases cover, so I have to revert it.
2020-03-06 10:30:32 +08:00
dabue
6d2ecee48f
change: disables logging of errors about not found files into error_log for admin api.
Fix #1168
2020-03-04 09:37:26 +08:00
Ayeshmantha Perera
7340a07411
CLI: fixed bad code style. (#1182) 2020-03-03 17:34:20 +08:00
qiujiayu
e1ac426443
feature: auto import nameservers into APISIX from system resolver. (#1167)
Fix #1164
2020-03-02 16:04:15 +08:00
qiujiayu
b210a7b866
feature: support to load different config file by ENV APISIX_PROFILE profile (#1147) 2020-02-28 08:46:42 +08:00
YuanSheng Wang
de16a7e04f
bugfix: updated the dns parse result by TTL. (#1077) 2020-02-19 20:30:34 +08:00
YuanSheng Wang
e33f75da4e
bugfix: use ss.listen_port to generate https listening port. (#1133) 2020-02-18 12:40:15 +08:00
agile6v
01a5b807b5
feature: Add support for PROXY Protocol. (#1113) 2020-02-12 10:53:20 +08:00
YuanSheng Wang
4a681af4cb
CLI: added missing Lua path. (#1114) 2020-02-09 20:57:13 +08:00
Yousa
60b2493f5b CLI: bin/apisix to support the SO_REUSEPORT (#1085)
Fix #342
2020-02-09 17:19:45 +08:00
罗泽轩
abcd197312
feature: increase the default size of the core file (#1105)
Close #1101.
2020-02-04 11:02:07 +08:00
罗泽轩
fda20d99d5
feature: make the number of file is as configurable as the connections. (#1098) 2020-02-02 09:13:34 +08:00