25.02.2021 15:07, Dimitry Sibiryakov wrote:
25.02.2021 13:04, Dmitry Yemanov wrote:
25.02.2021 13:39, Dimitry Sibiryakov wrote:
Is there option to set "database = inet://remote:database" in replication.conf for a replica?

Nope. Something like that is considered for future versions.

But network protocol has support for IReplicator so what is actually problem?

If you mean connecting primary->replica remotely and using IReplicator, then it works out of the box and called synchronous replication ;-) e.g. "sync_replica = inet://remote:database".

If you want the same but write the journals on the replica side instead of applying them immediately, and afterwards use the regular asynchronous queue, then it's a semi-synchronous replication. It can be supported with some extra coding if it will be demanded.

But AFAIU you want to connect replica->primary and pull the journals remotely. IReplicator cannot be used in such scenario, it's purely push-based (and transport-irrelevant). To make it pull-aware, replica must ask for a particular segment (using its sequence number) and return stream as a reply. The primary should maintain the "oldest segment" mark from multiple replicas to know where the segment can be removed from log_archive_directory. Not a piece of cake, so it was deferred.

If you had something different in mind, please explain better.


Dmitry


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to