Постгрес против Кассандры за Конг

Я пытаюсь развернуть Kong в GKE согласно документации https://github.com/Kong/kong-dist-kubernetes

Я заметил, что Кассандра доступна как StatefulSet, но Postgres как ReplicationController. Могу ли я понять разницу? Также кто-нибудь может подсказать, как выбрать между этими 2?

2 ответа

ReplicationControllers предшествует StatefulSets. Это был способ управления вашими репликами. "Новейший" подход к управлению вашими репликами - ReplicaSets, который используется Deployments.

StatefulSets предназначен для приложений, которые требуют, чтобы ваши модули запускались упорядоченным образом вместе с какими-то данными, хранящимися на диске. Так что он очень подходит для хранилищ данных типа "главный / подчиненный" или "кольцевых топологий", таких как Cassandra. Я настоятельно рекомендую использовать StatefulSets для этих типов рабочих нагрузок.

StatefulSet лучше подходит для управления приложениями с отслеживанием состояния (которыми, безусловно, являются postgres и cassandra), поскольку предоставляет возможность создания PersistentVolumeClaim для использования GKE PD в вашем случае, поэтому ваше состояние будет храниться в отдельном разделе на выделенном PD. По сравнению с развертыванием Postgres с использованием ReplicationController, который вы предоставили, используйте emptyDir, так что это означает, что при удалении POD в случае аварии / сбоя с Postgres все данные будут потеряны, поэтому в этом случае вам, вероятно, потребуется повторно инициализировать развертывание Kong (выполнить миграции Kong, настроить роутеры и пр.)

Другие вопросы по тегам