Как Вы обновляете свой Java приложение EE в производстве?

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

Проблемы автоматического согласования трудно найти, особенно когда люди сеть обработки, серверы, приложения и базы данных являются четырьмя различными командами. Обычно, последние два проведут много времени, идя назад и вперед, обвиняя друг друга в плохой производительности и лгущий об измерениях, и иногда ударять ее людям сервера, которые должным образом посмотрят на вывод "вершины" и скажут, что все соглашается с сервером.

Это продолжается, пока вопрос не наращивает до такой степени, когда "эксперта" (на самом деле, кто-то, кто универсал и таким образом понимает сети, аппаратные средства, операционные системы, базы данных, платформы и приложения) присвоен проблеме и находит проблему в течение пяти или десяти минут.

Так, мое собственное эмпирическое правило, каждый раз, когда у меня есть способность делать с этим что-то, состоит в том, чтобы ВСЕГДА устанавливать фиксированные скорости на рабочих серверах, переключателях и маршрутизаторах. Нерабочие серверы также, если они являются достаточно отдельными для людей, которые используют его не, имеют корневой доступ в нем.

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

Другая точка, которая может быть полезной, безотносительно выбора, который Вы делаете относительно автоматического согласования, должна контролировать вещь. Просто настройте Nagios или what-have-you для слежения за состоянием любого важного порта. Вы уже контролируете то сетевое оборудование так или иначе, не так ли?

1
задан 26 April 2011 в 16:13
2 ответа

Сильно зависит от приложения.

Большинство приложений J2EE работает на фермах кластера сервера, где основное обновление приложений может быть сделано с прокручивающимся обновлением. Т.е. выньте один сервер из фермы подсистемы балансировки нагрузки, ожидайте ее работы, чтобы закончить, обновить развертывание EAR, протестировать его, отложить его в lb ферме, вынуть следующее и повторное. Можно потребовать, чтобы отключение электричества сделало обновления схемы базы данных, только удостоверилось непротиворечивость данных. Обновления программного обеспечения базы данных могут обычно делаться без главного отключения электричества, Oracle является одним хорошим примером.

0
ответ дан 4 December 2019 в 10:26

в weblogic я использую wlst (Python на Java - jython), чтобы сделать развертывание. можно сделать любую логику, которую Вы хотите с ним. сложная часть всего развертывания - когда Вы делаете обновление схемы базы данных..., которое не является действительно проблемой Java, но она влияет на системы Java.

на glassfish и коте более просто... tar установка каталога новый экземпляр со старыми конфигурациями, и затем разверните войну, файл уха.

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

0
ответ дан 4 December 2019 в 10:26

Теги

Похожие вопросы