You're going to shard your data so requests end up on the server that has the local database that has the right data? Really? Are you going to write a custom load balancer to do this, just so you can use sqlite sharded onto each box?
And what happens if you add a new server or scale down? You need to re-shard your data?
Then you have massive synchronization problems if your data isn't almost read–only.
if your data isn't mostly read-only, then you're going to have an issue with SQLite. It doesn't nicely support parallel writers
Not if you're sharding correctly.
You're going to shard your data so requests end up on the server that has the local database that has the right data? Really? Are you going to write a custom load balancer to do this, just so you can use sqlite sharded onto each box?
And what happens if you add a new server or scale down? You need to re-shard your data?