项目总体架构
本项目为网络安全学习平台的搭建,采用微服务架构模式,主要用go语言编写,配合前端三件套加上MYSQL数据库,Redis缓存,Kafka构建消息队列,Elastic Search做用户检索,gRPC做内网服务调用,Node做前端鉴权和统一API接口。项目总体结构如下:
运行环境和技术选型说明:
前端:HTML,CSS,JavaScript
后端:Golang
数据库:MySQL8
缓存: Redis
消息队列: Kafka
搜索: Elastic Search
IDE: VS Code
服务器: 阿里云ECS学生服务器
依赖视图:
以评论系统为例,下图中显示了具体的业务流程
分解视图:
将项目的各个子业务拆分成微服务,并设置BFF聚合层,用来对业务逻辑的进一步封装,而底层微服务更具平台通用性,具体业务逻辑如下:
部署视图:
本项目采用阿里云服务器,并采用docker进行容器部署
执行视图:
人员分配:
实现视图:源代码目录结构
数据库设计:
用户表:
文章表:
评论表
系统概念原型的核心工作机制:
普通用户
管理员
总结
本项目结合最新的工程架构思想,如DDD领域驱动设计,微服务架构,并采用业界比较成熟的中间件,如MySQL,Redis等,进行了一次架构层面的尝试,还考虑了高并发时的情况,可以说,至少在架构层面,本项目具备一定的优势。
原文:https://www.cnblogs.com/hcds/p/14209602.html