当前位置: 首页 > article >正文

通用软件架构设计参考

前端页面资源

  • 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辅助编程,很快就能上手新的东西

数据存储

DB

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

平台工程

PlatformEngineering

日志收集与监控

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

k8s集群部署

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

研发流程

借助钉钉、飞书低代码平台搭建敏捷开发、IPD等公司研发流程,也可以直接使用成品模板

售后、用户反馈同样可以用这些来进行搭建(包括市场分析、商机发现、PRD、UI/UX 端到端的研发体系)


http://www.kler.cn/a/297236.html

相关文章:

  • SprinBoot+Vue旅游网站的设计与实现
  • python-新冠病毒
  • Linux 网络编程 --- 应用层
  • 使用Ansible-playbook 自建CA,并签发客户端IP证书
  • Docker基础-Docker Compose使用
  • 【正式版】深度技术Win10系统22H2最新版本:免费下载!
  • 【c++23种设计模式概述】
  • 将AI与情境定位结合以确保品牌安全
  • 【HarmonyOS】头像圆形裁剪功能之手势放大缩小,平移,双击缩放控制(三)
  • MyBatis 源码解析:BatchExecutor 与 SimpleExecutor 详解
  • 【三元组枚举中点】【树状数组】个人练习-Leetcode-1395. Count Number of Teams
  • Win11设置不同的类型的打开方式
  • 为何家用无线路由器不能实现PROFINET通信?
  • OCR技术视角:智能文档管理中的票据自动化识别与处理
  • 如何创建自己的Spring Boot Starter并为其编写单元测试
  • 决策树 (Decision Trees)
  • rust 命令
  • 【高阶数据结构】二叉树的创建、存储方式(顺序与链式)、遍历方法(递归与非递归)(精美图解+完整代码)
  • 内存取证隐写
  • 运维学习————Jenkins(1)