| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // oms/ecosystem.config.js
- module.exports = {
- apps: [
- {
- name: "oms-backend", // PM2 进程名称
- script: "dist/app.js", // 编译后的主应用文件
- instances: 1, // 通常为 1,除非您需要多个 Node.js 实例
- autorestart: true, // 崩溃后自动重启
- watch: false, // 生产环境不监听文件变化
- // max_memory_restart: "1G", // 内存使用超过 1GB 时重启
- env_production: {
- // 生产环境特定环境变量
- NODE_ENV: "production",
- PORT: 3000,
- MONGO_URI: "mongodb://oms:oms123.@localhost/omsdb?authSource=admin", // MongoDB 宿主机端口 27717
- REDIS_URI: "redis://localhost:6379", // Redis 宿主机端口 6379
- RABBITMQ_URL: "amqp://coloring:coloring123.@localhost:5672", // RabbitMQ 宿主机端口 5672
- RABBITMQ_EXCHANGE: "event-exchange",
- RABBITMQ_LOG_QUQUE: "log-event-queue",
- RABBITMQ_OMS_QUEUE: "oms-event-queue",
- CLICKHOUSE_HOST: "http://localhost:8123", // ClickHouse 宿主机端口 8123
- CLICKHOUSE_DATABASE: "omsdb",
- CLICKHOUSE_USER: "ckuser",
- CLICKHOUSE_PASSWORD: "ckpassword",
- },
- // 如果您需要本地开发调试,可以定义 env_development
- env_development: {
- NODE_ENV: "development",
- PORT: 3000,
- MONGO_URI: "mongodb://oms:oms123.@localhost/omsdb?authSource=admin",
- REDIS_URI: "redis://localhost:6379",
- RABBITMQ_URL: "amqp://coloring:coloring123.@localhost:5672",
- RABBITMQ_EXCHANGE: "event-exchange",
- RABBITMQ_LOG_QUQUE: "log-event-queue",
- RABBITMQ_OMS_QUEUE: "oms-event-queue",
- CLICKHOUSE_HOST: "http://localhost:8123",
- CLICKHOUSE_DATABASE: "omsdb",
- CLICKHOUSE_USER: "ckuser",
- CLICKHOUSE_PASSWORD: "ckpassword",
- },
- },
- {
- name: "event-api-service", // <-- 新增的埋点 API 进程
- script: "dist/services/event-api-service.js", // 指向编译后的埋点服务文件
- instances: "max", // 可以根据 CPU 核心数启动多个实例
- exec_mode: "cluster", // 以集群模式运行,利用多核 CPU
- autorestart: true,
- watch: false,
- max_memory_restart: "500M", // 根据实际情况调整内存限制
- env_production: {
- NODE_ENV: "production",
- EVENT_PORT: 3001, // <-- 埋点 API 进程使用不同的端口
- RABBITMQ_URL: "amqp://coloring:coloring123.@localhost:5672", // RabbitMQ连接
- RABBITMQ_EXCHANGE: "event-exchange", // 交换机名称
- RABBITMQ_LOG_QUEUE: "log-event-queue", // 日志服务队列
- RABBITMQ_OMS_QUEUE: "oms-event-queue", // 数据清洗整理到mongodb和clickhouse队列
- },
- env_development: {
- NODE_ENV: "development",
- EVENT_PORT: 3001, // <-- 本地开发调试也使用不同端口
- RABBITMQ_URL: "amqp://coloring:coloring123.@localhost:5672",
- RABBITMQ_EXCHANGE: "event-exchange", // 交换机名称
- RABBITMQ_LOG_QUEUE: "log-event-queue", // 日志服务队列
- RABBITMQ_OMS_QUEUE: "oms-event-queue", // 数据清洗整理到mongodb和clickhouse队列
- },
- },
- {
- name: "log-service", // <-- 新增的日志服务进程
- script: "dist/services/log-service.js", // 指向编译后的日志服务文件
- instances: 1, // 通常只需要一个日志写入进程,但也可以是多个并行写入到不同文件或同一文件
- watch: false,
- max_memory_restart: "500M", // 根据日志量调整内存限制
- env_development: {
- NODE_ENV: "production",
- RABBITMQ_URL: "amqp://coloring:coloring123.@rabbitmq:5672", // RabbitMQ连接
- RABBITMQ_LOG_QUEUE: "log_event_queue", // 日志服务订阅的队列
- LOG_DIR: "/app/logs/coloring", // <-- 日志文件存储路径 (容器内部)
- },
- env_production: {
- NODE_ENV: "production",
- RABBITMQ_URL: "amqp://coloring:coloring123.@rabbitmq:5672", // RabbitMQ连接
- RABBITMQ_LOG_QUEUE: "log_event_queue", // 日志服务订阅的队列
- LOG_DIR: "/mnt/volume_sfo2_04/logs", // <-- 日志文件存储路径 (容器内部)
- },
- },
- {
- name: "ingestor-service", // <-- 新增的数据摄取器进程
- script: "dist/services/ingestor-service.js", // 指向编译后的摄取器服务文件
- instances: 1, // 可以根据处理能力调整实例数量
- watch: false,
- max_memory_restart: "1G", // 根据数据量和处理逻辑调整内存限制
- env: {
- NODE_ENV: "production",
- RABBITMQ_URL: "amqp://coloring:coloring123.@rabbitmq:5672", // RabbitMQ连接
- RABBITMQ_OMS_QUEUE: "oms-event-queue", // 摄取器订阅的队列
- MONGO_URI: "mongodb://mongodb:27017/omsdb", // MongoDB连接
- CLICKHOUSE_HOST: "http://clickhouse:8123", // ClickHouse连接
- CLICKHOUSE_DATABASE: "omsdb", // ClickHouse数据库名
- CLICKHOUSE_USER: "ckuser", // ClickHouse用户
- CLICKHOUSE_PASSWORD: "ckpassword", // ClickHouse密码
- },
- },
- ],
- };
|