【博客开发】服务端需求分析

简介: 【博客开发】服务端需求分析

每个技术党都想要一个属于自己的博客网站吧,从今天开始,七镜在这里一步一步实现一个简易的个人博客网站。


以下所有内容均可以讨论。




一、功能需求


  1. 权限认证(账号):增删改查——支持注册、注销、修改密码、登录
  2. 核心资源/维度(展示主体):博客所有的展示内容均统一归为“资源/维度”,资源可以是文章、金句、日规划、单词、灵光一现的想法、外出旅游的照片等等。增删改查——支持新增资源、删除资源、显示资源、修改资源
  3. 资源/维度周边(插件、生态)——评论:增删查——支持新增评论、删除评论、(过滤评论);不支持修改评论(但是可以删除)。
  4. 个人展示:增改查——每个账号默认带有个人资料、支持修改个人资料、支持查看个人资料。




二、用户和人的因素


  1. 用户类型是广大个人IP。注册的用户,可以有自己的主页(用户子目录eg:qijing.com/<sub_path>/<account> 或者提供自己的域名对接进来 <domain.com>(需要维护) 或者在自己的服务器单独安装整个应用(需要许可证))




三、环境要求


  1. 硬件需求:1核2G内存云服务器。
  2. 软件需求:linux系统、mysql数据库、redis缓存数据库、k8s容器云环境

附加:可行性验证(以下截图来自本人一个正在运行的个人网站)


image.png


image.png

  • 这是一台4核4g的云服务器,可以看到,在k8s环境下,运行了一个msyql、一个redis、一个前端程序(2芬苯)、一个后端程序(3副本)。cpu占用率很低、内存使用也不到2g。
  • 在某云上使用首单优惠,100块钱不到,就可以买一台云服务器,并使用一年。





四、文档需求


  1. 客户端用户使用文档
  2. 客户端开发文档
  3. 服务端开发文档
  4. 运维部署文档




五、数据需求


  1. 资源数据接口规范使用 GraphQL。
  2. 权限认证等短接口使用 grpc。
  • 以上接口规范,参考的是个人技术栈。统一使用restful接口规范也是很好的。




六、安全保密需求


  1. 用户密码加密存储传输。
  2. 用户数据通过账号隔离。
  3. 网络传输使用 https

由于开发的应用比较简单,因此暂无性能需求、无界面需求、无资源使用需求、无可靠性需求、无软件成本消耗与开发进度需求。














目录
相关文章
C# 解决引用dll,出现dll不可以使用等问题
C# 解决引用dll,出现dll不可以使用等问题
|
移动开发 前端开发 JavaScript
大前端时代
大前端时代
250 1
|
缓存 Java 应用服务中间件
面试官:如何实现多级缓存?
面试官:如何实现多级缓存?
453 1
|
机器学习/深度学习 人工智能 运维
《未来智能运维:AI技术的应用与展望》
在当今数字化时代,智能运维正日益成为企业提升效率、降低成本的关键。本文将探讨人工智能技术在运维领域的应用现状与未来发展趋势,展望未来智能运维的发展前景。
1006 1
|
2月前
|
人工智能 语音技术 Docker
揭秘8.3k star 开源神器 VoiceCraft 用AI革新有声内容创作,只需几秒录音
VoiceCraft 是一款开源语音编辑与文本转语音(TTS)工具,仅需几秒录音即可实现语音克隆、插入、删除、替换等操作,支持零样本编辑和高自然度语音生成。适用于播客、短视频、有声书等内容创作场景,具备本地部署能力,已在 GitHub 获得 8.3k 星标。
297 0
|
3月前
|
人工智能 自然语言处理 大数据
互联网医院智能导诊系统的技术实现原理
互联网医院智能导诊系统利用人工智能与大数据技术,通过自然语言处理、医学知识图谱、多模态交互等技术,实现患者症状的智能识别与科室匹配,提升挂号效率与准确率,优化就医流程。
182 10
|
负载均衡 安全 Cloud Native
Web应用防火墙
本文介绍了Web应用防火墙(Web Application Firewall,简称WAF)2.0和3.0版本的关系、区别、如何快速使用WAF。
379 1
|
5月前
|
人工智能 运维 网络安全
重构门店网络:从“打补丁“到“造地基“的跨越
传统网络架构正在威胁门店数字化转型,其“三大致命矛盾”架构老化、业务爆发、新兴技术卡壳等问题日益严重。传统网络的“人肉运维”模式效率低下,人肉容灾能力不足。随着云化需求的增加,传统网络架构无法适配云计算、AI应用等新兴技术,云化受阻。
|
8月前
|
计算机视觉
RT-DETR改进策略【损失函数篇】| 利用MPDIoU,加强边界框回归的准确性
RT-DETR改进策略【损失函数篇】| 利用MPDIoU,加强边界框回归的准确性
277 2
|
前端开发 关系型数据库 MySQL
com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别
这篇文章讨论了`com.mysql.jdbc.Driver`和`com.mysql.cj.jdbc.Driver`两个MySQL驱动类的区别,指出`com.mysql.jdbc.Driver`适用于MySQL 5的`mysql-connector-java`版本,而`com.mysql.cj.jdbc.Driver`适用于MySQL 6及以上版本的`mysql-connector-java`。文章还提到了在实际使用中如何根据MySQL版本选择合适的驱动类。
com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别