webchat中间件的搭建过程

1 阅读1分钟

我目前推荐docker-compose来构建中间件服务

redis和mysql

version: '3.8'

# 定义网络
networks:
  webchat-network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.28.0.0/16

# 定义数据卷
volumes:
  mysql_data:
  mysql_config:
  redis_data:
  minio_data:
  elasticsearch_data:
  mongodb_data:
  milvus_data:
  n8n_data:
  prometheus_data:
  grafana_data:
  rocketmq_data:

services:
  # ===================== MySQL 8.0 =====================
  mysql80:
    image: mysql:8.0  # 固定8.0版本
    container_name: mysql80-webchat
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-MysqlRoot@123456}
      MYSQL_DATABASE: nacos_config
      MYSQL_USER: webchat
      MYSQL_PASSWORD: ${MYSQL_APP_PASSWORD:-Webchat@123456}
      TZ: Asia/Shanghai
      MYSQL_INNODB_BUFFER_POOL_SIZE: 256M  # 优化InnoDB缓冲池
    volumes:
      - mysql_data:/var/lib/mysql
    networks:
      - webchat-network
    ports:
      - "3308:3306"
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 60s
    deploy:
      resources:
        limits:
          memory: 1G
          cpus: '1.0'
        reservations:
          memory: 512M
    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
      - --default-authentication-plugin=mysql_native_password
      - --max_connections=1000

  # ===================== Redis 6.0 =====================
  redis-webchat:
    container_name: redis-webchat
    image: redis:6.2
    restart: always
    command: redis-server /etc/redis/redis.conf
    volumes:
      - redis_data:/data
      - ./config/redis.conf:/etc/redis/redis.conf:ro
    ports:
      - "6380:6379"
    networks:
      - webchat-network

nacos的构建

我参考的www.cnblogs.com/yangyxd/p/1…

在构建nacos服务的时候,我是部署在linux上面的,要开通多个端口,8848, 9848,9849,我也不太明白,后边我看看源码

image.png

项目中的整合

image.png

image.png