У меня есть сайт с большим трафиком, который записывает веб-хиты в таблицу, Хиты.Имеется логика, позволяющая отбрасывать дублированные попадания (где определение того, что определяет совпадение как дублирующее, является произвольным для целей данного примера).
Проблема: при работе нескольких веб-серверов (для одной и той же БД)два или более хитов могут одновременно поступать на разные веб-серверы, и, с точки зрения каждого сервера, ни один из них не является дубликатом (тогда как при сериализации через один сервер все, кроме первого, должны быть отброшены).Следовательно, все они записываются в таблицу Hits.
Без изменения схемы БД для обеспечения уникальности поля в таблице Hits, как заставить Rails синхронизировать транзакцию с базой данных, чтобы гарантировать, что нетдубликаты написаны?Согласно документации, транзакции ActiveRecord применяются только для каждого соединения, что недостаточно (насколько я могу судить).