Починають з'являтись все цікавіші проекти з сфери інтеграції різних технологій.
це реалізація протоколу для JavaScript. Якщо поєднати цю бібілотеку з транспортною бібліотекою, наприклад , можна отримати клієнти на бровсері які беруть участь в обміні повідомлень з брокерами повідомлень.
Технологічно це близька до Comet подібних технологій. Просто вона більш складніша, в міру використання .
Використовуватись може наприклад в ігрових проектах, або системах з живими даними.
Приклад реалізації:
<script type="text/JavaScript">
Orbited.settings.port = 9000;
amqp_broker_port = 7000;
amqp_conn = amqp.Connection({host: 'localhost',
port: amqp_broker_port,
send_hook: function(msg) { // for debugging
append_msg('SENT', msg);
},
recive_hook: function(data) { // for debugging
append_msg('RECV', data);
}
});
amqp_conn.start();
// You should have your server generate a UUID since browser methods
// are unreliable at best
session = amqp_conn.create_session('not_a_great_id' + (new Date().getTime() + Math.random()));
var fedoraproject = "org.fedoraproject-" + session.name;
session.Queue('declare', {queue:fedoraproject, exclusive:true});
session.Exchange('bind', {exchange: "amq.topic",
queue: fedoraproject,
binding_key: "org.fedoraproject.#"});
// Bind each queue to the control queue so we know when to stop
session.Exchange('bind', {exchange:"amq.topic",
queue: fedoraproject,
binding_key:"control"});
</script>
гм… Orbitd це якраз Comet-сервер, до речи, погано розвиваеться, якщо взагали розвиваеться. Тобто получается, що comet виступае транспортним ривнем для AMQP. ми якраз до цього придивляемось, сумисно з брокером Apache Qpid
до comet-оподібних речей слід обережно ставитись… якщо доцільно, слід переконатись що long-push не є можливим чи доцільним, а потім вже дивитись до comet-ів
якщо orbited як варіант поганий — можна подивитись до інших транспортних речей, наприклад
там і вбудовані останні штучки типу Google Protocol Buffers і доросла стабільність
соррі, я мав на увазі лонг пулл (long pull), а не пуш
якось робив прототип чат системи на базі XMPP, то там є цікаве рішення —
JavaScript Jabber/XMPP бібліотека підтримує цю річ, той же чат в Facebook реалізований з використання подібної концепції.
Можна організувати XMPP PubSub як тип черги Topic, і архітектурно симулювати Queue тип черги.
Коментарі (4)
RSS згорнути / розгорнутиaleks_raiden
якщо orbited як варіант поганий — можна подивитись до інших транспортних речей, наприклад
там і вбудовані останні штучки типу Google Protocol Buffers і доросла стабільність
zenyk
нетти — просто крутий фреймворк мережевий NIO, там як я памятаю нема комету з коробки, для того э Grizzle & Atmosphere фреймворк
aleks_raiden
якось робив прототип чат системи на базі XMPP, то там є цікаве рішення —
JavaScript Jabber/XMPP бібліотека підтримує цю річ, той же чат в Facebook реалізований з використання подібної концепції.
Можна організувати XMPP PubSub як тип черги Topic, і архітектурно симулювати Queue тип черги.
Замітка на на цю тему
zenyk
Тільки зареєстровані й авторизовані користувачі можуть залишати коментарі.