Я работаю над проектом, который представляет собой комбинацию сервера приложений и базы данных объектов и в настоящее время работает на одиночный машина только. Некоторое время назад я читал статью, в которой описывается распределенная реляционная база данных, и получил некоторые идеи о том, как применять идеи в этой статье к моему проекту, так что я мог бы сделать версию с высокой степенью доступности, запущенную в кластере, используя общедоступную архитектуру.
Моя проблема в том, что у меня нет опыта проектирования распределенных систем и их протоколов - я не принимал продвинутые курсы CS о распределенных системах в университете. Поэтому я беспокоюсь о том, что могу разработать протокол, который не вызывает тупик, голод, разделить мозг и другие проблемы.
Вопрос: Где я могу найти хороший материал о проектировании распределенных систем? Какие существуют методы проверки правильности работы распределенного протокола? Рекомендуются рекомендации книг, академических статей и других.