From 56bb5beb23aaf3d79e9f870c85924c9d98dcfe8b Mon Sep 17 00:00:00 2001 From: Valery Piashchynski Date: Tue, 2 Mar 2021 18:24:56 +0300 Subject: =?UTF-8?q?=E2=9A=A1v2.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Valery Piashchynski --- .rr.yaml | 12 +++- CHANGELOG.md | 24 +++++++ go.sum | 1 - internal/protocol.go | 1 + pkg/doc/README.md | 2 +- plugins/doc/graphviz.svg | 169 ----------------------------------------------- systemd/rr.service | 2 +- tools/worker_table.go | 1 - 8 files changed, 36 insertions(+), 176 deletions(-) delete mode 100644 plugins/doc/graphviz.svg diff --git a/.rr.yaml b/.rr.yaml index 5e214da2..fa69fce6 100755 --- a/.rr.yaml +++ b/.rr.yaml @@ -21,8 +21,9 @@ server: # optional for development logs: # default - mode: debug - encoding: json + mode: development + level: debug + encoding: console output: stderr err_output: stderr channels: @@ -34,7 +35,12 @@ logs: server: mode: production level: info - encoding: json + encoding: console + output: stderr + rpc: + mode: production + level: debug + encoding: console output: stderr # Workflow and activity mesh service diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f31aca3..64a2b590 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,30 @@ CHANGELOG ========= +v2.0.0 (02.03.2021) +------------------- + +- โœ”๏ธ Added shared server to create PHP worker pools instead of isolated worker pool in each individual plugin. +- ๐ŸงŸ New plugin system with auto-recovery, easier plugin API. +- ๐Ÿ“œ New `logger` plugin to configure logging for each plugin individually. +- ๐Ÿ” Up to 50% performance increase in HTTP workloads. +- โœ”๏ธ Added **[Temporal Workflow](https://temporal.io)** plugin to run distributed computations on scale. +- โœ”๏ธ Added `debug` flag to reload PHP worker ahead of request (emulates PHP-FPM behavior). +- โŒ Eliminated `limit` service, now each worker pool incluides `supervisor` configuration. +- ๐Ÿ†• New resetter, informer plugins to perform hot reloads and observe loggers in a system. +- ๐Ÿ’ซ Exposed more HTTP plugin configuration options. +- ๐Ÿ†• Headers, static and gzip services now located in HTTP config. +- ๐Ÿ†• Ability to configure the middleware sequence. +- ๐Ÿ’ฃ Faster Goridge protocol (eliminated 50% of syscalls). +- ๐Ÿ’พ Added support for binary payloads for RPC (`msgpack`). +- ๐Ÿ†• Server no longer stops when a PHP worker dies (attempts to restart). +- ๐Ÿ’พ New RR binary server downloader. +- ๐Ÿ’ฃ Echoing no longer breaks execution (yay!). +- ๐Ÿ†• Migration to ZapLogger instead of Logrus. +- ๐Ÿ’ฅ RR can no longer stuck when studding down with broken tasks in pipeline. +- ๐Ÿงช More tests, more static analysis. +- ๐Ÿ’ฅ Created a new foundation for new KV, WebSocket, GRPC and Queue plugins. + v2.0.0-RC.4 (20.02.2021) ------------------- diff --git a/go.sum b/go.sum index 6fcb0e7a..d8c74fca 100644 --- a/go.sum +++ b/go.sum @@ -562,7 +562,6 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201210223839-7e3030f88018/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091 h1:DMyOG0U+gKfu8JZzg2UQe9MeaC1X+xQWlAKcRnjxjCw= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210217105451-b926d437f341 h1:2/QtM1mL37YmcsT8HaDNHDgTqqFVw+zr8UzMiBVLzYU= golang.org/x/sys v0.0.0-20210217105451-b926d437f341/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/internal/protocol.go b/internal/protocol.go index 48c653a5..3257c1d9 100755 --- a/internal/protocol.go +++ b/internal/protocol.go @@ -67,6 +67,7 @@ func FetchPID(rl relay.Relay) (int64, error) { } frameR := frame.NewFrame() + err = rl.Receive(frameR) if !frameR.VerifyCRC() { return 0, errors.E(op, errors.Str("CRC mismatch")) diff --git a/pkg/doc/README.md b/pkg/doc/README.md index 4f726f4a..709df603 100644 --- a/pkg/doc/README.md +++ b/pkg/doc/README.md @@ -18,4 +18,4 @@ no workers in the `stack`, watcher waits for the specified via config (`allocate 7. Golang worker send that request to the PHP worker via various set of transports (`pkg/transport` package). 8. PHP worker send back response to the golang worker (or error via stderr). 9. Golang worker return response payload to the pool. -10. Pool process this response and return answer to the user. \ No newline at end of file +10. Pool process this response and return answer to the user. diff --git a/plugins/doc/graphviz.svg b/plugins/doc/graphviz.svg deleted file mode 100644 index 86f6ab5c..00000000 --- a/plugins/doc/graphviz.svg +++ /dev/null @@ -1,169 +0,0 @@ - - -endure - - - -checker - -checker - - - -config - -config - - - -checker->config - - - - - -logger - -logger - - - -checker->logger - - - - - -logger->config - - - - - -gzip - -gzip - - - -headers - -headers - - - -headers->config - - - - - -metrics - -metrics - - - -metrics->config - - - - - -metrics->logger - - - - - -redis - -redis - - - -redis->config - - - - - -redis->logger - - - - - -reload - -reload - - - -reload->config - - - - - -reload->logger - - - - - -resetter - -resetter - - - -reload->resetter - - - - - -resetter->logger - - - - - -rpc - -rpc - - - -rpc->config - - - - - -rpc->logger - - - - - -static - -static - - - -static->config - - - - - -static->logger - - - - - \ No newline at end of file diff --git a/systemd/rr.service b/systemd/rr.service index 6e4d5914..9b78329e 100755 --- a/systemd/rr.service +++ b/systemd/rr.service @@ -3,7 +3,7 @@ Description=High-performance PHP application server [Service] Type=simple -ExecStart=/usr/local/bin/roadrunner serve -v -d -c +ExecStart=/usr/local/bin/roadrunner serve -c Restart=always RestartSec=30 diff --git a/tools/worker_table.go b/tools/worker_table.go index 20b8084f..157aa972 100644 --- a/tools/worker_table.go +++ b/tools/worker_table.go @@ -48,7 +48,6 @@ func renderStatus(status string) string { case "errored": return color.RedString("errored") } - return status } -- cgit v1.2.3