All
Я ищу совет по следующему сценарию:
У меня есть компонент, работающий в одной части корпоративной сети, который отправляет сообщения компоненту логики приложения для обработки. Эти компоненты могут находиться на одном сервере, на разных серверах в одной сети (LAN или WAN) или находиться вне облака. Сервер приложений должен быть масштабируемым и отказоустойчивым.
Сообщения связаны с тем, что важна последовательность их поступления. Они имеют метку времени с отметкой времени клиента.
Я думаю, что я заставлю клиентов использовать WCF basicHttpBinding (некоторые основаны на .NET CF, который имеет только базовый) для отправки сообщений на сервер приложений (это потому, что мы можем гарантировать, что порт 80/443 будет открыт для исходящих соединений). Сервер принимает их и записывает в очередь. Эта очередь может быть масштабирована при необходимости на нескольких машинах.
Я не решаюсь использовать MSMQ для очереди, хотя для правильного масштабирования нам потребуется установить отдельные частные очереди на каждом сервере приложений и осуществлять циклический мониторинг очередей. Я обеспокоен тем, что мы можем потерять сообщение на сервере, который не работает до тех пор, пока сервер не будет восстановлен, и мы можем в конечном итоге обработать более позднее сообщение с другого сервера и нарушить последовательность.
Что я бы предпочел, так это центральную очередь (например, таблицу базы данных), которую отслеживают все серверы приложений.
Имея это в виду, я хотел бы создать пользовательскую привязку WCF, аналогичную netMsmqBinding, но вместо этого использовать таблицу DB, но я не уверен, могу ли я просто создать пользовательский транспорт или a Мне нужна полная привязка, и позволит ли эта привязка клиенту отправлять через HTTP. Я просмотрел интернет, но немного озадачен тем, с чего начать.
Я не мог бы возиться с пользовательской привязкой WCF, но, похоже, это хороший способ внедрить масштабируемость, если мне нужно разделить серверы.
Любые предложения, пожалуйста, будут полезны, включая альтернативы.
Большое спасибо