Recommended plan for 0min RTO and RPO
You could implement database mirroring.  Synchronous database mirroring provides a mechanism to ensure all writes on the primary mirrored databases are sent to the secondary machine prior to being committed on the primary.  This is designed to provide an RPO as close to zero as practically possible.

In the event the primary goes down for any reason, the secondary mirror will become the primary and resume serving clients once it completes the recovery process for the database in question.  Recovery can take a very short amount of time assuming you ensure the redo queue is being processed reliably.