Я работаю над новым приложением (приложение 2), у меня уже есть существующее приложение (приложение 1) с достойной базой пользователей.Обмен данными между двумя веб-приложениями
Приложение 2 предназначено для одной и той же пользовательской базы, пользователь может использовать любое из приложений или их обоих, как я могу обмениваться пользовательскими данными (несколькими объектами) через приложения?
вариант 1 - общая база данных звучит как плохая идея, так как я закончу писать правила проверки в 2 разных местах.
опции 2 - центральное обслуживание и хранилище данных означают перезапись большинства приложений 1, которые работают хорошо, а база кода довольно огромная.
опции 3 - обрабатывать хранилище данных App 1 как центральное хранилище данных и выставлять его как API. Приложение 2 может использовать это для чтения и записи данных. У меня все еще есть несколько вопросов для этого решения.
- Приложение 2 теперь зависит от приложения 1, что означает, что проблема с App 1 влияет на приложение 2. Я могу решить эту проблему путем кэширования данных в приложении 2. Это приводит к другим проблемам.
- Данные, измененные в Приложении 1, сразу не отражаются в приложении 2, что является одним из требований. Я могу решить эту проблему с помощью pub/sub model между App 1 и App 2.
- Приложение 2 всегда записывает данные в хранилище данных App 1 с использованием API, и я могу вернуть данные обратно в приложение 2, но затем оно несовместимо, а в конечном итоге оно последовательное.
- Приложение 2 записывает данные в собственное хранилище данных, а затем асинхронно переносится в приложение 1. Это приводит к проблемам с конфликтом данных.
Как я могу справиться с этой проблемой, не представляя огромной сложности в обоих приложениях.
1. Оба приложения написаны на php , 2. У меня есть неплохой API для приложения 1. Меня беспокоит производительность приложения 2, если я использую его непосредственно в приложении 2. – abhinavlal
Вы даже не должны этого делать, я имею в виду, что App 2 использует Api 1. Можете ли вы извлечь API REST из приложения 1? – Marco