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