In my opinion, Fabric was doomed because it had a single-point-of-failure, namely the 'fabric node'. Otherwise, it was probably considered mature.
The replacement: Group Replication (InnoDB Cluster). This has a robust design that seems to have no major holes. Galera Cluster (built into MariaDB and PXC, add-on for Oracle's MySQL) competes head-to-head with it and is more mature; there are advocates on both sides.
Group Replication (and Galera) have valid solutions for HA (High Availability) in that they use multiple servers and can recover from any single server failure. (This, of course, requires geographical disbursement of the servers.)
Group Replication is becoming mature and has only one flaw (arguably minor): It has no built-in way to handle the "critical read" problem. (This is where a user writes something to the database, but the subsequent
SELECT does not see it because it is sent to a different server.)
I am not prepared to address "sharding" in GR. Clustrix is a 3rd party that claims to have a very good sharding solution. What do you expect from "application level Sharding"? And is Sharding, not HA, your main goal?
Perhaps you saw this? Mysql Group replication vs Mysql Cluster