Я пишу расширение для клиента, одно из требований состоит в том, чтобы расширение также работало в автономном режиме, потому что интернет-сервисы не так надежны, бизнес моего клиента не может остановиться но может работать с «устаревшими» данными, я думаю, это хороший компромисс.
Поэтому я хочу закодировать какой-то распределенный кеш в качестве расширения для синхронизации локальных данных между N узлами, которые будут подключены к одному и тому же приложению, и, таким образом, синхронизироваться с реальной базой данных, размещенной в Интернете.
Для этого я представил себе, что мне нужно будет сделать трансляцию по сети и прослушивать входящие трансляции, тогда каждый узел, на котором запускается мое приложение, будет транслировать свой IP-адрес и станет доступным как новый узел. для распределенного кэша отказоустойчивость здесь очень важна.
Я погуглил несколько вариантов, о которых думал изначально, но, думаю, ни один из них не сработает. Первый заключался в том, чтобы сделать это только с помощью HTTP, второй — использовать Google Native Client для написания кода C++, который мог бы запускать сетевой код и, таким образом, выполнить трансляцию, но она имеет ограничения. Прямо сейчас я думаю использовать Java-апплеты, но я действительно не знаю, есть ли у них какие-то ограничения, связанные с сетью, или есть ли у расширений Chrome какие-либо ограничения с Java-апплеты.
Любые идеи о том, как это сделать? Используя некоторые из вещей, которые я предложил, или другой подход?