Как спроектировать пул соединений MongoDB с помощью драйвера C? - PullRequest
3 голосов
/ 14 декабря 2011

У меня есть многопоточное приложение (потоки POSIX), написанное на C, которое теперь должно отправлять данные в MongoDB.Каждый поток должен отправлять данные независимо.В настоящее время я устанавливаю новое соединение в каждом потоке - и, как и ожидалось, производительность низкая из-за накладных расходов при создании TCP-соединения каждый раз.

Я хотел бы создать функцию main (), а затем передать ссылку на соединение потокам, чтобы они могли использовать основное соединение.

Мой вопрос: если я пойду с вышеуказанным планом, я буду создавать только одно соединение.Можно ли создать пул соединений с помощью драйвера MongoDB C, а затем передать ссылку на пул отдельным потокам, которые затем могут использовать любое доступное соединение из пула для отправки данных в MongoDB?

Буду ли я заново изобретать колесо?если уже имеется пример кода, доступного для пула соединений MongoDB с использованием драйвера C, укажите мне на него.

Спасибо!

...