Как лучше всего создать конфигурацию «главный-подчиненный» для веб-приложения?

StackOverflow https://stackoverflow.com/questions/1189683

  •  19-09-2019
  •  | 
  •  

Вопрос

Я создаю интерфейс управления сервером для нескольких моих серверов (на которых размещены виртуальные серверы), и мне хотелось узнать, как лучше всего реализовать конфигурацию «главный-подчиненный» для указанного интерфейса.

Главный сервер должен подключаться ко всем подчиненным серверам для получения информации (обеспечения общего обзора) и отправки им команд (обеспечивает централизованное управление).Однако сам главный сервер также может иметь виртуальные серверы, поэтому я планировал развернуть одно и то же приложение на всех физических узлах и выяснить, является ли этот узел главным или подчиненным.

//Примечание:в каком-то смысле это почти похоже на рекурсию, хаха

Несколько идей, которые я имел в виду:

  • Отдельные схемы базы данных для главного и подчиненного устройства. Приложение проверяет схему, чтобы определить тип сервера.
  • Поле в таблице списка серверов, которое определяет сервер в таблице как главный или подчиненный.
Это было полезно?

Решение 2

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

Другие советы

Хотя вы можете реализовать собственное решение, лучше всего использовать какую-нибудь среду/приложение для автоматизации серверов, например Puppet или Chef.Лично я предпочитаю шеф-повара, но оба варианта пользуются большой поддержкой.По крайней мере, вы, вероятно, могли бы получить от них некоторое представление о том, как добиться этого :)

Вместо того, чтобы вдаваться в подробное объяснение того, что они делают, я бы посоветовал вам просмотреть сайты каждого из них:

Тем не менее, вот вступительные аннотации с каждого сайта...


Chef — это платформа системной интеграции, созданная для того, чтобы обеспечить преимущества управления конфигурацией всей вашей инфраструктуры.С Шефом вы можете:

  • Управляйте своими серверами, написав код, а не выполняя команды.(через кулинарные книги)
  • Тесно интегрируйтесь с вашими приложениями, базами данных, каталогами LDAP и т. д.(через библиотеки)
  • Легко настраивайте приложения, требующие знаний обо всей вашей инфраструктуре («На каких системах работает мое приложение?», «Какой текущий главный сервер базы данных?»)

Puppet — это декларативный язык для выражения конфигурации системы, клиент и сервер для ее распространения, а также библиотека для реализации конфигурации.

Вместо того, чтобы подходить к управлению серверами путем автоматизации существующих методов, Puppet переосмысливает проблему, предоставляя язык для выражения отношений между серверами, предоставляемыми ими услугами и примитивными объектами, составляющими эти услуги.Вместо того, чтобы обрабатывать детали того, как достичь определенной конфигурации или предоставить данную услугу, пользователи Puppet могут просто выразить желаемую конфигурацию, используя абстракции, которые они привыкли обрабатывать, такие как служба и узел, и Puppet отвечает за достижение конфигурации. или предоставление пользователю достаточной информации для устранения возникших проблем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top