热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词可根据系统用途和约束条件,生成多种架构模式方案并进行优缺点对比,同时提供相关技术选择建议,帮助开发团队快速做出合理系统架构决策,适用于全栈开发和复杂系统设计场景。
下面给出一份围绕“千人课堂直播+点播、多租户、强一致订单/课程、混合云合规存储、可替换CDN、PostgreSQL/Kafka优先”的完整架构建议,包含架构模式优缺点分析、关键技术选型、混合云拓扑、SLO与HA、可观察性与交付,以及最小可用的文生代码与IaC/CI样例,尽量在预算、团队规模与6个月交付周期内落地。
一、架构模式对比与决策
最终架构决策
二、总体逻辑架构与服务划分(有界上下文)
三、关键技术选型(开源优先,团队擅长TS/Go)
四、多租户与一致性策略
五、直播/互动性能与扩展设计
六、混合云拓扑与同城双活
七、安全与审计
八、可观察性与运维
九、交付路线(6个月,M1出MVP)
十、文生代码/模板样例(可作为“bootstrap”仓库输出)
syntax = "proto3";
package edu.course.v1;
option go_package = "github.com/acme/edu/coursepb;coursepb";
message Course {
string id = 1;
string tenant_id = 2;
string title = 3;
string teacher_id = 4;
int64 start_time = 5;
int64 end_time = 6;
string status = 7; // DRAFT|PUBLISHED|ONGOING|ENDED
}
message CreateCourseRequest { Course course = 1; }
message CreateCourseResponse { Course course = 1; }
message GetCourseRequest { string id = 1; string tenant_id = 2; }
service CourseService {
rpc CreateCourse(CreateCourseRequest) returns (CreateCourseResponse);
rpc GetCourse(GetCourseRequest) returns (Course);
}
openapi: 3.0.3
info: { title: user-service, version: 1.0.0 }
paths:
/api/v1/users:
post:
security: [{ bearerAuth: [] }]
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserCreate'
responses:
'201': { $ref: '#/components/responses/User' }
components:
securitySchemes:
bearerAuth: { type: http, scheme: bearer, bearerFormat: JWT }
schemas:
UserCreate:
type: object
required: [email, name, tenantId]
properties:
email: { type: string, format: email }
name: { type: string }
tenantId: { type: string }
responses:
User:
description: ok
content:
application/json:
schema:
$ref: '#/components/schemas/UserCreate'
syntax = "proto3";
package edu.payment.v1;
message Order { string id=1; string tenant_id=2; int64 amount=3; string currency=4; string status=5; }
message CreateOrderReq { string tenant_id=1; int64 amount=2; string currency=3; string subject=4; }
message CreateOrderResp { Order order=1; string pay_qr=2; }
service PaymentService {
rpc CreateOrder(CreateOrderReq) returns (CreateOrderResp);
}
{
"$id": "edu.course.v1.CourseCreated",
"type": "object",
"properties": {
"eventId": { "type": "string" },
"tenantId": { "type": "string" },
"courseId": { "type": "string" },
"title": { "type": "string" },
"startTime": { "type": "integer" }
},
"required": ["eventId", "tenantId", "courseId", "startTime"]
}
package main
import (... relevant packages ...)
func main() {
// load config, init logger
// init OTel tracer/provider
// connect Postgres (pgxpool), enable RLS session var: set app.tenant_id
// init Kafka producer (sarama/redpanda)
// start gRPC server + grpc-gateway HTTP
}
type CourseService struct{ db *pgxpool.Pool; producer sarama.SyncProducer }
func (s *CourseService) CreateCourse(ctx context.Context, req *pb.CreateCourseRequest) (*pb.CreateCourseResponse, error) {
// BEGIN TX
// INSERT course
// INSERT outbox(event_json) WITH tenant_id
// COMMIT
// Async relay: outbox-relayer scans and produce to Kafka
return &pb.CreateCourseResponse{Course: saved}, nil
}
// periodically select for update skip locked from outbox where status='NEW'
// publish to Kafka with headers: tenantId, traceparent
// mark SENT
import fastify from 'fastify';
const app = fastify();
app.post('/api/v1/orders', async (req, reply) => {
// validate JWT, extract tenantId
// create order in Postgres (knex/prisma)
// write outbox row
reply.code(201).send({ orderId, pay_qr });
});
app.listen({ port: 8080 });
func TestCreateCourse(t *testing.T) {
// spin up test Postgres (testcontainers), apply migrations
// call CreateCourse, assert response, query DB, check outbox
}
provider "helm" { kubernetes { config_path = "~/.kube/config" } }
module "kafka" {
source = "helm_release"
name = "kafka"
repository = "https://charts.bitnami.com/bitnami"
chart = "kafka"
namespace = "platform"
set { name="replicaCount" value="3" }
set { name="listeners.client.protocol" value="PLAINTEXT" } // MVP内网,生产改TLS/SASL
}
module "minio" {
source = "helm_release"
name = "minio"
repository = "https://charts.bitnami.com/bitnami"
chart = "minio"
namespace = "storage"
set { name="mode" value="distributed" }
set { name="replicas" value="4" }
}
image: ghcr.io/acme/course-service:{{ .Chart.AppVersion }}
replicaCount: 2
env:
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://otel-collector:4317
- name: DB_DSN
valueFrom: secretKeyRef: { name: course-db, key: dsn }
resources:
limits: { cpu: "1", memory: "512Mi" }
requests: { cpu: "200m", memory: "256Mi" }
name: ci
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- run: go test ./...
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with: { registry: ghcr.io, username: ${{ github.actor }}, password: ${{ secrets.GITHUB_TOKEN }} }
- uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ghcr.io/acme/course-service:${{ github.sha }}
- name: Generate Helm values
run: |
sed -e "s#APP_VERSION#${{ github.sha }}#g" charts/course/values.yaml.tpl > charts/course/values.yaml
- name: Push Helm chart
run: helm package charts/course && helm push course-*.tgz oci://ghcr.io/acme/charts
// yarn orval --config orval.config.ts
export const createCourse = (body: CourseCreate) => client.post('/api/v1/courses', body)
import { connect } from 'livekit-client';
const room = await connect(lkUrl, token, { adaptiveStream: true, dynacast: true });
// publish camera for teacher, subscribe for students
const ydoc = new Y.Doc();
const provider = new WebrtcProvider(`whiteboard-${roomId}`, ydoc); // 或自建WS provider
九个关键治理要点(落地经验)
关于“端到端≤800ms且10万大并发”的现实建议
本方案在预算(首年≤80万)、团队(8人)与时间(6个月、1个月MVP)约束下可落地,且技术选型开源优先、可插拔(可替换CDN/SFU/云厂商),满足混合云、多租户合规与运维可控。后续我可以根据你们现有资源(云厂商/边缘机房/省份分布)进一步细化容量规划与成本估算,并把“文生代码工具”做成可一键生成新子域服务的脚手架。
下面给出一套面向“百万设备接入”的云边协同物联网平台参考架构方案,覆盖技术选型、模式利弊、关键设计与落地计划,并给出可用于文生代码生成的结构与模板指引。整体目标:以事件驱动为主、分布式微服务为骨架、选择性引入“按需无服务器”以支撑扩展规则与计算,满足等保、私有化、ARM 边缘、断网续传与预算可控等约束。
一、架构模式取舍与建议
综合建议:主干采用“事件驱动+分布式微服务”,在云侧引入“轻量无服务器”承载扩展规则和集成任务,不进入数据主路径。
二、总体架构(云边协同、数据面/控制面分层)
三、关键设计细节
四、技术选型清单(优先开源、Go/Rust友好)
五、容量与拓扑建议(示例,需压测校准)
六、文生代码输出与模板(目录与最小示例,后续可按需生成完整代码) 建议使用统一IDL(Protobuf),通过 Buf + protoc 生成 Go/Rust SDK 与 gRPC/REST(grpc-gateway),并配合模板引擎(例如 Cookiecutter/Hygen)生成规则算子、Flink作业、Terraform/Ansible与GitOps骨架。
七、上线计划(4个月)
八、风险与缓解
九、为什么这些选型匹配约束
需要我基于上述模板直接生成一套可落盘的初始仓库(proto/SDK骨架/Flink SQL作业/Ansible与Terraform框架/ArgoCD应用清单)吗?我可以按你的环境(K8s/裸机/虚拟化)与三类设备具体协议,输出针对性的代码与配置。
帮助用户根据具体系统需求和约束条件,快速设计和评估多种技术架构模式,为技术选型和系统架构决策提供清晰的参考和指导。
帮助聚焦有限资源,在业务快速发展的同时,选择适合的系统架构,避免过早技术投入浪费。
为复杂项目提供精准的架构建议,平衡多个部门需求,推动技术方案落地。
快速获取架构设计的全貌,辅助决策并与技术团队高效沟通,节省方案讨论时间。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期