VM架构设计文档初稿v0.01

VM架构设计文档初稿v0.01

文档介绍

本文档是经过讨论,作为VM新架构设计开发中的重要依据。对该架构的整个系统的结构进行详实细致的描述。阐述框架结构,说明该架构所采取的设计策略和所有技术,并对相关内容作出统一的约定。为设计,编码,测试提供可以参考的模板和帮助。提高设计变更开发的效率,将头脑风暴的结果进行的具体的书面呈现。

架构设计思想

该架构VM以微服务思想为核心进行衍化,兼容DevOps作为主要基础,并使用DDD领域驱动设计思想作为设计过程中的指导思想及方法论。

架构体系描述

以分层体系作为系统架构风格的顶层设计,秉承高内聚,低耦合思想引入分布式思想,消息队列等等作为架构解耦,扩展的基本要素,以DDD思想和业务逻辑作为微服务拆分的主要原则

系统设计分为 显视层 通信控制层 业务逻辑层 持久化层

系统关键模块及组件

根据各层以及各链路整体出发 系统关键模块及组件 共有 负载均衡 , RTM (Request To Message),MQ,Frame 微服务模块,数据存储等

首先 所有用户请求先行经过 负载均衡服务 到 多节点 分布式 的 RTM(Request To Message) 进行消息转发和 依赖 Zookeeper的非法请求识别,服务监测,降级,

接下来 请求消息被转换为约定JSON格式进入到 RabbitMQ相应的消息队列,消息队列主要承载 解耦 削峰 限流,接着消息被推送或者拉取到对应的微服务 frame 层 在这里对用户请求实现完整鉴权并做新旧服务识别分别调用相应的实现层

架构模型图

数据流程图

关键组件简介,选型原因

RabbitMQ

Zookeeper

质量属性场景

可用性

性能

安全

可扩展

可进化

易于测试

DevOps

策略约定

安全性策略

可用性策略

性能策略

核心类图

部署图

原文地址:https://www.cnblogs.com/cuiqq/p/10961584.html

时间: 2024-10-08 08:06:02

VM架构设计文档初稿v0.01的相关文章

撰写架构设计文档的心得体会

1.架构设计文档阅读对象: 是软件工程师,平台产品经理,不是乙方客户: 2.架构设计文档目的与意义: a.系统规划: b.有利于软件工程师的开展工作: c.便于分配工作,指导工作: 3.不在于篇幅,注重干货: 4.系统思维,全面思考,注重规划,关注设计,考虑细节,不局限细节,来解决实际问题: 如软件注册问题,涉及到用户安全.角色.权限.口令加密,验证码的问题. 5.平台总体架构不要照搬照抄的现有系统,分析现有系统的利弊,扬长避短,少走弯路,多走捷径,注重系统的可扩展,可伸缩,未来3-5年扩容与发

架构设计文档

很多同学问做架构设计,怎么才能写出比较好的文档.其实很简单,都是有套路的,今天刚好借这个机会,和大家分享下一般做架构设计该怎么写文档. 背景 首先介绍下项目背景.基于什么原因需要需求. 如果是新产品,描述下产品启动的原因和背景.产品定位 如果是升级版本,描述升级需求.对原系统的影响,以及到达的预期效果 名词解释 文档中出现新的或者不常见的名词.概念给出定义和解释. 设计目标 实现功能 大致描述系统本身的功能性需求,不需描述外部依赖的系统.功能点之间的层级和关联关系要明晰.这里仅描述功能,不需要涉

50架构实战:架构设计文档模板

备选方案模板1. 需求介绍 [需求介绍主要描述需求的背景.目标.范围等] 2. 需求分析[5W1H8C] Who:需求利益干系人.消息队列系统主要是业务子系统来使用,子系统发送消息或者接收消息.When:需求使用时间.当子系统需要发送异步通知的时候,需要使用消息队列系统.What:需求的产出是什么.需要开发消息队列系统.Where:需求的应用场景.开发环境.测试环境.生产环境都需要部署.Why:需求需要解决的问题(与需求背景相关)消息队列系统将子系统解耦,将同步调用改为异步通知. How:关键业

朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素

朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素 [下载文本PDF进行阅读] 本文我会来说说我认为架构评审中应该看的一些点,以及我写设计文档的一些心得.助你在架构评审中过五关斩六将,助你写出能让人收藏点赞的设计文档. 技术架构评审 架构评审或技术方案评审的价值在于集众人的力量大家一起来分析看看方案里是否有坑,方案上线后是否会遇到不可逾越的重大技术问题,提前尽可能把一些事情先考虑到提出质疑其实对项目的健康发展有很大的好处.很多公司都有架构评审委员会都有架构评审的流程,做业务的兄弟要

Chrome设计文档-多进程架构

chromium multi-process architecture 本文档从high-level的角度描述Chromium的多进程架构. 问题 要构建一个决不崩溃或挂起的渲染引擎几乎是不可能的.同样的,要构建一个100%安全的渲染引擎也是不可能的. 从某些角度来看,当今的web浏览器有点类似于过去的单用户,多任务操作系统.正如一个异常的程序会导致整个系统down掉,一个异常的网页也会导致一个现代浏览器挂掉. 现代操作系统之所以更加健壮利益于它们把应用放到隔离的进程中.一个应用的崩溃不会影响其

DDD领域驱动设计 - 设计文档模板

设计文档模板: 系统背景和定位 需求描述 系统用例图 关键业务流程图 领域语言整理,主要是整理领域中的各种术语的定义,名词解释 领域划分(分析出子域.核心域.支撑域) 每个子域的领域模型设计(实体.值对象.聚合.领域事件,需要注意的是:领域模型是需要抽象的,要分析业务本质,而不是简单的直接对需求进行建模) 领域模型详细说明(如为什么这样设计的原因.模型内对象的关系.各种业务规则.数据一致性规则等) 领域服务.仓储.工厂设计 Saga流程设计 场景走查(讲述如何通过领域模型.领域服务.仓储.Sag

CMU440-P2 Tribbler(类推特的发布订阅系统)设计文档

一.开发工具 1.    本项目使用Golang进行开发,主要有以下好处 Golang是一种类型安全(type-safe)的语言,并且自带垃圾回收机制,避开了许多底层语言如C/C++中的陷阱 引入了许多轻便实用性强的数据结构,比如变长数组,字典等 提供了大量的包其中包括网络库,RPC等供编程者使用,使得开发效率更高 Golang支持了一种相比传统的共享内存式的并发模型(比如Java threads)更加轻便抽象的并发模型(消息传递机制) 2.    版本控制工具采用git 3.    开发环境:

设计文档要如何写——转

一份设计文档的结构大概可以分成Background项目背景.Schedule排期.History版本历史记录.Information Architecture信息架构分析(包括Site Map.Experience Map.Flow等).Framework框架设计.Wireframe线框图和Mockup视觉稿等.取决于实际项目的情况,部分内容可以省略,也可以加入更多,比如Storyboard故事板,Prototype可交互原型等. 在过去,我一度没有什么规范的设计文档写作习惯,用纸笔画完Info

java智能四子棋人机大战游戏设计(附项目,以及原创PSD,设计文档)

本项目是使用java技术+自创"假设下子"算法开发的人机大战四子棋游戏客户端. 具体项目,以及原创PSD,设计文档,在文件末尾的百度云连接. 一. 小组说明: 组名:CST 组长:陈飞良(C): 组员: 沈珂 (S): 谭明航 (T): 二.分工说明: ①算法思想上: 本程序的代码实现思想由三人共同讨论得出,其中组员沈珂的"假设下子"思想尤为精妙,让代码实现更为简单,在这基础上,组员谭明航 ,心思缜密,考虑到各种特殊情况,让整个更加智能.组长陈飞良则负责在他们的基础