Кто-нибудь сделал порт из приложения на монолитном сервере в службу, и какие скрытые «ошибки» мне нужно знать, чтобы точно оценить стоимость этого?
У нас есть существующее однопоточное монолитное серверное приложение, написанное на Java. Он работает хорошо, как он сидит, но мы хотим начать расширять его. Расширение его будет означать, что его будет использовать гораздо больше людей, и сервер не сможет справиться с дополнительной нагрузкой. В эту базу кода были вложены значительные средства в разработку, а база кода велика. Стоимость многопоточности на сервере была бы сумасшедшей.
У меня возникла мысль о том, чтобы разбить его на логические сервисные компоненты, удалить их из приложения, разместить их на Axis2 или Tomcat и поместить их в облако SOA.
Я написал много сервисов для Axis2, много работал с облаками SOA и написал несколько монолитных серверов, и это кажется прямым. Устраните как можно больше общего состояния - затем перенесите это в какую-нибудь БД, извлеките логические сервисы из монолитного приложения, повторите до завершения.
Но у меня плохое предчувствие, что дьявол кроется в деталях, и я уверен, что я не первый человек, у которого появилась такая идея.