Надежный способ отправки и обработки сообщений для распределенной системы - PullRequest
0 голосов
/ 25 августа 2009

Я работаю в небольшой распределенной системе, полностью управляемой сообщениями. Прямо сейчас я обычно открываю сокет каждый раз, когда мне нужно что-то отправить, и сразу после этого закрываю. Состояние поддерживается только на стороне сервера (например, если от клиента в течение 5 минут не поступило сообщение, считайте его мертвым).

Тем не менее, я должен выполнить некоторое низкоуровневое планирование сообщений на клиенте также (если сообщение о состоянии не может достигнуть сервера, повторите попытку, если все еще не удается, предположим, что сервер не работает, переключиться на другой сервер и т. Д.) а также необходимость вручную прослушивать как клиент, так и сервер (плюс обмен информацией о том, как связаться с клиентом с сервера). Я также планирую добавить какую-то систему вещания, но это начинает накапливаться ... поэтому вопрос в том, есть ли какая-то существующая система шины / обмена сообщениями для .NET, которая работает с Mono и Microsoft, которая обрабатывает эти сообщения материал? Я посмотрел на NServiceBus, но это зависит от MSMQ (все еще верно?), Который более или менее поддерживается в Mono; В общем, NServiceBus уже выглядит слишком тяжеловесным. В идеале система должна поддерживать соединения 1: 1 и 1: N, надежно обрабатывать ошибки и сообщать о них, а также обладать некоторыми дополнительными функциями (сообщения в очереди, безопасность).

Ответы [ 3 ]

2 голосов
/ 25 августа 2009

Вы смотрели в RabbitMQ ?

1 голос
/ 29 августа 2009

Марк Гравелл protobuf-net библиотека. Буферы протокола Googles поддерживают множество языков.

0 голосов
/ 25 августа 2009

Вы смотрели на Mono-Olive? Я знаю, что они внедряли WCF, это, вероятно, было бы вашим лучшим вариантом, если бы они реализовали достаточно, чтобы быть полезными к настоящему моменту.

...