LINUX.ORG.RU

Как мне написать SAAS?

 , ,


1

2

Есть программа которая работает как SPA (Single Page Web Application). Бекенд - java servlet, который запускается с помощью jetty и пишет результаты своей работы с помощью hibernate в базу данных. Теперь стоит задача сделать из этого SAAS - т.е. сайт где клиент заводит личный кабинет, проплачивает, и получает доступ к этому приложению. На чем это проще всего написать? Нужно чтобы если приложение падает у одного клиента, другие этого не замечали. Как сделать? Пускать по одному jetty на каждого клиента или есть какие-то более другие решения? Помогите, первый раз такое делаю не в зуб ногой во всем этом

★★

либо ты в процессе разработки своего приложения закладываешь возможности multitenant (и потом решаешь проблемы масштабирования при возросшей нагрузке по мере роста клиентской базы), либо ты по одному инстансу на клиента поднимаешь, что несколько, кхм, «отсрачивает» решение проблем с масштабированием, но не решает их. :)

Как ты будешь обслуживать зоопарк инстансов - отдельный вопрос.

aol ★★★★★
()
Ответ на: комментарий от Jopich1

форумом ошибся - тебе в Job

по братски подсказал бы какую технологию использовать, написать я сам напишу

mio ★★
() автор топика
Ответ на: комментарий от mio

ту которую лучше знаешь - на той и пиши. А так если правильно - то на чем написано основное приложение - на том и пиши.

Jopich1
()
Ответ на: комментарий от aol

либо ты по одному инстансу на клиента поднимаешь, что несколько, кхм, «отсрачивает» решение проблем с масштабированием, но не решает их

а почему нет? я лично больше чем на 100 - 200 клиентов не рассчитываю. если тысячи будут то уж буду думать, там уже с такими доходами придумаю что нибудь. вопрос как все это сделать чтобы по сервлету на клиента цеплять и это все работало

mio ★★
() автор топика
Ответ на: комментарий от Jopich1

ту которую лучше знаешь - на той и пиши

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

mio ★★
() автор топика
Ответ на: комментарий от mio

а ну если на таком уровне - то docker тебе в помощь. Тут и без явы обойтись можно. Т е делаешь шаблон-докер и даешь по докеру каждому пользователю.

Т е тебе нужно искать готовый менеджер для работы с dockerами и пользователями.

вот отсюда и начинай https://docs.docker.com/v17.12/datacenter/ucp/2.2/guides/

А так ищешь в гугле по словам «docker management panel»

Jopich1
()
Последнее исправление: Jopich1 (всего исправлений: 5)
Ответ на: комментарий от Jopich1

Ага, только этот гайд придется клиенту читать, ведь предполагается самообслуживание.

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

anonymous
()
Ответ на: комментарий от anonymous

ну если клиентов мало то платежи можно принимать ( наверняка есть куча panel для этого ) и по почте слать логин/пароль. А уже потом ТС будет вручную давать доступ к докерам. Но java тут точно не причем.

Jopich1
()
Последнее исправление: Jopich1 (всего исправлений: 2)
Ответ на: комментарий от aol

в мультитенантных приложениях ничего сложно нет, они как обычные только проверяешь значение поля Host и в зависимости от него выбираешь рабочую базу

tz4678 ★★
()

ты какую-то хрень написал.

tz4678 ★★
()
Ответ на: комментарий от tz4678

Я где-то написал, что это сложно? Просто надо это иметь в виду в процессе разработки, а не «я сделяль. Как теперь саас?!»

aol ★★★★★
()
Ответ на: комментарий от aol

а зачем для каждого пользователя новый процесс запускать?

tz4678 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.