Страницы

Насущное. (или асинхронность в базах)

Все наверное слышали (из предыдущих сообщений) что я пытаюсь захватить мир (не привлекая внимание санитаров) через создание большой отказоустойчивой системы в недрах которой будет крутиться много очень разных полезных человеку задач.
Проблема обеспечения отказоустойчивости и способности выносить значительные нагрузки всегда была серьезным вызовом и в различных системах всегда решалась особо. 

В заметке http://oleg.kalpa.ru/2015/02/3-databasecell.html говорилось об уровне 3 где живут базы данных. Про отказоустойчивость я бы хотел поговорить чуть позже, а сейчас хочу подумать об асинхронности. 

Вот Postgres и средства работы с ним - синхронен. Это значит, что когда вы отправляете запрос на сервер, то приходится сидеть и ждать ответа. А у меня в системе куча служб, которые живут на куче машин и обмениваются мыслями в тайне от внешнего мира. Значит нужна асинхронность в вопросе работы с базой данных. Значит нужно такую  службу учинить. 

Такой сервер будет многопоточный, асинхронный. На одно соединение можно приладить много параллельных запросов. 

Сказано-сделано. Тестирование показало, что асинхронный круг запроса на внешный сервер баз + запрос к прогретой базе (а это еще один сервер) оборачивается за 1 мс. Фактически замерялась связка клиент-сервер приложения-асинхронный сервер баз+postgres. 
Так что можно сказать, что протокол взаимодействия вполне рабочий.

Готов к следующему шагу.



Related Posts Plugin for WordPress, Blogger...