🗒️通用软件架构设计参考

type
status
slug
date
tags
summary
category
password
icon

前端页面资源

  • OSS + CDN:前端页面资托管在对象存储服务(OSS)上,并通过内容分发网络(CDN)加速访问。这样可以提升球用户的访问速度,降低服务器压力。

后端服务

  • DNS路由:通过DNS智能解析技术将请求路由到最接近用户的机房或集群
  • 负载均衡:采用云服务商提供的软件定义网络(SDN)负载均衡器(如阿里云ALB),L7负载独立托管,通过集群插件可以直连pod(实现原理就是SDN定义负载均衡,云厂商自行实现 一般单实例可支持 100w QPS、5Gbps 带宽) 1Gbps 带宽一年价格都已经 100w 了

开发语言

一般前端React+Ts
后端BFF选Node
电商等业务场景选Java
长连接集群、网络代理等Go 互联网一些新开展的业务选择Go的也已经很呢多了
AI相关选择Python
 
语言是实现逻辑的工具,理解GC和并行、并发、异步、线程、协程概念,用起来就是性能、工具链生态是否完善
特别是现在AI辅助编程,很快就能上手新的东西

数据存储

  • Redis缓存集群:采用代理模式的Redis集群,每个分片一般支持大约1万个客户端连接,每秒处理约10w(QPS)。根据实际业务的QPS需求来选择合适的分片数量。 6c16g256分片可达6100wQps
    🗒️
    缓存性能参考
  • MySQL或其他云原生数据库:选择适当的数据库实例(如8核心16GB内存配置),根据业务场景进行合理的分库分表设计,以达到百万级QPS处理能力。此外,也可以考虑使用云原生数据库解决方案,这些方案通常具有更高的性能指标。
    🗒️
    MySql数据库性能参考
  • Elasticsearch (ES):用于商品和订单的全文检索功能,存储必要的列表字段以快速检索。
  • MongoDB:适用于用户维度业务日志存储和商品详细信息记录,提供非结构化数据的灵活管理。MongoDB适合存储那些需要快速查询和更新的半结构化数据。

平台工程

日志收集与监控

  • ELK栈:整合Elasticsearch、Logstash和Kibana进行全链路日志收集和分析,支持traceid和spanid追踪。这有助于在分布式环境中跟踪事务执行情况。
  • Prometheus + Grafana:实现系统和应用层面的实时监控以及预警通知。

k8s集群部署

  • 基础设施:根据业务规模选择合适的计算资源,合理分配以支持弹性伸缩。如果业务量不是特别大,可以选择较一些配置略低的机器做集群节点(比如32c64g)。注意提升资源利用率,通过ECI虚拟节点应对短期高峰扩缩容。
  • 持续集成/持续部署 (CI/CD):结合Jenkins或使用Argo CD和Tekton等工具,建立自动化构建、测试及部署流程。

研发流程

借助钉钉、飞书低代码平台搭建敏捷开发、IPD等公司研发流程,也可以直接使用成品模板
售后、用户反馈同样可以用这些来进行搭建(包括市场分析、商机发现、PRD、UI/UX 端到端的研发体系)
 
上一篇
The MySQL server is running with the --read-only option so it cannot execute this statement
下一篇
字节5000WQPS 从DNS到Kubernetes集群负载均衡分析
Loading...
文章列表
王小扬博客
Git
AI
产品
film
AI Code
Java
其他
计算机网络
DB
云原生
Node
Docker
操作系统
Elasticsearch
Apollo
Nestjs
Think
大前端
PHP
软件开发
设计
生活技巧
CI
缓存