SpringCloud Alibaba micro-verdadero servicio de nueve - de SEAT en contenedores
https: // hacpai.com/article/1577935671320
Por los dos primeros artículos que utilizamos Seata
como un componentes de transacción distribuida, y el uso Nacos
como una Seata
configuración de centro de registro, este artículo vamos a Seata
desplegar el recipiente Docker
en. Por supuesto, si todo el mundo Docker
no está muy familiarizado con ella o usarla sólo Docker
dos artículos de interés antes de que pueda mirar para todo el mundo para prepararse.
- Acoplable a base real y, en este aspecto es lo suficientemente
- Acoplable-Componer con base y real, en este aspecto es lo suficientemente
336 x 234
contenedor de SEAT de
En uso Docker
, cuando deberíamos implementar los servicios de un archivo de configuración externa, la modificación posterior tan fácil, después de la modificación se completa con -v para montar el archivo en el recipiente. A continuación vamos proceso paso a paso para lograr el contenedor.
-
Iniciar un contenedor temporal de los de SEAT.
docker run --rm --name seata-server -d -p 8091:8091 seataio/seata-server:latest
Con los--rm
parámetros, tales envases se eliminarán de forma automática después de la parada del recipiente, ahorrando mucho tiempo. -
Exportar el archivo de configuración para el host
fichero de configuración recipiente situado/seata-server/resources
debajo, exportamos en el directorio especificado en el hostdocker cp a67c272193c4:/seata-server/resources /app/cloud/seata/conf
-
Modificar el archivo de configuración
registry.conf
de acuerdo con el artículo, dijo que el uso deNacos
un centro registrada sólo tendrá que modificar la configuración delregistry.conf
archivo, el resultado de la modificación se ha completado como sigue
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "nacos"
nacos {
serverAddr = "10.0.10.48:8848"
namespace = ""
cluster = "default"
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "nacos"
nacos {
serverAddr = "10.0.10.48:8848"
namespace = ""
}
}
-
Se
Seata
empuje la configuración paraNacos
Seata
el envase y no losNacos
archivos de configuración en ellos, también es necesario descargarSeata-Server
el paquete de instalación, y luego lo empuja alNacos
. Para más detalles, consulte el artículo, no repetirlos aquí. -
Detener el contenedor
docker stop a67c272193c4
debido antes con los--rm
parámetros, por lo que se eliminará automáticamente el contenedor. -
contenedor de reinicio
docker run --name seata-server \
-d -p 8091:8091 \
-e SEATA_CONFIG_NAME=file:/root/seata-config/registry \ -e SEATA_IP=172.31.0.207 \ -v /app/cloud/seata/conf:/root/seata-config \ -v /app/cloud/seata/logs:/root/logs \ seataio/seata-server
contenedor especificado registrado IP, el anfitrión se montará modificado archivo de configuración para el recipiente.
-
La transformación de cliente
sólo necesitaregistry.conf
archivo en los micro serviciosresources
de botones, el artículo ha completado la transformación. -
Prueba
para iniciar el servicioaccount-service
,product-service
,order-service
, observado registro de SEAT706 x 158 1702 x 381
Tres servicios se han conectado a la de SEAT. Realizar una prueba para ver si la empresa presenta ante los cambios correctamente enrollada.
db modo de SEAT
file
Modo para el modo autónomo, la información global de sesión transacción de escritura de la memoria y archivos local persistente root.data
, el rendimiento más alto; db
el modo de disponibilidad modo, la información global sesión de compras a db
compartir, los resultados de cada mal.
Teniendo en cuenta Seata
la expansión y la disponibilidad, tenemos esta sección para modificar la configuración para que Seata
soporte db
el modo
-
Establecer una base de datos
para establecer una base de datosseata_config
, y de lashttps://github.com/seata/seata/blob/develop/script/server/db/mysql.sql
declaraciones de mesa descarga incorporar en la base de datos.307 x 226 -
Modificado
store.mode
db ajustado
en nacos perfil store.mode se ajustará a la db DATOS ID706 x 238 1736 x 586
Esta variable de entorno también puedeSTORE_MODE=db
especificar -
Modificar la conexión de base de datos
ennacos
la modificaciónstore.db
de la configuración
store.db.url=jdbc:mysql://xxxxxx:3306/seata_config?useUnicode=true
store.db.user=root
store.db.password=xxxxxx
- contenedor de reinicio
docker run --name seata-server \
-d -p 8091:8091 \
-e SEATA_CONFIG_NAME=file:/root/seata-config/registry \ -e SEATA_IP=172.31.0.207 \ -v /app/cloud/seata/conf/resources:/root/seata-config \ -v /app/cloud/seata/logs:/root/logs/seata \ seataio/seata-server
Después de iniciar el servicio de contenedores para reiniciar el micro para ver si debidamente registrada, y realizar pruebas para ver si la empresa presentó ante la normal de reversión.
el despliegue del estibador-Componer
Ver esta serie de artículos los alumnos deben saber que nuestro primer artículo con el docker-compose
despliegue de MySQL, nacos, sentinel tres componentes, antes de completar esta sección nacos-base.yml
, de SEAT también se integrará en ella. Con la base en la sección anterior 2 de esta operación debería ser muy simple, hecho después de su archivo yml finalización de la siguiente manera:
version: "3" services: mysql: container_name: mysql image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - /app/cloud/mysql/data:/var/lib/mysql ports: - "3306:3306" restart: always nacos: image: nacos/nacos-server:1.1.4 container_name: nacos environment: - PREFER_HOST_MODE=hostname - MODE=standalone - MYSQL_DATABASE_NUM=1 - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_MASTER_SERVICE_HOST=mysql - MYSQL_MASTER_SERVICE_DB_NAME=nacos_config - MYSQL_MASTER_SERVICE_PORT=3306 - MYSQL_MASTER_SERVICE_USER=root - MYSQL_MASTER_SERVICE_PASSWORD=123456 volumes: - /app/cloud/nacos/logs:/home/nacos/logs ports: - "8848:8848" depends_on: - mysql restart: always sentinel: image: bladex/sentinel-dashboard:latest container_name: sentinel ports: - "8858:8858" restart: always seata: image: seataio/seata-server:latest container_name: seata ports: - "8091:8091" environment: - SEATA_CONFIG_NAME=file:/root/seata-config/registry - SEATA_IP=10.0.10.48 volumes: - /app/cloud/seata/conf:/root/seata-config - /app/cloud/seata/logs:/root/logs restart: always
Vemos este archivo yml cargado en el servidor, la puesta en Componer estibador docker-compose -f nacos-base.yml up
, inicie el servicio al cliente y la ejecución de las observaciones de la prueba de negocio.
las variables de entorno de SEAT
entorno de SEAT-servidor admite las siguientes variables:
- SEATA_IP
Opcionalmente, se utiliza el especificado iniciado-de SEAT-servidor IP, IP cuando el registro de los centros de registro, y el otro tal Eureka
- SEATA_PORT
Opcionalmente, especifique el puerto de SEAT-servidor de arranque, por defecto a 8091
- STORE_MODE
Opcionalmente, especifique un almacenamiento de SEAT-servidor de registro de transacciones, para apoyar db y archivo, archivo predeterminado
- SERVER_NODE
Alternativamente, de SEAT-servidor especifica el ID de nodo, por ejemplo, 2, 3 ..., el valor predeterminado es 1
- SEATA_ENV
Opcionalmente, especifique entorno operativo de SEAT-servidor, como dev, test, etc., sería utilizar dicha configuración de un registro-dev.conf cuando el servicio se inicia
- SEATA_CONFIG_NAME
Opcionalmente, especifique la ubicación del archivo de configuración, como file: / root / registro, como un archivo de configuración será cargada /root/registry.conf
Así, señoras y amigos, el contenido de este problema en todas partes, si este artículo te ayude, por favor, escanear el siguiente código QR para agregar una preocupación. "Adelante", además de "look", para formar buenos hábitos!