[Erlang] балансировка нагрузки: pool или что-то другое?
От: dmz Россия  
Дата: 25.02.08 15:37
Оценка:
Привет,

После чтения мануалов я так и не понял, как сделать так, что бы OTP-приложение работало на
кластере из нескольких узлов. В мане примеров нет, поиск тоже ничего внятного не находит.

Вообще все что я знаю об эрланге наводит на мысли, что любое приложение таким образом запустить можно, при этом — не трогая его код. Но вот как — что-то непонятно пока.
Re: [Erlang] балансировка нагрузки: pool или что-то другое?
От: kerch  
Дата: 29.02.08 08:55
Оценка:
dmz>После чтения мануалов я так и не понял, как сделать так, что бы OTP-приложение работало на
dmz>кластере из нескольких узлов. В мане примеров нет, поиск тоже ничего внятного не находит.

dmz>Вообще все что я знаю об эрланге наводит на мысли, что любое приложение таким образом запустить можно, при этом — не трогая его код.

насколько я знаю эрланг, это не так. Если ты не думал о кластере, когда писал код, на кластере ты его не запустишь.
НО, немного изменить код так, что бы он работал на кластере, займет очень мало времени. Хотя, конечно, от приложения зависит, но, имхо, в большинстве случаев это так.
Re[2]: [Erlang] балансировка нагрузки: pool или что-то друго
От: ZveN  
Дата: 14.06.08 21:14
Оценка:
Здравствуйте, kerch, Вы писали:


dmz>>После чтения мануалов я так и не понял, как сделать так, что бы OTP-приложение работало на

dmz>>кластере из нескольких узлов. В мане примеров нет, поиск тоже ничего внятного не находит.

dmz>>Вообще все что я знаю об эрланге наводит на мысли, что любое приложение таким образом запустить можно, при этом — не трогая его код.

K>насколько я знаю эрланг, это не так. Если ты не думал о кластере, когда писал код, на кластере ты его не запустишь.
K>НО, немного изменить код так, что бы он работал на кластере, займет очень мало времени. Хотя, конечно, от приложения зависит, но, имхо, в большинстве случаев это так.

Вот бы где еще пример найти. Как вообще строить/разворачивать систему которая при отключении питания или сгорания одного из серверов продолжает работать на другом?
Re[3]: [Erlang] балансировка нагрузки: pool или что-то друго
От: Gaperton http://gaperton.livejournal.com
Дата: 16.06.08 20:30
Оценка:
Здравствуйте, ZveN, Вы писали:

ZN>Вот бы где еще пример найти. Как вообще строить/разворачивать систему которая при отключении питания или сгорания одного из серверов продолжает работать на другом?


http://www.sics.se/~joe/tutorials/robust_server/robust_server.html

We want to make a bank server. The bank server models the behaviour of a real bank. You can deposit money with the bank, query the status of your account and take money out of your account.

Banks, being suspicious by nature do not let you take out more money than you have in your account.

Banks are worried about security and like to offer round-the-clock services. If one of their computer fails they still like to serve their customers. In the event of a failure they like everything to work as if the failure had not occurred. In particular even of a failure they do not want you to remove more money from you account than you have deposited ...

Re[4]: [Erlang] балансировка нагрузки: pool или что-то друго
От: cadet354 Россия
Дата: 17.06.08 07:16
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Здравствуйте, ZveN, Вы писали:


ZN>>Вот бы где еще пример найти. Как вообще строить/разворачивать систему которая при отключении питания или сгорания одного из серверов продолжает работать на другом?


G>http://www.sics.se/~joe/tutorials/robust_server/robust_server.html


а если появится 3-й сервер, появится wait_reply3 и robust_rpc_try_again_3 ?
ИМНО как-то не красиво...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: [Erlang] балансировка нагрузки: pool или что-то друго
От: Gaperton http://gaperton.livejournal.com
Дата: 17.06.08 09:01
Оценка:
Здравствуйте, cadet354, Вы писали:

ZN>>>Вот бы где еще пример найти. Как вообще строить/разворачивать систему которая при отключении питания или сгорания одного из серверов продолжает работать на другом?


G>>http://www.sics.se/~joe/tutorials/robust_server/robust_server.html


C>а если появится 3-й сервер, появится wait_reply3 и robust_rpc_try_again_3 ?

C>ИМНО как-то не красиво...

Что мешает тупо делать распределенные транзакции через мнезию, фиксируя состояние?
Re[6]: [Erlang] балансировка нагрузки: pool или что-то друго
От: cadet354 Россия
Дата: 17.06.08 09:54
Оценка:
Здравствуйте, Gaperton, Вы писали:


G>Что мешает тупо делать распределенные транзакции через мнезию, фиксируя состояние?

мне не понравилось решение на клиенте,
что-то вроде прокси с балансировкой было б лучшим решением, видно это выходило за рамки tutorial.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: [Erlang] балансировка нагрузки: pool или что-то друго
От: Gaperton http://gaperton.livejournal.com
Дата: 18.06.08 08:14
Оценка:
Здравствуйте, cadet354, Вы писали:

G>>Что мешает тупо делать распределенные транзакции через мнезию, фиксируя состояние?

C>мне не понравилось решение на клиенте,
C>что-то вроде прокси с балансировкой было б лучшим решением, видно это выходило за рамки tutorial.

IP-телефоны (SIP) используют для балансировки решение на клиенте, и DNS SRV record, чтобы получить список серверов. И ничего, все отлично. Добалансировать нагрузку ты всегда потом сможешь, перекинув клиента на другой сервер.

Можно ввести и прокси, но надо позаботится, чтобы он не стал single point of failure. Это действительно уже другой вопрос, слабо относящийся к fault tolerance.
Re[8]: [Erlang] балансировка нагрузки: pool или что-то друго
От: Gaperton http://gaperton.livejournal.com
Дата: 19.06.08 15:17
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Можно ввести и прокси, но надо позаботится, чтобы он не стал single point of failure. Это действительно уже другой вопрос, слабо относящийся к fault tolerance.


Да, здесь я отжог. Я имел в виду — вопрос балансировки нагрузки не относится к обеспечению fault tolerance основного приложения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.