系统架构设计Word文档下载推荐.docx
《系统架构设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《系统架构设计Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
Webpack,Gulp
基础组件库
定
义
JS
CSS
Resource
Html5
组
样
件
式
*.js,*.vue
*.sass,*.css
Font,Img
基础样式库
微服务架构
结合现实情况,平台服务计划分二个阶段完成,先完成服务化,后续在服务化的基础上重构成微服务
服务监控
基础服务框架
springboot
业务代码
分布式RPC服务框架
dubbo
服务注册中心
zookeeper
服务发布容器
docker
持续集成工具
服务治理
jenkins
动静分离-CDN
静态资源访问加速
静态资源文件(html,css,js,img等)
静态数据返回业务静态图片
用户
CDN
用户动态
动态数据
用户静态
请求数据
结果返回
数据请求
回源请求
抓取数据
静态脚本
附件
Web程序
数据库
内网访问,
图片
视频\音频
数据更新维护
ECS(服务器)
OSS(云存储服务)
智能压缩
对静态资源进行压缩,减少传输大小,加速分发效果
可视化监控
可通过视化监控管理,查看监控日志和统计分析制定合适的缓存策略,并可通过从源站刷新缓存等手段主动维护高访问资源的缓存
负载均衡+弹性扩展
流量调度
多台云服务器自动进行流量分发,获得更高水平的容错性能
扩展性
支持云服务器动态扩展,实现无缝伸缩,伸缩过程不用更换任何设备,对相关调用和访问者零影响
安全
四层DDoS攻击防护,支持应用防火墙和CC防护,提供防护统计页面,实时抵御网络攻击
云服务器ECS
负载均衡
消息系统
消息队列采用阿里云MQ
消息发送/发布方
消息接收/订阅方
TCP
UDPHTTPSOAP…
消息接收器
消息发送器
流入路由器
流出路由器
拦截器
消息
内部服务
转换器
组件调用
组件容器
推荐引擎
基于阿里云的RecEng(推荐引擎)和MaxCompute(大数据计算服务)搭建金豆云推荐引擎,实现千人千面
基本推荐流程
客户接入数据
特征提取
计算用户/
物品评分
用户/物品
的原始特征
评分矩阵
关系计算
相关性计算+邻近计算
推荐建模流程
客户效果数
推荐请求
API
据
OTS物品实
模型样本
时修正表
推荐处理线
OTS离线计
程
算结果表
基于业务目标
OTS用户实
的监督学习
离线计算在线计算
用户认证SSO+OAuth2
内部系统
内部系统采单点登陆方式进行管理
…
外部系统
外部系统连接主要分为2种方式:
1.通过ROP平台实现数据交互
2.金豆云提供OAuth2认证机制给第三方,实现页面与数据的交互
RequestUserUrl
RequestAccessUrl
RequestInfoUrl
通过token、openId及API
分析平台
JSON
Echarts|CuBI
RESTAPI
报表
Spring,SpringMVC,JMS,Sqoop
事件监听
定时任务
数据导入
Spark
API接口
数据分析
数据融合
MQ消息队列
HBase
HadoopHDFS
•分析平台基于业务数据进行数据映射与融合
•整体架构基于大数据分析框架设计,并通过模块化设计进行内部解耦,将数据收集,导入及分析功能围绕分析模型系统处理
•业务数据收集工作通过异步消息及定时导入方式实现
•底层技术实现
•前端主要提供RESTAPI供产品平台进行数据获取。
同时采用Echarts或CuBI进行报表展现
•中台服务逻辑层使用Spring,SpringMVC作为应用构建及对外接口发布,配合MQ队列机制处理异步消息。
Spark作为核心数据处理引擎,进行MapReduce处理
•持久层主要采用HBase进行大数据存储,同时使用
HadoopHDFS支持分布式存储
设计原则
统一数据视图
保证数据的及时性、一致性、准确性、完整性
数据应用分离
应用系统只依赖逻辑数据库
应用系统不直接访问其它宿主的数据库,只能通过服务访问
数据读写分离
访问量大的数据库做读写分离数据量大的数据库做分库分表不同业务域数据库做分区隔离重要数据配置备库;
合理使用缓存
?
产品平台数据库设计方案采用二级缓存机制
一级缓存使用Redis副本集,对频繁访问数据进行缓存。
同时围绕Redis单线程机制,针对大量并发场景设计
了同一用户的并发锁策略。
二级缓存使用MongoDB副本集,对结构化数据及频繁更新数据进行文档化数据存储
业务数据库使用MySQL集群方案
分析平台基于大数据架构设计方案,数据库使用区域HBase部署策略,同时采用HadoopHDFS进行分布式文件存
储
技术架构–运营监控
流量控制
应用:
集群,无状态,提高访问量
数据:
读写分离,提高性能
按业务域划分成不同子系统
数据分区
1.分流
不同业务类型分片
分库分表,提高数据容量
分层,功能与非功能分开
冷热数据分离
无法缓解大流量
1.
动态页面降级到静态
2.
整体降级到其他页面
3.
页面部分内容
舍弃一些非关键业务,
2.降级
如购物车库存状态
3.限流
降级一些下游系统,
无法缓解
如一次拆分暂停
大流量
远程服务降机到本
地缓存
SLA
数据持久性
数据可销毁性
不低于99.9999999%
数据无法恢复
数据可迁移性
数据私密性
迁入迁出
网络层访问控制技术实现对不同用户资源的隔离
服务可用性
数据知情权
不低于99.95%
对于数据、备份数据所在数据中心地理位置、
数据备份数量具有知情权
故障恢复能力
服务资源调配能力
7×
24小时的运行维护
用户可在10分钟内启用或释放100台云服务器,
或在5分钟内完成停机升级CPU和内存,并支
网络接入性能
持在线实时升级公网带宽
多线接入,0Mbps~200Mbps
技术架构–治理
灰度发布
老系统
老系统DB
部分请求到旧系统上,另一部分请求到了新的灰度系统上.走到
Client
转发
旧系统的请求,还是照原样处理.走到了新版灰度系统的请求,
需要同时将请求转发给旧系统上来对应的接口上修改旧系统的数
据.如果走到新系统的请求查不到该用户的数据,还需要首先同
步一份来新系统上
新系统
新系统DB
请求首先走到了新版本需要灰度的服务A上,在经过该服务处理后,
给请求打上了tag
A,由于带上了tag,后续访问的都是配套灰度的
A服务
新版A服务
C服务
技术架构–安全
安全策略
Https接入
数据传输入过来加密,防止传输过程中数据被篡改、安全级别更高
黑白名单
设置黑名单,使用
haproxy、nginx过
滤恶意请求
OAuth2认证
使用Spring-security-oauth2
实现与第三方系统认证授权
安全巡警
购买阿里安骑士、Web应用防火墙,防止恶意CC攻击,避免网站挂马篡改
IP限制
设置数据库访问IP列表,保障核心数据不受到侵犯
Hystrix熔断
通过Hystrix防护和控制系统依赖,防止故障连锁,以完成对应用的熔断、降级等策略