В первом варианте основной сервис становится единственной точкой отказа и узким местом производительности.
Во втором вы рискуете много ненужных опросов для информации.
Третье предложение будет:
Если каждая из ваших служб имеет свою собственную базу данных, вы можете использовать репликацию базы данных для перемещения данных из службы, в которой она создается, в другие службы, в которых она используется.
EDIT
На основании вашего комментария. Вы можете попробовать Enterprise Library Caching с резервным хранилищем базы данных. Таким образом, у вас есть данные в памяти, но они будут обновлены, если обновятся значения в базе данных.