Я следовал некоторому руководству, в котором рассказывается, как настроить 3 микросервиса (приложение, продукты и отзывы) и 1 реестр служб.
После некоторой работы с Docker я чувствую, что реестр служб избыточен.Поскольку Docker может пускать экземпляры при внедрении имен хостов и портов через переменные среды друг другу.
Например, в следующем файле Docker Compose я передаю учетные данные db из микросервиса MySQL в микросервис Node.js и вАналогичным образом, если бы были другие микросервисы Node.js, я мог бы подключить их.
version: '3'
services:
mysql:
image: "mysql:5.7"
container_name: "mysql"
ports:
- "6603:3306"
volumes:
- ./assets/schema.sql:/docker-entrypoint-initdb.d/init.sql
environment:
DATABASE_HOST: mysql
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: database
MYSQL_USER: mysql
MYSQL_PASSWORD: password
products_service:
build: .
command: bash -c "/wait && npm start"
volumes:
- "./src/:/service/src/"
image: "node"
container_name: "products"
ports:
- "8080:8080"
depends_on:
- mysql
environment:
DATABASE_HOST: mysql
MYSQL_PORT: 3306
MYSQL_DATABASE: database
MYSQL_USER: mysql
MYSQL_PASSWORD: password
WAIT_HOSTS: mysql:3306
restart: on-failure
Действительно ли мне нужно кодировать и программировать службу реестра в Node.js?