create: NixMsg 系统技术栈选型(2026-09-30)
MemRelay-Operation: memory-save:nixmsg-20260930-0505-techstack MemRelay-Resource: bc650d0d-5329-4212-bec2-c091db37278f
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
title: NixMsg 系统技术栈选型(2026-09-30)
|
||||||
|
type: decision
|
||||||
|
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/nix-msg-系统技术栈选型-2026-09-30
|
||||||
|
stable_id: bc650d0d-5329-4212-bec2-c091db37278f
|
||||||
|
scope: project
|
||||||
|
memory_type: decision
|
||||||
|
project_id: 25464650-ed5d-440e-b362-190f2852d451
|
||||||
|
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
|
||||||
|
status: active
|
||||||
|
revision: 1
|
||||||
|
request_id: nixmsg-20260930-0505-techstack
|
||||||
|
created_at: '2026-09-29T20:54:32.371365+00:00'
|
||||||
|
updated_at: '2026-09-29T20:54:32.371365+00:00'
|
||||||
|
tags:
|
||||||
|
- nixmsg
|
||||||
|
- tech-stack
|
||||||
|
- decision
|
||||||
|
---
|
||||||
|
|
||||||
|
用户 2026-09-30 选定(已写入 DEVELOPMENT.md 第 2 节):
|
||||||
|
- 后端 Go,HTTP 用标准库 net/http(Go 1.22 路由),不用 Gin/chi/Echo。
|
||||||
|
- 数据库 SQLite(modernc.org/sqlite 纯 Go),database/sql 手写 SQL,不用 ORM 或 sqlc。
|
||||||
|
- 不用 Redis 或其他中间件。
|
||||||
|
- 前端 Vue 3 + TypeScript + Naive UI(用户选 Naive UI,我原推荐 Element Plus);Vite 构建后 go:embed 嵌进程序,运行时不需要 Node.js。
|
||||||
|
- 部署:单文件二进制为主,同时提供 Docker 镜像(amd64、arm64)和 docker-compose 示例。
|
||||||
|
- 监控:提供 Prometheus /metrics,只在后台监听开放;共用端口时要 metrics.token。
|
||||||
|
- 证书:用户生产服务器装有 1Panel。评估结论:保留「程序读取证书文件并每小时自动重载」,1Panel 负责申请和自动续签,并勾选「推送证书到本地目录」(写入 fullchain.pem、privkey.pem)给程序读;不用 1Panel OpenResty 终止 TLS,因为它的 TCP/UDP 代理不做 TLS,裸 TCP 设备无法加密且端会被拆到两个端口。开发环境用明文或 mkcert。
|
||||||
|
按推荐定下、用户未单独表态的:mochi-mqtt v2、coder/websocket、argon2id、go.yaml.in/yaml/v3、log/slog、prometheus/client_golang、自写迁移、Vite+Vue Router+Pinia+fetch、pnpm、Node 24 LTS(仅构建)、golangci-lint/ESLint/Prettier/vue-tsc、Vitest/Playwright、Taskfile、distroless static nonroot。代码仓库和 CI 尚未讨论。
|
||||||
Reference in New Issue
Block a user