You'll be unable to manage shares and accesses or access the web console if the zrok controller isn't available.
An array of zrok controllers will behave as a single zrok instance if they share a PostgreSQL data source, which provides table locking.
You may scale out the zrok public frontends at will, optionally cloning a shared public frontend zrok environment since they always have the same authorizations.
The oauth frontend scales with the public frontend.
This PostgreSQL-specific locking configuration may be relevant if you're enforcing limits: Configuring Limits | zrok