Если не использовать вебсокеты, то проще всего хранить дату последнего обновления списка и запрашивать её с фронта раз в несколько секунд. Если она больше той, что была при предыдущем запросе данных, то запрашивать список по новой.
Ну а если у нас есть возможность использовать вебсокеты, то тут проще (и одновременно сложнее). В простейшем случае приложение, которое вставляет данные и обслуживает вебсокеты - одно и то же. Тогда просто по сокетам шлем оповещение всем фронтам и они запрашивают обновленный список. Или шлем сразу изменения и фронты изменяют свои данные. При разделении приложения на части получается усложнение: при изменении данных шлем сигнал от той части, которая меняет данные к той части, которая обслуживает вебсокеты и она оповещает фронты. Ну, или интегрируем какую-нибудь систему управления очередями сообщений типа RabbitMQ. В общем, начинается простор для фантазии.