Я создаю локальный сервер / клиент на Java, который будет иметь несколько клиентов, совместно использующих некоторые данные, поэтому мне нужно было какое-то взаимодействие между клиентскими процессами, поэтому я решил использовать сокеты.Однако я изо всех сил пытаюсь выбрать между двумя способами реализации этого, так как я не уверен, какой из них быстрее и менее подвержен ошибкам.
Метод 1: На сервере будет локальное хранилищеиз всех переменных.Когда некоторая информация обновляется на стороне клиента, клиент отправляет эту информацию на сервер для обновления своей базы данных.Прежде чем клиент выполнит какое-либо действие, требующее данных из базы данных, он запрашивает в базе данных самые последние данные, а затем выполняет какое-либо действие с ним, а затем отправляет измененные данные обратно в базу данных.
Метод 2: Сервер не будет содержать никаких данных, он действует только как носитель для отправки сообщений.Когда некоторая информация обновляется на стороне клиента, клиент отправляет эту информацию ВСЕМ другим клиентам, и тогда клиенты получают локальную копию самых актуальных данных.Затем им не нужно запрашивать данные с сервера, поскольку им всегда будут отправляться данные.
Я уже реализовал метод 2, однако я думаю, что это может быть немного излишним, иможет быть сложнее масштабировать по мере увеличения проекта, поэтому я думаю о переходе на метод 1. Однако я не уверен насчет надежности метода 1. Какой метод мне использовать и почему?