独立开发中·📚18 篇日记·📝最近更新:2026年07月12日
⚙️

微平台技术选型:为什么我选了这套技术栈

从React到PostgreSQL,从Docker到CloudFlare,每一个选择背后的考量。

水哥
2026-06-258 分钟阅读

选型的核心原则

技术选型不是选「最好」的技术,是选最适合你的技术。

对于一人公司做50个平台,我的选型标准是:

  1. 生态成熟:文档完善、社区活跃
  2. 上手简单:不需要太多学习成本
  3. 运维省心:出了问题容易排查
  4. 成本可控:能免费就不花钱

后端:Node.js + TypeScript

为什么选 Node.js

对比项Node.jsPythonGoJava
前后端统一语言
生态丰富度★★★★★★★★★★★★★★★★★★
异步IO性能★★★★★★★★★★★★★★★★
部署简单度★★★★★★★★★★★★★★★★★
运维成本极低

选 Node.js 的核心理由:前后端统一 TypeScript,代码可以复用。

为什么用 TypeScript

// 类型安全让重构成本极低
// 当你有50个平台时,这一点至关重要

interface PlatformConfig {
  name: string;
  domain: string;
  modules: string[];
  theme: ThemeConfig;
}

// 一个类型定义,50个平台复用
const configs: Record<string, PlatformConfig> = {
  mishimao: { /* ... */ },
  zhaofangtong: { /* ... */ },
  // ...
};

数据库:PostgreSQL

为什么选 PostgreSQL

  1. PostGIS:50个平台中有20+需要地理位置功能
  2. JSONB:灵活的数据结构,适合快速迭代
  3. Schema隔离:一个实例支持多平台
  4. 成熟稳定:跑了18个月,零数据丢失

不选 MySQL 的原因

MySQL也完全可以用,但我需要 PostGIS 做地理空间查询。如果不需要地理功能,MySQL也是好选择。

不选 MongoDB 的原因

早期我用过 MongoDB,但遇到几个问题:

  • 事务支持不如关系型数据库
  • 数据一致性更难保证
  • 当数据量大了以后,迁移成本极高

前端:React + Vite + Tailwind

为什么选 React

  • 生态最成熟,组件库最多
  • 团队/社区支持最好
  • 对于50个平台,组件复用是刚需

为什么选 Vite

  • 启动速度极快(<1秒)
  • HMR 热更新丝滑
  • 构建产物小

为什么选 Tailwind

  • 不用写CSS文件,直接在组件里写
  • 原子化CSS,天然适合组件复用
  • 配合 shadcn/ui,组件开发效率翻倍

缓存:Redis

没什么好纠结的。Redis 是缓存的事实标准。

使用场景:
- Session 存储
- 排行榜
- 限流
- 分布式锁
- 消息队列(轻量场景)

部署:Docker + Nginx

Docker

每个服务一个容器,通过 docker-compose 编排。

优点:

  • 环境一致性
  • 扩容方便
  • 回滚简单

Nginx

做反向代理和负载均衡,50个平台的域名都指向同一台服务器,通过 Nginx 路由到不同的后端服务。

# Nginx 配置示例
server {
    listen 443 ssl;
    server_name mishimao.com;

    location / {
        proxy_pass http://localhost:3001;  # 觅食猫前端
    }

    location /api/ {
        proxy_pass http://localhost:4001;  # 觅食猫API
    }
}

server {
    listen 443 ssl;
    server_name zhaofangtong.com;

    location / {
        proxy_pass http://localhost:3002;  # 找房通前端
    }

    location /api/ {
        proxy_pass http://localhost:4002;  # 找房通API
    }
}

CDN:CloudFlare

  • 免费版就够用了
  • 全球CDN加速
  • 免费SSL证书
  • DDoS防护
  • DNS管理

省了买CDN和SSL的钱。

监控:Prometheus + Grafana

自己搭的,零成本。

监控指标:

  • CPU / 内存 / 磁盘
  • 请求量 / 响应时间 / 错误率
  • 数据库连接数 / 慢查询
  • Redis 内存使用

消息队列:RabbitMQ

不是所有平台都需要。但有些场景必须用:

  • 异步发短信
  • 通知推送
  • 数据同步

不用的技术

技术不用的原因
Kubernetes太重了,50个平台用不上
微服务框架简单的HTTP路由就够了
GraphQLRESTful 完全够用
MongoDB数据一致性需求高
AWS国内服务器更便宜

总结

后端:Node.js + TypeScript + Express
数据库:PostgreSQL + Redis
前端:React + Vite + Tailwind + shadcn/ui
部署:Docker + Nginx
CDN:CloudFlare
监控:Prometheus + Grafana

没有银弹,只有适合的弹。 技术选型的核心是匹配你的业务场景和团队能力。

对于一人公司:简单 > 优雅,稳定 > 先进。

相关文章