Мы изучаем интеграцию нашей платформы с Salesforce через Salesforce Outbound Messaging (SOM). Каждый раз, когда клиент обновляет объект (ы) в Salesforce, SOM вызовет нашу конечную точку Webservice с обновленным объектом (объектами) (до 100 объектов за один вызов). Наше Webservice необходимо обновить соответствующие записи в нашей базе данных.Обработка большого объема данных
SOM работает достаточно хорошо для наших целей, за исключением 1 вопроса.
Некоторые клиенты проводят массовые ночные обновления. Это не редкость для обновления 200 000-500 000 объектов. Это означает, что мы получим 2000-5000 вызовов со 100 объектами за очень короткий период времени. Наш Webservice будет перегружен настолько большим количеством данных, особенно если несколько клиентов делают массовые обновления близко друг к другу.
Чтобы справиться с этим большим объемом/шипом Web-сервер создаст сообщение на сервере приложений для каждого объекта в вызове SOM. Другой процесс будет принимать сообщения из очереди сообщений и обновлять базу данных.
MSMQ is only limited by hardware поэтому должен быть способен обрабатывать миллионы сообщений, пока мы очищаем отставание.
Главный вопрос заключается в том, что этот хороший дизайн для работы с большим количеством данных/вызовов webservice? Есть ли лучший способ?
5000 звонков - это путь менее 400 000 сообщений, о которых вы беспокоитесь, в чем проблема? – superfell
Я переформулировал свой вопрос так, надеюсь, вопрос более ясен. – mob1lejunkie