Andrew Mayorov
d4b449c6e1
feat(cluster-link): implement replication actor heartbeats
2024-06-17 12:23:51 +03:00
Serge Tupchii
faa4420e1f
fix(clusterlink): improve actor error handling
...
Add status and error reason to the actor state, report alarms.
2024-06-17 12:23:51 +03:00
Serge Tupchii
21711c6e0d
fix(clusterlink): communicate bootstrap requirements via actor handshake
...
`session_present` flag is not reliable to decide whether bootstrap is needed if durable sessions is enabled.
In this case, the client session may survive cluster restart while all the external routes are lost, as they are not persistent.
2024-06-17 12:23:51 +03:00
Serge Tupchii
d5e82cdfac
refactor(clusterlink): avoid unnecessary `maybe_` external_broker CB names
2024-06-17 12:23:51 +03:00
Serge Tupchii
d578ac3f9e
fix(clusterlink): match correct timer ref in router actor
2024-06-17 12:23:51 +03:00
Serge Tupchii
b1aeb35370
feat(clusterlink): implement actor init handshake
2024-06-17 12:23:51 +03:00
Serge Tupchii
ac19cf89df
chore(clusterlink): remove code related to the rejected coordinator-based implementation
2024-06-17 12:23:51 +03:00
Serge Tupchii
e26e7acaa1
refactor(clusterlink): use `emqx_bridge_mqtt_lib:clientid_base/1` to construct routesync client id
2024-06-17 12:23:51 +03:00
Serge Tupchii
e7305c62ee
feat(clusterlink): replicate shared subscription and persistent session routes
2024-06-17 12:23:51 +03:00
Serge Tupchii
f036b641eb
feat(clusterlink): integrate node local routes replication and message forwarding
2024-06-17 12:23:51 +03:00
Serge Tupchii
7df91d852c
feat(clusterlink): integrate node local syncer/actor implementation
...
- support multiple cluster links in extrouter
- apply extrouter ops on 'message.publish' hook
- fix several minor bugs
2024-06-17 12:23:51 +03:00
Andrew Mayorov
cbd01ae818
feat(clusterlink): add node-local route sync actor implementation
2024-06-17 12:23:51 +03:00
Andrew Mayorov
4097585f5d
fix(clusterlink): ensure extrouter works on replicants
...
This is sort of a quick fix to make things safe, but it will likely be
a subject to the same drawbacks as the regular router in high-latency
deployments: reduced throughput.
2024-06-17 12:23:51 +03:00
Andrew Mayorov
2dd99c5a08
feat(clusterlink): add facility to reconstruct remote routing table
2024-06-17 12:23:51 +03:00
Serge Tupchii
f08342c704
feat: cluster link prototype WIP
2024-06-17 12:23:48 +03:00