Implement synchrotron balancing in nginx, replaces need for matrix-synchrotron-balancer
This commit is contained in:
@@ -21,13 +21,15 @@ nginx_upstreams:
|
||||
additional_options:
|
||||
- "client_max_body_size {{ matrix_max_upload_size_mb }}M"
|
||||
|
||||
synchrotron_balancer:
|
||||
servers: "{{ ['8183'] if synapse_workers.generic_sync is defined else '' }}"
|
||||
synapse_generic_sync:
|
||||
servers: "{{ synapse_workers.generic_sync | default('') }}"
|
||||
method: 'hash $mxid_localpart'
|
||||
locations:
|
||||
- name: '~ ^/_matrix/client/(api/v1|r0|v3)/events$'
|
||||
- name: "{{ '^/_matrix/client/(v2_alpha|r0|v3)/sync$' if 'generic_init_sync' not in synapse_workers | default('') else '' }}"
|
||||
synchrotron_init:
|
||||
servers: "{{ ['8184'] if synapse_workers.generic_init_sync is defined else '' }}"
|
||||
synapse_generic_init_sync:
|
||||
servers: "{{ synapse_workers.generic_init_sync | default('') }}"
|
||||
method: 'hash $mxid_localpart'
|
||||
locations:
|
||||
- name: '~ ^/_matrix/client/(api/v1|r0|v3)/initialSync$'
|
||||
- name: '~ ^/_matrix/client/(api/v1|r0|v3)/rooms/[^/]+/initialSync$'
|
||||
@@ -166,7 +168,7 @@ nginx_upstreams:
|
||||
servers: "{{ synapse_workers.presence_persister | default('') }}"
|
||||
locations:
|
||||
- name: '^/_matrix/client/(api/v1|r0|v3|unstable)/presence/'
|
||||
|
||||
|
||||
maubot:
|
||||
servers: "{{ ['29316'] if 'maubot' in matrix_extras | default('') else '' }}"
|
||||
locations:
|
||||
@@ -190,14 +192,25 @@ nginx_upstreams:
|
||||
|
||||
nginx_maps:
|
||||
sync:
|
||||
var: "{{ 'arg_since' if synapse_workers.generic_sync is defined and synapse_workers.generic_init_sync is defined else '' }}"
|
||||
var: "{{ 'arg_since' if synapse_workers.generic_sync is defined and synapse_workers.generic_init_sync is defined else '' }}"
|
||||
rules:
|
||||
default: synchrotron_balancer
|
||||
"''": synchrotron_init
|
||||
default: synapse_generic_sync
|
||||
"''": synapse_generic_init_sync
|
||||
locations:
|
||||
- name: '~ ^/_matrix/client/(r0|v3)/sync$'
|
||||
additional_options:
|
||||
- 'proxy_read_timeout 1h'
|
||||
mxid_localpart_urlparam:
|
||||
var: arg_access_token
|
||||
rules:
|
||||
default: $arg_access_token
|
||||
"'~syt_(?<username>.*?)_.*'": $username
|
||||
mxid_localpart:
|
||||
var: http_authorization
|
||||
rules:
|
||||
default: $http_authorization
|
||||
"'~Bearer syt_(?<username>.*?)_.*'": $username
|
||||
"''": $mxid_localpart_urlparam
|
||||
|
||||
nginx_servers:
|
||||
- listen:
|
||||
@@ -225,14 +238,14 @@ nginx_servers:
|
||||
- synapse_main
|
||||
- matrix_media_repo
|
||||
- synapse_media_repository
|
||||
- synapse_generic_sync
|
||||
- synapse_generic_init_sync
|
||||
- synapse_generic_client
|
||||
- synapse_generic_login
|
||||
- synapse_generic_event_send
|
||||
- synapse_generic_pagination
|
||||
- synapse_user_dir
|
||||
- synapse_frontend_proxy
|
||||
- synchrotron_balancer
|
||||
- synchrotron_init
|
||||
- synapse_device_persister
|
||||
- synapse_typing_persister
|
||||
- synapse_account_persister
|
||||
|
||||
Reference in New Issue
Block a user