Как бы мы реализовали функцию post liked count
, как в Instagram в Firestore, не затрагивая лимит записи?
Допустим, создаваемое социальное приложение очень популярно и является известным пользователем с миллионами подписчиков. отправляет сообщение. Естественно, что за короткий промежуток времени многим последователям понравится этот пост. likes
не проблема, поскольку они представляют собой коллекцию верхнего уровня. И здесь это не касается ограничения, поскольку каждый подписчик обновляет свой собственный документ c.
Однако для поля like_count
все эти пользователи будут пытаться обновить этот документ одновременно , Это было бы проблематично c из-за ограничения. И подсчет одинаковых значений был бы неправильным.
Я узнал о «Sharding» или «Распределенном счетчике» , который в основном распределяет число одинаковых по многим документам и линейно делит предел. Однако это не то решение, которое я ищу, поскольку оно плохо масштабируется и требует слишком много архитектуры для генерации такого простого числа.
Означает ли это ограничение такое приложение, как Instagram, Twitter, Facebook, Snapchat, TikTok никогда не может использовать Firestore в качестве бэкэнда? Или есть какие-то умные стратегии, которые преодолевают эти ограничения.