Replication or Sharding for a huge table?
Mysql replication won't address performance issues on large tables.  It just allows you to have another copy you might use for failover, backup or reporting in cases of heavy hitting queries.

Your table schema is tiny.  Even with 14 million rows you could fit that in ram on even modest hardware.

All the same, if you want to look at sharding you could read up on mysql partitioning

You say you expect 14 million rows; you're dangerously close to the max value for your medium PK there.  Just go head and make that an int instead of worrying about the extra byte/entry.