If you choose mirroring, you need to understand something about the read requirements, as to how up to date the data needs to be.
If latency is an issue and there will be long running queries run against the read only copy, you need to come up with a strategy for managing rolling snapshots and how clients reference them.
If there are substantial index rebuilds being done on the primary, then you may have substantial latency during and after those times.