Можно ли изменить конфигурацию тестового сервера в каждом отдельном микросервисном проекте? - PullRequest
0 голосов
/ 07 апреля 2020

Я занимаюсь разработкой ряда микросервисов, которые будут работать на Open Liberty. Я настроил тестовый сервер в своей среде Eclipse, который настроен на использование всех функций, требуемых всеми службами, над которыми я сейчас работаю.

Хотя это работает, это кажется сложным подходом, и это было бы хорошо протестировать каждый сервис в среде, которая очень похожа на целевой сервер. Службы могут отличаться набором необходимых им функций, а также необходимыми настройками JVM.

Каждая служба будет работать в своем собственном контейнере docker, а конфигурация docker определяется в каждом проекте.

Есть ли способ лучше протестировать эти службы без явной настройки нового сервера для каждой отдельной службы?

1 Ответ

0 голосов
/ 07 апреля 2020

Я не знаю ни одного способа сегментировать время выполнения Liberty (его функции) или jvm (для разных настроек jvm) для разных приложений, работающих в одном экземпляре Liberty.

Вы можете установить спецификацию приложения c переменных и извлекайте их с помощью MP Config, но это не то же самое, что настройки jvm и, конечно, не то же самое, что попытка сегментировать определенные c функции среды выполнения для конкретного c приложения.

Однако В общем, при тестировании я бы настоятельно рекомендовал максимально имитировать c вашу производственную среду. Так как вы планируете развертывание в docker, я бы делал то же самое локально при тестировании, и учитывая легковесный, компоновочный характер Liberty, маловероятно, что при этом вы будете сталкиваться с проблемами с ресурсами (вы должны включать функции только на каждый экземпляр Liberty, который используется вашим приложением для минимизации размера этого экземпляра). Этот подход является одним из больших преимуществ / преимуществ, предоставляемых контейнерами и Liberty.

Другими словами, даже если у вас может быть один экземпляр Liberty, сегментированный на приложение, я бы не рекомендовал его для тестирования, поскольку, поскольку вы сказал: «Было бы хорошо протестировать каждый сервис в среде, которая очень похожа на целевой сервер»

...