Bash-лайфхак: запуск микросервисов через parallel

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

bashparalleldocker-compose

ℹ️ Когда у тебя десяток микросервисов, и каждый надо запускать вручную — это бесит. А ещё хуже, когда ты ждёшь, пока один поднимется, чтобы стартануть следующий. Решение — GNU Parallel: мощный инструмент для параллельного запуска процессов прямо из терминала.

📌 Вместо этого:

cd service1 && docker-compose up
cd service2 && docker-compose up
cd service3 && docker-compose up

➡️ Делаем так:

parallel ::: \
  "cd service1 && docker-compose up" \
  "cd service2 && docker-compose up" \
  "cd service3 && docker-compose up"

Все сервисы стартуют одновременно в разных потоках. Это в разы ускоряет запуск, особенно в dev-среде или при локальном тестировании.

⚙️ А если хочешь следить за логами каждого сервиса — можно добавить tmux или multitail, или просто перенаправить вывод в отдельные файлы:

parallel ::: \
  "cd service1 && docker-compose up > logs/s1.log" \
  "cd service2 && docker-compose up > logs/s2.log"

✳️ Используй parallel не только для запуска — он подойдёт и для деплоя, копирования файлов, тестов и даже CI-джоб. Работает на любой Unix-системе, ставится одной командой: sudo apt install parallel.

tags: #полезно #linux #bash

🧭 @recura_tech

Иллюстрация микросервисов: большой куб слева и набор маленьких кубов справа на градиентном фоне с надписью MICROSERVICES
Схематическая иллюстрация микросервисной архитектуры

Читайте так же