Created
October 22, 2020 16:32
-
-
Save mxschmitt/303ed443a0219dce51633ceb9eedb97e to your computer and use it in GitHub Desktop.
Try Playwright new architecture (http://try.playwright.tech)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Try Playwright (try.playwright.tech) rewrite | |
+-----------------------------------------------------------------------+ +------------------------------------------------------------------------------------------------------------------------------------+ | |
| Before | | N times After N times | | |
| 1x time 1x time | | +------------------------+ +------------------------------------------------+ | | |
| +------------------+ +------------------------+ | | | | | | | | |
| | | | | | | | Frontend (LB) | +------------------+ | File service | | | |
| | Backend: | | Frontend: | | | | + Caddy +<-----+ User (Browser) | | - Uploads Files | | | |
| | + Node.js | | + Caddy webserver | | | | It does: | +------------------+ | - Deletes regularly files older than 30 mins | | | |
| | + Express | | It does: | | | | + Proxy to Control MS | | | | | |
| | It does: +<---------------+ + Proxy to Backend | | | | | Serve React assets | +------+------------------------------^----------+ | | |
| | + Savings | | + Serve React assets | | | | | Proxy to Minio | | | | | |
| | + Launching | | | | | +--+---------+-------+---+ | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| +------------------+ +------------------------+ | | | | | | | | |
| | | | | | | | | |
+-----------------------------------------------------------------------+ | | | possible HA | | | | |
| | | +----------------------+ | | | | |
Jobs: | | | | | | | | | |
| | +--------> Storage (Minio/S3) +<--------------------------------+ | | | |
+ Run arbitrary Node.js code scalable in the cloud | | | | | | | |
| Isolated on Node.js level by a V8 sandbox +-----+ | +----------------------+ | | | |
| Current frontend on try.playwright.tech | | | | | |
| Should work with 5-10 users in parallel | v N times | | | |
+ Currently only a single backend and frontend container | N times +--------------------+----------+ | | |
| +----------------------------+ | | | | |
| | | | Worker processs (launches PW)| | | |
| | Control microservice: | possible HA | + Node.js | | | |
| | + Go microservice | +---------+ | | | | |
| | | Saves to the database | | | | It does: | | | |
| | | adds jobs to the queues | | Queue | | + Launching | | | |
| | + wait until the ack/nack +-----------------> +<------------------------------------->+ + Listens to RabbitMQ Queue | | | |
| | | +---------+ | | | | |
| +---------------+------------+ +-------------------------------+ | | |
| | | | |
| | +--------------------------------------------------------------------------------------+ | |
| | | | |
| possible HA | | | |
| +--------------v------------------+ | | |
| | | | | |
| | Etcd key/value storage | | | |
| | - stores the shared snippets | | | |
| | | | | |
| | | | | |
| +---------------------------------+ | | |
| | | |
| | | |
+---------------------------------------------------+ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment