Вы должны войти, чтобы создавать сообщения и темы.

Мютекс между контейнерами докера.

Здравствуйте, помогите пожалуйста.
Описание проблемы:
У меня есть микросервис который содержит логику кэширования в Redis. На сервере подняты множество экземпляров этого сервиса и они используют единый кэш.
Если на все экземпляры поступает запрос на получение данных из кэша а данныч там нет то ВСЕ экземпляры отправляют запрос на получение данных в базу тем самым нагружая ее. 

Решение проблемы.
Решение проблемы состоит в том чтобы при запросе в базу установить блокировку между контейнерами через Mutex. Чтобы пока один экземпляр получает данные из базы и поместит их в кэш, другие экземпляры ждали на заблокированном мютексе и потом брали из кэша.

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

Создание единого мютекса я пока что тестирую на консольном приложении.

Ниже предоставил самый стандартный DockerFile.

FROM mcr.microsoft.com/dotnet/runtime:7.0 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["MutexDockerTest/MutexDockerTest.csproj", "MutexDockerTest/"]
RUN dotnet restore "MutexDockerTest/MutexDockerTest.csproj"
COPY . .
WORKDIR "/src/MutexDockerTest"
RUN dotnet build "MutexDockerTest.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "MutexDockerTest.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MutexDockerTest.dll"]

Ниже предоставлен код из Program.cs

Console.WriteLine("Start");

using (var mutex = new Mutex (false, "mutextUltra"))
{
    if (!mutex.WaitOne (TimeSpan.FromSeconds (1), false))
    {
        Console.WriteLine ("Another app instance is running. Bye!");

        Thread.Sleep(1000);
        return;
    }
    RunProgram();
}

void RunProgram()
{
    while (true)
    {
        Thread.Sleep(2000);
        Console.WriteLine("Hello");
    }
}

Использован .net 7.0 

Решение найдено. Оказывается надо обьявлять Mutex с префиксом "Global\"