|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
Несколько серверов в одной программе03.03.2017, 21:20. Показов 3864. Ответов 17
Метки нет (Все метки)
Гуру, подскажите, Spring на такое способен?
Задумка: сервер на :8000 для клиентов (обычный http://) сервер на :9000 для админки и отладки - включается по надобности и может быть легко отрезоано фаерволом внешним сетям сервер с socket.io (обычный сокет) сервер с https:// как закрытое зеркало для 8000, авторизация, закрытые данные, возможно телеграмм бот и отдельные сервисы Основная мысль - все эти "каналы" связаны, и работают с общими данными. Не хочется их "нарезать на программы" и придумывать механизмы общения этих программ.
0
|
|
| 03.03.2017, 21:20 | |
|
Ответы с готовыми решениями:
17
Как прописать 12 if-ов в одной программе ? MVC, несколько моделей на одной view Несколько серверов на одной машине |
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 04.03.2017, 00:38 [ТС] | ||
|
В РНР можно было общий сайт(папку скриптов) натравить на 2 сайта (http+https). В node тоже вроде в одном скрипте можно много "серверов" поднять разного типа с общими глобальными переменными. В спринге не смог нагуглить... порты менять могу, но только один. А томкэт (в Вашей ссылке) похоже просто выполняет роль переадресатора/фаервола. Ладно... как бы Вы "нарезали" подобную программу на Spring? Чтобы не сильно потерять скорость и функционал. (я так понимаю что придется уже "межпрограмные" протоколы использовать - например обмен json)
0
|
||
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
||
| 04.03.2017, 01:17 | ||
|
0
|
||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
||||||
| 04.03.2017, 02:13 | ||||||
|
Добавлено через 2 минуты Не по теме: Вот что бывает, когда PHP/JS-кодеры дорываются до бэк-энда…
0
|
||||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|||
| 04.03.2017, 02:44 [ТС] | |||
|
Ну если никак... тогда подскажите какими техниками java проэкты могут "общаться" друг с другом? Что гуглить? И как подобное на сервере выглядит - основной проект и подчиненные или блоки загружаемые списком и "обнаруживающие" друг-дружку? Это делается той-же командой java...jar/war или нужен сервер вроде томкэта? Не по теме:
0
|
|||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
|||
| 04.03.2017, 03:27 | |||
|
0
|
|||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 04.03.2017, 09:34 | |
|
Tester64, вы упорно пытаетесь впихнуть в джаву методологии пхп. Не стоит этого делать. На джаве нужно использовать подходы, которые вам написали выше. С одной стороны вы говорите "простой сайт на пару страниц", с другой городите тут какую то несуразную архитетуру.
Для пары сотен пользователей можете в БД хранить вообще что угодно и кеш не использовать. Все эти оптимизации если и будут нужны вам, то позже.
0
|
|
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||||
| 04.03.2017, 12:43 [ТС] | ||||
|
Ну если никак... тогда подскажите какими техниками java проэкты могут "общаться" друг с другом? Что гуглить? И как подобное на сервере выглядит - основной проект и подчиненные или блоки загружаемые списком и "обнаруживающие" друг-дружку? Это делается той-же командой java...jar/war или нужен сервер вроде томкэта?
0
|
||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 04.03.2017, 13:11 | |
|
Tester64, у вас каша в голове. Не нужно вам несколько проетэктов. Нужен только один. Jar это тот же томкэт только встроенный. Если очень хочется мудрить гуглите micro services architecture. Однако еще раз скажу это не для вашего случая.
0
|
|
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 04.03.2017, 21:41 [ТС] | ||
|
Хочешь заходишь на http хочешь на https. Что-то доступно только на https. Еще мой сервер(сайт) предоставляет сокет сервер для чата и пуш уведомления о новых сообщениях. Добавляешь "рассылку"/"новость" через http/https, а сокет нужным людям шлет сообщение для показа в маленькой иконке в уголке страницы ("непрочитанные новости"). В идеале не один сервер заносит "заказ" в базу, а другой ("сокетный") находит время чтобы их прочитать и разослать а почти мгновенно - через долю секунды - получив прямой приказ от сервера "начни рассылку", а не чтение "заявки". Итог - ныжны сервер http, https и сокет! в идеале запасной http для админки на другом порте. можно 3-4 программы, можно в одной (не знаю как). Если 3 то дожно быть "тесное" общение программ. Это ТОЧНО микросервисы? Пожалуйста не пускайте меня по "ложному следу". Микросервис может быть полноценным веб сервером? а сокет сервером? Нашел кучу статей на тему "стоит или нет использовать микросервисы и как нарезать монолитную программу на сервисы". Но ведь похоже в "монолите" изначально запрещено 2 порта и http+socket.io.
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 04.03.2017, 22:47 | |
|
Я устал пытаться донести до вас информацию. Вы похоже не способны её воспринимать. Хотите делать 3 сервера, делайте хоть 10. Я написал что вам достаточно одного. По сто раз повторять одно и тоже желания нет. Удачи.
0
|
|
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 04.03.2017, 23:34 [ТС] | ||
|
Может мы говорим на разных терминах??? Сервер - ПРОГРАММА обрабатывающая порт по протоколу, а не отдельный компьютер. Вопрос лишь в том что все это должно быть в одном проекте и хитро настроено или 3 проекта, которые надо как-то связать и запустить одновременно? Или это 3 проекта которые надо собрать в единый jar/war файл? Перечитайте первое сообщение и ответьте на него, а не "пытайтесь доносить информацию". Возможно ли все перечисленное удержать/настроить в ОДНОМ проекте спринга или их надо "нарезать ради надежности и масштабирования". и не надо убеждать меня что сокет мне не нужен! это ТЗ от заказчика! Сокет для чата и пуш уведомлений в открытые страницы о "новостях для текущего клиента" без ежесекундных опросов сервера (на ноде такое писал - успешно работало - теперь надо на спринге).
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||||
| 05.03.2017, 00:45 | ||||
|
Два порта вам точно ненужно. Веб сайты сидят на 80 порту. Админка просто вешается на /admin Тоже самое с http/https. Если вам нужен https, делайте его на весь свой сайт. Всякие там "отрезания" частей сайта (тоже непонятно зачем вам нужно) решаются как писали выше через nginx или apache httpd
1
|
||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|||
| 05.03.2017, 02:40 [ТС] | |||
|
Неужели эту задачу на ЧИСТОМ спринге не решить???? Без томкэта или nginx для нарезки доступов и "танцев с бубном" вокруг портов? Ответьте ДА или НЕТ! Чтобы я не тратил недели на то как это все-таки сделать стандартными средствами спринга и не удивлялся что работает "либо-либо"!
0
|
|||
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 05.03.2017, 10:06 | |
Сообщение было отмечено Tester64 как решение
Решение
Чистый спринг ничего не знает про http/https и порты. Если ты говоришь про spring boot, то так и пиши - а то глаза режет.
Про одновременно: внутри spring boot есть встроенный сервер. Чтобы одновременно был запуск на нескольких портах, надо создать свой листенер. К примеру в пункте 73.9 как поднять два коннектора разом. Веб-сокеты работают через эти же коннекторы.
1
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 05.03.2017, 10:09 | ||
|
Tester64, хватит истерить уже. Вы по ссылкам ходили которые я давал?
Насчет чистого спринга выше сказали. Спринг это фреймворк а не сервер.
0
|
||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|||||
| 05.03.2017, 19:10 [ТС] | |||||
|
Думаю хватит! Теперь буду вычитывать... опыт - это дело наживное!!! ВОПРОС ЗАКРЫВАЮ!
0
|
|||||
| 05.03.2017, 19:10 | |
|
Помогаю со студенческими работами здесь
18
Несколько серверов на одной машине Несколько классов в одной программе Несколько функций в одной программе
Подскажите, как сделать несколько итераций в одной программе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|