[Reproducción] SpringCloud Alibaba micro-verdadero servicio de nueve - de SEAT en contenedores

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.

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 host
    docker 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 de  Nacos un centro registrada sólo tendrá que modificar la configuración del  registry.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 para  Nacos
    Seata el envase y no los  Nacos archivos de configuración en ellos, también es necesario descargar  Seata-Server el paquete de instalación, y luego lo empuja al  Nacos. 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 necesita  registry.conf archivo en los micro servicios  resources de botones, el artículo ha completado la transformación.

  • Prueba
    para iniciar el servicio  account-service, product-service, order-service, observado registro de SEAT
    image.png

    706 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 datos  seata_config, y de las  https://github.com/seata/seata/blob/develop/script/server/db/mysql.sql declaraciones de mesa descarga incorporar en la base de datos.
    image.png

    307 x 226

     

  • Modificado  store.mode db ajustado
    en nacos perfil store.mode se ajustará a la db DATOS ID
    image.png

    706 x 238 1736 x 586

    Esta variable de entorno también puede  STORE_MODE=db especificar

     

  • Modificar la conexión de base de datos
    en  nacos la modificación  store.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.
image.png

738 x 118 1704 x 272

 

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!

Supongo que te gusta

Origin www.cnblogs.com/jinanxiaolaohu/p/12497780.html
Recomendado
Clasificación