Эффективное решение для системы контроля и мониторинга в сети

Я собираюсь разработать систему удаленного управления и мониторинга, которая будет выполняться по сети. Я знаю, что наилучшей архитектурой для таких систем является SOA (или нет?). Система включает в себя 2 типа клиентов и сервер. из-за поведения системы важно, чтобы и серверы, и клиенты могли подключаться друг к другу. Теперь есть несколько вопросов по этому поводу:

1- Должен ли я использовать живое соединение между частями системы? из-за серверов нужно иметь доступ к своим клиентам в любое время.

2. Сейчас я хочу разработать его с помощью фреймворка .Net, но, возможно, в будущем мне нужно будет изменить клиентов или сервер на java или что-то еще, поэтому могу ли я использовать технологии на основе .net, такие как WCF, для разработки этой системы?

3 - Я видел инструмент под названием «NServiceBus», который кажется хорошей системой для таких проектов, но у меня нет достаточного опыта работы с ним. Может ли кто-нибудь рассказать мне о его преимуществах для моей системы?


person Hamid Adldoost    schedule 20.12.2013    source источник


Ответы (1)


Хотя этот вопрос слишком широк, я постараюсь помочь.

Начиная с # 2 - если вы не знаете платформу разработки (java или .net), это явно повлияет на другие варианты.

Хотя и WCF, и NServiceBus обладают возможностями взаимодействия, существует множество других факторов, которые могут повлиять на выбор или даже на использование обоих.

И по вопросу №1 - термин "живое соединение" недостаточно конкретен. Также на дизайн будет влиять топология сети — та же локальная сеть, глобальная сеть и Интернет.

Если никаких дополнительных подробностей не известно, я бы предложил нанять кого-то, кто строил подобные вещи раньше, и позволить им делать свое дело.

person Udi Dahan    schedule 26.12.2013
comment
Сейчас моей платформой для разработки является .Net, но позже нам может понадобиться использовать некоторые части системы на других платформах, таких как java. Представьте, что у нас есть несколько клиентов, которыми нужно управлять, и несколько серверов, которые должны управлять клиентами. клиенты должны отправлять отчеты на серверы, а серверы должны иметь доступ к клиентам в любое время! - person Hamid Adldoost; 28.12.2013
comment
Использование интероперабельной системы очередей, такой как RabbitMQ, вероятно, будет достаточно для работы с другими платформами, такими как Java. - person Udi Dahan; 29.12.2013