![]() |
|
Модераторы: LSD, AntonSaburov Страницы: (8) Все « Первая ... 2 3 [4] 5 6 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
По поводу расшаривания объектов, есть предложение посмотреть в сторону JMX (Java Management Extensions). Я с этой технологией не работал, но на сколько знаю, она позволяет одной JVM подключиться к другой и, грубо говоря, дернуть метод у объекта. В целом JMX создавалась как средство мониторинга Java приложений.
|
|||
|
||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
Банальный вопрос а зачем? Ещё хуже. Зачем делать так же как на с? Язык определяет мышление. Нельзя на одном писать средствами другого. Я считаю, с таким подходом, даже если что-то и получится, то будет держаться только на Вашем интузиазме. А приемнику Вы окажите медвежью услугу. -------------------- упс! |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Как средство управления с универсальным интерфейсом. -------------------- ![]() ![]() |
|||
|
||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
-------------------- упс! |
|||
|
||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
около 400к данных в секунду приходит?
-------------------- упс! |
|||
|
||||
| Prol |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 11.1.2008 Где: Кыев, Украина Репутация: нет Всего: нет |
Это суммарный входящий/исходящий. Пропорция примерно 100к входящего на 300к исходящего от приложения в секунду. Добавлено через 11 минут и 40 секунд
Как зачем? Затем, чтобы обеспечить сохранность данных, разделяемых двумя приложениями, при любых практически сбоях одного из приложений. :о) |
||||||
|
|||||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Большинство из БД могут удовлетворить этим требованиям. Например Apache Derby (Java DB) прекрастно с этим справится. Просто настройте 2 приложения работать с одной БД. Более того, при работе с БД, вы имеете возможность сохранить данные даже при крахе обоих приложений. Хотя, честное слово, ума не приложу, в чем может быть причина, что одно из приложений упадет... |
||||
|
|||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Ну как раз тут-то у меня сомнений нет, redundancy обеспечивать нужно. Вот только что толку от двух экземпляров программ, запущенных на одной машине, мне неясно. Умрет диск - и до свиданья. Так что лучше обеспечивать беперебойность кластеризацией (базы, или application-серверов, или каких-то самописных программ). -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| COVD |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
праивильный ответ
|
||||
|
|||||
| Prol |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 11.1.2008 Где: Кыев, Украина Репутация: нет Всего: нет |
Ок, я понял, что не могу доходчиво донести. Попробую по другому.
Фаза инициализации более трёх миллионов объектов в памяти занимает более 15 минут. Они читаются из БД и размещаются в памяти одним приложением. В случае, если ОС снимет это приложение, то время повторного перезапуска займёт те же более 15 минут, каковое время недопустимо по требованию заказчика. Поэтому я запускаю две копии одного приложения. Первая копия при первом старте тратит 15 минут на чтение и размещение объектов в shared memory памяти и падает в sleep. После того, как я вижу, что первое приложение отинитилось, то запускаю вторую копию этого же приложения. Поскольку оба приложения используют shared memory, то второе приложение (оно точно такое же по коду как и первое) получает уже отиниченную память со всеми тремя миллионами объектами и приступает к отработке очереди сообщений всего за одну секунду. В случае сбоя в приложении, ОС снимает именно то приложение, в контексте которого произошёл сбой, то есть второе, потому что именно оно что-то делает, а первое остаётся в слипе, сохраня всю память со всеми тремя миллионами объектов в текущем состоянии обработки. Рестартовав второе приложение за одну секунду, оно продолжает работать, откатив последнюю транзакцию. Можно ли так сделать на Java? Добавлено через 3 минуты и 32 секунды
Если умрёт диск (это тоже неважно, потому что диск не используется), ОС снимет второе приложение по сбою ввода-вывода, но первое приложение останется в памяти и сохранит все данные :о) |
|||
|
||||
| Prol |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 11.1.2008 Где: Кыев, Украина Репутация: нет Всего: нет |
Грубо говоря, можно ли примерно так? :
Это сообщение отредактировал(а) Prol - 15.1.2008, 04:16 |
|||
|
||||
| intr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 18.12.2005 Репутация: 1 Всего: 2 |
Дальше небольшой
Помню пришлось дорабатывать код написанный бывшими PHPшниками, это был их первый большой проект на Java. Таких извращений в коде я больше никогда не видел p/s а оно надо переписывать с си на Java? Ведь работает и устраивает заказчика. А если код стабилен то проще найти нормального сишника! p/s/s А сборка мусора это действительно большие грабли для реалтаймовых систем --------------------
Исследователь бытия и по совместительству Java-developer |
|||
|
||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
А может ли волк понять овцу? И может ли овца стать волком? Задачи надо решать средствами языка, иначе будет.. ну что-то на 5 точке ;) Те я хочу сказать, что простой переделкой кода тут не обойдёшься. Надо переделывать архитектуру системы с точки зрения java и как это на java делается. Готовы Вы на это пойти, или нет - это Вам решать. Ну и есть принцип. Работает, не трожь! Это сообщение отредактировал(а) serger - 15.1.2008, 06:27 -------------------- упс! |
|||
|
||||
| Prol |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 11.1.2008 Где: Кыев, Украина Репутация: нет Всего: нет |
Не такие уж и большие грабли - этот garbage collector. По крайней мере его можно заставить убирать мусор не когда ему требуется, а когда нам требуется.
|
||||
|
|||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
это не так
Это лишь уведомление о необходимости - jvm САМА решает когда запускать. -------------------- упс! |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |