приложение весенней загрузки в кластере

Я разрабатываю приложение для весенней загрузки.

Поскольку весенняя загрузка создала файл .jar для приложения. Я хочу кластеризовать это конкретное приложение на другом сервере. Допустим, я создал файл jar и запустил проект, после чего он должен работать в режиме кластера из определенного количества серверов и должен иметь возможность обслуживать потребности конечных пользователей.

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

Причина кластеризации заключается в том, что если какой-либо из серверов выйдет из строя в будущем, конечный пользователь все равно сможет получить доступ к веб-сервисам с другого сервера. Но я не знаю, как сделать его кластерным.

Может ли кто-нибудь дать мне представление об этом?


person mahendra kawde    schedule 05.10.2015    source источник


Ответы (4)


Если вы хотите сгруппировать его, вы просто запускаете приложение Spring Boot на нескольких серверах (конечно, JAR должен присутствовать на этих серверах, иначе вы не сможете его запустить). Затем вы поместите балансировщик нагрузки перед серверами приложений для распределения нагрузки.

person dunni    schedule 05.10.2015
comment
Эй, Данни, спасибо за ваш ответ. Не могли бы вы поделиться любым таким документом, объясняющим этот процесс. - person mahendra kawde; 05.10.2015
comment
projects.spring.io/spring-cloud en.wikipedia.org/wiki/Load_balancing_(computing) nginx.org/en/docs/http/load_balancing.html - person dunni; 05.10.2015
comment
Упоминается так много проектов, так что, по вашему мнению, какой из них соответствует моему требованию. - person mahendra kawde; 05.10.2015
comment
Вы не указали свои требования подробно, поэтому на это невозможно ответить. Также эта проблема выходит за рамки этого сайта. Если у вас есть конкретная проблема с вашим кодом, вы можете попросить об этом. Однако этот сайт не предназначен для общих вопросов. - person dunni; 05.10.2015
comment
На самом деле я просто хочу кластеризовать приложение для обеспечения высокой доступности. - person mahendra kawde; 05.10.2015
comment
Как работает балансировка нагрузки, когда дело доходит до приложения весенней загрузки? - person mahendra kawde; 06.10.2015
comment
Обычному балансировщику нагрузки все равно, какой тип приложения. Это не отличается от сценария развертывания с серверами приложений, такими как WebSphere или JBoss. Балансировщик нагрузки просто распространяет запросы на запущенные экземпляры приложения. - person dunni; 06.10.2015
comment
Я погуглил и обнаружил, что есть некоторые API Netflix, такие как Eureka, Hystrix, Ribbon и archaius. Но не могу найти, как эти условия помогают распределять запросы и балансировать нагрузку, одновременно обеспечивая высокую надежность и доступность. - person mahendra kawde; 06.10.2015

Если все службы, которые вы собираетесь предоставить, не имеют состояния, поэтому вам нужно использовать балансировщик нагрузки только перед вашими узлами, например. apache или nginx, если ваши службы сохраняют состояние «хранить любое состояние [сеанс, хранить данные в db]», поэтому вам нужно использовать распределенный кеш или сетку данных в памяти:

  1. для сеанса вы можете использовать проект spring-session, который может использовать рельсы для хранения сеансов.
  2. для хранения данных в БД вам необходимо самостоятельно кластеризовать БД и использовать распределенный кеш над уровнем БД, например Hazelcast.
person Bassem Reda Zohdy    schedule 17.02.2016
comment
Пожалуйста, поделитесь ссылкой на git hub для аналогичной архитектуры. - person Kumar Abhishek; 21.08.2018

Посмотрите на весеннее облако, они использовали некоторое netflix открытое программное обеспечение вместе с амазонками для создания 12-факторных приложений для микросервисов. В идеале вам понадобится балансировщик нагрузки, сервисный реестр, который может помочь вам достичь нескольких экземпляров весенней загрузки. Я считаю, что вам нужно добавить зависимость под названием eureka. Проверьте ссылку ниже

Весеннее облако

person jtkSource    schedule 29.11.2016

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

person 王子1986    schedule 10.04.2017