Как подключиться к централизованной базе данных MySQL с моего сайта django?

Допустим, у меня есть две системы, на которых будет работать сервер Django, и одна система, которая будет централизованной базой данных, которая будет содержать только приложение базы данных, работающее на этой машине. Как я могу подключить две машины к одной и той же базе данных, то есть читать/записывать из/в базу данных? Какое программное обеспечение должно быть запущено на стороне моей базы данных MySQL, чтобы оно могло получать данные с сервера и возвращать данные из базы данных в случае запроса на чтение?

Вопрос в том, как два сервера могут подключиться к централизованной базе данных для чтения/записи из нее? Какой код/технология должна работать на сервере базы данных для отправки/получения данных?

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


person Himanshu Poddar    schedule 28.11.2019    source источник
comment
Как вы думаете, зачем вам нужен какой-то код/технология? Просто поместите адрес сервера БД в настройки БАЗ ДАННЫХ.   -  person Daniel Roseman    schedule 28.11.2019
comment
И я не вижу, что это за третья машина. У вас есть одна машина, которая является сервером базы данных, а другая — веб-сервером; какой третий?   -  person Daniel Roseman    schedule 28.11.2019
comment
@DanielRoseman Я имел в виду, что у меня есть 2 экземпляра сервера, на каждом из которых работает мой веб-сайт django, но я хочу, чтобы они оба подключались к одной и той же базе данных, работающей на моей третьей машине, которая также является экземпляром машины. Мой вопрос в том, как я могу добиться этого, потому что я никогда не работал над распределенной системой. Итак, как я могу подключить оба, а затем реализовать балансировщики нагрузки.   -  person Himanshu Poddar    schedule 28.11.2019
comment
Как я уже сказал, просто поместите адрес машины db в настройки DATABASES.   -  person Daniel Roseman    schedule 28.11.2019
comment
@DanielRoseman Реализована ли централизованная база данных только с использованием этой концепции?   -  person Himanshu Poddar    schedule 28.11.2019
comment
Я не понимаю, что это значит.   -  person Daniel Roseman    schedule 28.11.2019
comment
Я имею в виду, что у нас есть несколько серверов, и каждый сервер подключен друг к другу, так что запрос поступает и может быть направлен на любой сервер. Как мы это реализуем. Я имею в виду, обрабатывается ли это балансировщиками нагрузки. Направлен ли запрос, который приходит для веб-сайта, на любой из серверов, реализованных с использованием балансировщиков нагрузки. Тогда как он узнает о списке компьютеров, которые в настоящее время обслуживают мой сайт?   -  person Himanshu Poddar    schedule 28.11.2019
comment
Похоже, это вообще не имеет ничего общего с вашим вопросом. Но да, конечно, этим занимается балансировщик нагрузки; то, как он узнает о машинах, либо потому, что вы сообщаете ему, либо потому, что у вас есть какой-то механизм обнаружения служб. Но, опять же, это, кажется, совершенно выходит за рамки этого вопроса.   -  person Daniel Roseman    schedule 28.11.2019
comment
Я студент бакалавриата в Индии, я не понимаю концепцию системного проектирования, пока не реализую все это самостоятельно. Но так как у меня недостаточно денег и ресурсов, я не могу разработать собственную распределенную вычислительную систему. Итак, я пытаюсь реализовать концепцию, используя машины с линодом и нанодом и хранилище amazon s3.   -  person Himanshu Poddar    schedule 28.11.2019
comment
@DanielRoseman мой первоначальный вопрос заключался в том, зачем нам несколько баз данных (обслуживающих одни и те же данные), тогда как у нас может быть одна база данных, которая может хранить все и обслуживать запросы с использованием сервера базы данных.   -  person Himanshu Poddar    schedule 28.11.2019
comment
Никто не сказал, что мы сделали. Как я и Акаш неоднократно говорили, в моем случае вы просто указываете адрес общего сервера БД в настройках БАЗ ДАННЫХ.   -  person Daniel Roseman    schedule 28.11.2019
comment
@DanielRoseman Я не нахожу много хороших ресурсов для подробного изучения дизайна системы в Интернете. Не могли бы вы предложить несколько онлайн-уроков и курсов?   -  person Himanshu Poddar    schedule 28.11.2019


Ответы (1)


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

person Akash Sundaresh    schedule 28.11.2019