|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
||||||
Набор технологий30.04.2017, 14:18. Показов 1263. Ответов 14
Метки нет (Все метки)
Добрый день, посоветуйте пли-и-из новичку. (хотел назвать тему "набор вопросов", но форум запретил)
Есть пара задумок, теперь подбираю технологии и выясняю возможно ли это... и как это делают ОБЫЧНО (по "правилам")? 1) Есть (пишется) программа на спринге. Хочу запустить на сервере несколько версий (на разные порты) и "переключать" их в один клик. Максимально быстро. Не по теме: Задумка пошла из того что сервер часто обновляется/исправляется/допиливается и надо выкладывать свежие версии на сервер. Запуск спринга не мгновенный (10-20 секунд на "пустышке" в 27 мб, а что будет при развитии - страшно представить), а большой разрыв во времени СИЛЬНО помешает клиентам (у клиентов программа сидит, а не человек). Я вижу решением поставить Apache или Nginx и настроить в нем "ретранслятор" на определенный URL адрес. Быстрая замена ретранслятора и перезагрузка сервера (в Nginx) вроде должна решить задачу. Я прав??? Или есть другое, более "грамотное" решение? Какой из серверов (Apache, Nginx или какой другой) лучше всего подойдут для подобной задачи? Можно ли вообще перебросить клиента на c www.my.com/1.zip на www.my.com:3002/1.zip без обработки на стороне клиента? На уровне протоколов? Как это сделать на js в сайте я знаю, но если клиенту надо скачать файл с сайта (через что-нибудь вроде curl), то (желательно) надо дать ему докачать (со старой версии программы), а не разорвать связь перегрузив Nginx. 2) Можно ли (и как называется технология или хотя-бы "слово для гугления") на спринге создавать динамические URL в определенной "папке"? Например www.my.com/users/user123/foto192301923#asdf где все что после /users/* уже обрабатывается в коде java, а не в тегах спринга! То есть задать в контроллере "слушателя" на что-то вроде "/users/*"! Я (до этого) писал лишь простые контролеры вроде:
Не по теме: Почитал про ДДос атаки (знакомые на неделю сайт выключали чтобы простой сервер с другими хостингами не "умер") и понял что идеальным решением будет выдавать каждому юзеру свой URL после прохождения авторизации на первой (почти) статической странице. 3) (я уже задавал вопрос, и так и не получил нормального ответа - попробую еще раз - мне это ОЧЕНЬ важно) Как сделать ДВЕ Spring-программы и наладить "общение" между ними? Есть ли готовые решения для этого? Как это ОБЫЧНО делают? Рест-общение? (полноценное API писать?) Сокет-общение? Может есть какие-то Java-технологии с "общей памятью"? Или можно одну из программ использовать как подключаему "библиотеку" (что-то вроде DLL или OLE-серверов в Windows)??? Не по теме: Сейчас задумал написать чат-бота для телеграмм в виде отдельной программы, которая вполне автономна и удерживает связь с Телеграмм-сервером. Но когда запущена "вторая" программа, то она перехватывает управление обработкой запросов и генерацией ответов на себя. Вторую можно в любой момент выключить, обновить, включить или просто перегрузить... Первая должна всегда быть онлайн.
0
|
||||||
| 30.04.2017, 14:18 | |
|
Ответы с готовыми решениями:
14
Многообразие web-технологий Изучение технологий реализующих представление Основы web-технологий |
|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
||
| 01.05.2017, 19:35 [ТС] | ||
|
У меня стадия "проектирования" проекта! "Работа с бумажкой". Когда составлю общий план действий - буду изучать определенные технологии в том числе и по Вашей ссылке... Например в инете не встречал примеров реализации @RequestMapping(value = {"/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/"} где параметры пути передаются арреем/мапой, а не фиксированными именами. Я в спринг пришел (по веб-направлению) из РНР и Ноды(чистой, а не express), а там были "парсеры пути", а не жесткие фильтры. да и по 3) я уже много гуглю. Пока ничего работающего не нашел. Не посылай на ссылки! (ЕСЛИ САМ СТАЛКИВАЛСЯ) дай название технологии! 1) рест+свое API 2) сокеты+свое API 3) нечто готовое и стандартизированное в Spring (программы лежат рядом, в одной папочке! и прежде чем начать тупо писать, а потом переделывать я хочу сразу правильно спроектировать, а не все на примерах helloword изучить из туториалов, а потом выбирать) я спрашиваю ПРОФИ в Spring по конкретным вопросам! И мне нужны краткие ответы, а не ссылки на учебники! 2LeX Кликните здесь для просмотра всего текста
Не суди по активности "на этом форуме"! Я недавно сменил профиль(репутация >2000, больше 4х лет) вместе с новой работой/профессией! я не веб-разработчик, но теперь буду! но больше 15 лет опыта программистом на МНОГИХ языках (в основном базы данных и андроид). Один сложный сайт-визитка на PHP с нуля и одно сложное веб-API на нем-же. Работал с чужим админом с ограниченным доступом (доступ на сайт только через FTP). Опыта в линукс - нет (пару месяцев админил FreeBSD лет 15 назад), как и опыта настройки хостингов. У меня уже есть хостинг, я настроил там "LAMP", ftp, putty через OpenSSH и запустил свой первый проект на Spring (пара страниц с менюшкой и авторизацией на сессиях).
Если тебе кто-то задает ЗДЕСЬ вопрос, то он хочет получить ответы на СВОИ вопросы, а не общие ссылки на ОГРОМНЫЕ учебники или советы "подумать головой"
0
|
||
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
||||||||
| 02.05.2017, 21:42 | ||||||||
|
по первому пункту я тебе ответил: все что тебе надо - spring cloud platform, все о чем ты написал в 1 пункте там решено
по второму - это же очевидно что для получения значений из url надо задать паттерн парсинга и на каком бы то не было языке программирования то что ты хочешь не реализуется www.my.com/users?user=123&foto=192301923 тогда в контроллере что бы их получить тебе надо добавить параметр
по третьему: 1. rest + resttemplate 2. шина данных, это может быть amqp совместимый брокер или rabbitmq (я бы посоветовал именно его) 3. rmi я перечислил все в порядке простоты и удобства, третий - это вариант рабочий, но старый и тяжелый, почти никто не использует первый - легкий и простой, второй - похож на первый, только в плане rest у тебя есть синхронный запрос-ответ (работа с resttemplate), т.е. ты ждешь что ответит тебе другой компонент системы, во втором случае работа уже идет с message source, т.е. с асинхронным каналом в котором общение идет через события, т.е. по факту запроса ответ не ожидается
0
|
||||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||||||||||||
| 02.05.2017, 22:46 | ||||||||||||
|
Аннотация на уровне класса
1
|
||||||||||||
|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
|||
| 03.05.2017, 08:17 [ТС] | |||
|
речь идет о "мягком" процессе подмены программы целиком! и плавного отключения прошлой версии с возможностью дать ей завершить долгие обработки... вроде отдачи сгенерированного 1.zip в десятки мегабайт через слабый инет-канал. ...кстати... в РНР+nginx подобное работало!!! 3) спасибо! погуглю...
0
|
|||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 03.05.2017, 09:21 | ||
Сообщение было отмечено andyj как решение
РешениеДругой вариант если свервер поднимается достаточно быстро, можно средствами apache настроить таймаут побольше и тогда он будет держать подключения пока сервер перезагружают. У юзеров немного подтормозит, но ничего страшного не будет. Опять же сервер должен быть полностью stateless чтобы не потерять сессии при перезагрузке. Насчет того чтобы подождать окончания долгих операций это архитектура вашей программы и настройки HAProxy.
1
|
||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|||
| 03.05.2017, 09:31 | |||
|
0
|
|||
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
||||
| 03.05.2017, 09:31 | ||||
|
1
|
||||
|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
||
| 03.05.2017, 09:38 [ТС] | ||
|
0
|
||
|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
||
| 03.05.2017, 13:45 [ТС] | ||
|
если это ответ на 3) то мне не нужна технология динамической компиляции! (перечитайте вопрос) И "плагины" были мне нужны лишь как вариант общения двух НИЧЕМ НЕ СВЯЗАННЫХ программ более быстрый/нативный чем написание полноценного rest-api. Не по теме: Мне надо вызвать функции/метода в ЧУЖОЙ программе и получить результат с кучей параметров - желательно вообще сразу в класс/бин - без написания целого клиент-сервера с кучей защит от "внешнего" просмотра ссылок и с кучей "контроллеров" с полноценным "протоколом". Не по теме: Между новой 1С8 и MSSQL (недавно вычитал) есть "режим общей памяти" для повышения скорости на порядки - когда исключают необходимость каждый раз через сокет отправлять серверу запросы(на этом-же компе), получать таблицу с ответом и парсить ее. Я искал подобную технологию и в Java/Spring поднятую до уровня "корпоративного стандарта"(а не для собирания "на коленке" по Хабру). а если на 1) то перезагрузка частей кода не заменит "плавный переход на новую версию без перезагрузки программы". И LeX с KEKCoGEN уже не плохо объяснили необходимые технологии... (сейчас гуглю их)
0
|
||
|
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
|
||
| 03.05.2017, 17:47 [ТС] | ||
|
0
|
||
|
$ su
|
|
| 03.05.2017, 18:27 | |
|
Мы с вами на ты не переходили, будете хамить опущу карму еще ниже. То что вы не грамотны в этой области я уже понял, и кого мне слушать я сам разберусь, не я тут вопросы задаю. То что вам не нравится мой ответ/рекомендация называйте как хотите, никого кроме вас не волнует.
0
|
|
| 03.05.2017, 18:27 | |
|
Помогаю со студенческими работами здесь
15
Java и веб - стек технологий Аналогии технологий Java и .NET Информация о видеокарте посредством технологий Java Необходимый стек технологий для трудоустройства Хочу начать изучение серверных технологий Java Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|