2014-12-04 4 views
0

Итак, у меня есть несколько проектов, которые я хочу использовать общий набор базовых таблиц в базе данных Postgres для сопоставления схемы аутентификации между ними. Такие вещи, как «пользовательская» учетная запись »или другая связанная с ней информация пользователя, хранятся в этих таблицах. В настоящее время я имею в виду проекты nodejs (несколько устройств) и веб-приложение Ruby (планирование на нескольких устройствах позже), и в будущем мы могли бы создать проект Django или другого узла. Есть ли эффективный и экономичный способ сделать это, который будет масштабируемым и надежным? Я думал об использовании экземпляра s3 с размещенной на нем базой данных Postgres и указывая всю мою аутентификацию из нескольких приложений в эту базу данных, но я хотел посмотреть, подумали ли другие об этой проблеме.Несколько проектов, несколько языков, одна и та же аутентификация

+0

Избегайте использования имени таблицы 'user', вам придется указывать его везде, как' 'пользователь '', потому что это имя является встроенной псевдофункцией, и это ключевое слово. –

ответ

1

Во-первых, пожалуйста, не пытайтесь размещать postgres в S3 .. Я считаю, что вы, возможно, имели в виду EC2 с объемом EBS (который действительно находится на s3). С точки зрения простоты использования (особенно при рассмотрении текущего обслуживания) размещение любого экземпляра postgres в продукте RDS от Amazon - это действительно удовольствие. Не вдаваясь во все детали этого продукта, я просто заявляю, что вы можете настроить высокую доступность (переход на резервный ресурс), резервные копии, обновления и мониторинг всего за несколько кликов.

С учетом того, что RDS не является самым дешевым решением, но стоимость также не является чрезмерной, в зависимости от вашей нагрузки и количества одновременных подключений.

Если вся эта база данных будет проверять подлинность людей, а затем отключить - это очень хорошо будет излишним и будет пустой тратой ресурсов. Однако, если вы располагаете довольно сложным набором разрешений и другими пользовательскими данными, это, скорее всего, будет довольно простым решением.

В зависимости от вашего бюджета и требований вы можете использовать pgPool на своем сервере приложений где-нибудь, чтобы объединить соединения, но я бы не начал использовать pgPool, если вам это не нужно.

Смежные вопросы