I would recommend setting up shared datastore between author and publish instance and use binary less replication.
Steps to configure Shared datastore:
– Create the data store configuration file on each instances that is required to share the data store. On each configuration file, we need to point to the same data store.
– You can validate the configuration, looking for a unique file added to the data store by each repository that is sharing it with format repository-[UUID], where the UUID is a unique identifier of each individual repository.
– Also we can change the “Serialization Type” of the “Publish” replication agent from “Default” to “Binary Less” and add an additional argument (binaryless=true) to the replication agent’s “Transport URI”, meaning that the binary itself does not have to be transported across the network, resulting in a faster replication.
More details at [1]
[1] https://aemcorner.com/shared-data-store/