- 2022-04-09 发布 |
- 37.5 KB |
- 27页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
系统技术架构设计方案
''技术架构技术架构总览业务框架技术方案运营监控治理安全防范接入层流量切换Https接入前后台分离动静分离预处理业务量监控接口层服务网关,路由分发黑白名单业务链微服务/组件MQAPISLA灰度订单服务层Oauth认证产品异步/离线MapReduce日志收集隔离/降级Hystrix熔断资源SSOAI调用栈供应商安全巡检…DB水平扩充/HDFS服务器状况身份认证读写分离数据层动态规划数据存储n''IP限制分布式缓存NoSQL网络状况n''技术方案前台技术架构根据用户设备及浏览器尺寸路由PCPADMobile其它智能设备页面自适应、最小宽度页面自适应页面自适应element-ui+vuejs+Echartsvuejs+muijsvuejs+muijs金豆云CMS配置编译发布自自系统构建:Webpack,Gulp基础组件库定定义义JSCSSResourceHtml5组样n''件式*.js,*.vue*.sass,*.cssFont,ImgFont,Img基础样式库n''技术方案微服务架构结合现实情况,平台服务计划分二个阶段完成,先完成服务化,后续在服务化的基础上重构成微服务第一步:服务化第二步:微服务LoadBalancer服务注册中心–zookeeper服务监控基础服务框架服务提供者服务提供者服务提供者springbootWebServerWebServer业务代码业务代码业务代码报警分布式RPC服务框架dubbo异构服务提供者服务提供者服务提供者实时数据语言服务注册中心监控Proxy业务代码业务代码业务代码zookeeper集群暂停用户订单商品…服务发布容器服务提供者服务提供者服务提供者恢复服务服务服务docker下线业务代码业务代码业务代码持续集成工具服务治理jenkinsn''用户订单商品…服务依赖调用链路服务流量性能瓶颈SLA分析历史信息关系分析追踪控制分析统计DBDBDBDBn''技术方案动静分离-CDN静态资源访问加速静态资源文件(html,css,js,img等)静态数据返回业务静态图片用户CDN''用户动态动态数据用户静态请求数据结果返回数据请求回源请求抓取数据静态脚本附件Web程序数据库内网访问,图片视频音频数据更新维护ECS(服务器)OSS(云存储服务)n''智能压缩对静态资源进行压缩,减少传输大小,加速分发效果可视化监控可通过视化监控管理,查看监控日志和统计分析制定合适的缓存策略,并可通过从源站刷新缓存等手段主动维护高访问资源的缓存n''技术方案负载均衡+弹性扩展''流量调度多台云服务器自动进行流量分发,获得更高水平的容错性能扩展性支持云服务器动态扩展,实现无缝伸缩,伸缩过程不用更换任何设备,对相关调用和访问者零影响安全四层DDoS攻击防护,支持应用防火墙和CC防护,提供防护统计页面,实时抵御网络攻击n''前期方案云服务器ECS负载均衡云服务器ECS后期根据业务扩展增强负载均衡云服务器ECS云服务器ECS负载均衡云服务器ECS云服务器ECSn''技术方案消息系统消息队列采用阿里云MQ消息发送/发布方消息接收/订阅方TCPUDPHTTPSOAP…消息接收器消息发送器消息持久消息状态流入路由器流出路由器元数据拦截器消息内部服务拦截器转换器组件调用事务管理故障恢复组件容器n''技术方案推荐引擎基于阿里云的RecEng(推荐引擎)和MaxCompute(大数据计算服务)搭建金豆云推荐引擎,实现千人千面''基本推荐流程客户接入数据特征提取计算用户/物品评分用户/物品用户/物品的原始特征评分矩阵用户/物品用户/物品关系计算的耦合特征相关性计算+邻近计算用户的候选推荐集/物品相似物品集推荐建模流程客户效果数推荐请求API据OTS物品实模型样本时修正表推荐处理线OTS离线计程算结果表基于业务目标OTS用户实的监督学习时修正表针对业务目标的API返回RankingModel''n''OTS离线计算结果表''离线计算在线计算n''技术方案用户认证SSO+OAuth2''内部系统内部系统采单点登陆方式进行管理供应系统资源系统人脉系统…微店系统金豆云认证系统用户信息n''外部系统外部系统连接主要分为2种方式:1.通过ROP平台实现数据交互2.金豆云提供OAuth2认证机制给第三方,实现页面与数据的交互RequestUserUrl跳转用户授权生成AuthCode请求AccessTokenRequestAccessUrl生成AccessToken请求用户OpenIDRequestInfoUrl生成OpenID获取用户资源通过token、openId及APIn''技术方案分析平台''JSONEcharts|CuBIRESTAPI报表Spring,SpringMVC,JMS,Sqoop事件监听定时任务数据导入SparkAPI接口数据分析数据融合MQ消息队列HBaseHadoopHDFSn''•分析平台基于业务数据进行数据映射与融合•整体架构基于大数据分析框架设计,并通过模块化设计进行内部解耦,将数据收集,导入及分析功能围绕分析模型系统处理•业务数据收集工作通过异步消息及定时导入方式实现•底层技术实现•前端主要提供RESTAPI供产品平台进行数据获取。同时采用Echarts或CuBI进行报表展现•中台服务逻辑层使用Spring,SpringMVC作为应用构建及对外接口发布,配合MQ队列机制处理异步消息。Spark作为核心数据处理引擎,进行MapReduce处理•持久层主要采用HBase进行大数据存储,同时使用HadoopHDFS支持分布式存储n''技术方案数据库''设计原则1统一数据视图保证数据的及时性、一致性、准确性、完整性2数据应用分离应用系统只依赖逻辑数据库应用系统不直接访问其它宿主的数据库,只能通过服务访问3数据读写分离访问量大的数据库做读写分离数据量大的数据库做分库分表不同业务域数据库做分区隔离重要数据配置备库;MongoMongo业务DBDB业务MasterSlave数据库数据库(Master)(Slave)报表数据RedisRedisMasterSlave库HBaseHadoopHDFSDocDocDoc''合理使用缓存•产品平台数据库设计方案采用二级缓存机制4•一级缓存使用Redis副本集,对频繁访问数据进行缓存。同时围绕Redis单线程机制,针对大量并发场景设计了同一用户的并发锁策略。n''•二级缓存使用MongoDB副本集,对结构化数据及频繁更新数据进行文档化数据存储•业务数据库使用MySQL集群方案•分析平台基于大数据架构设计方案,数据库使用区域HBase部署策略,同时采用HadoopHDFS进行分布式文件存储n''技术架构–运营监控流量控制水平扩展应用:集群,无状态,提高访问量数据:读写分离,提高性能业务分区应用:按业务域划分成不同子系统数据:数据分区1.分流分片应用:不同业务类型分片数据:分库分表,提高数据容量动静分离应用:分层,功能与非功能分开数据:冷热数据分离无法缓解大流量页面降级1.动态页面降级到静态2.整体降级到其他页面Nginx前端限制3.页面部分内容业务功能降级舍弃一些非关键业务,应用系统限流2.降级如购物车库存状态3.限流客户端限流应用系统降级降级一些下游系统,无法缓解如一次拆分暂停服务端限流大流量n''数据降级远程服务降机到本数据库限流地缓存n''技术架构–运营监控SLA数据持久性数据可销毁性不低于99.9999999%数据无法恢复数据可迁移性数据私密性迁入迁出网络层访问控制技术实现对不同用户资源的隔离服务可用性数据知情权不低于99.95%对于数据、备份数据所在数据中心地理位置、数据备份数量具有知情权故障恢复能力服务资源调配能力7×24小时的运行维护用户可在10分钟内启用或释放100台云服务器,或在5分钟内完成停机升级CPU和内存,并支网络接入性能持在线实时升级公网带宽多线接入,0Mbps~200Mbpsn''服务提供方SLA服务消费方n''技术架构–治理灰度发布老系统老系统DB部分请求到旧系统上,另一部分请求到了新的灰度系统上.走到Client转发旧系统的请求,还是照原样处理.走到了新版灰度系统的请求,需要同时将请求转发给旧系统上来对应的接口上修改旧系统的数据.如果走到新系统的请求查不到该用户的数据,还需要首先同步一份来新系统上新系统新系统DBClient请求首先走到了新版本需要灰度的服务A上,在经过该服务处理后,给请求打上了tagA,由于带上了tag,后续访问的都是配套灰度的A服务新版A服务C服务TagAB服务B服务n''TagA''C服务新版C服务n''技术架构–安全安全策略''1Https接入数据传输入过来加密,防止传输过程中数据被篡改、安全级别更高2黑白名单设置黑名单,使用haproxy、nginx过滤恶意请求OAuth2认证3使用Spring-security-oauth2实现与第三方系统认证授权''安全策略''6安全巡警购买阿里安骑士、Web应用防火墙,防止恶意CC攻击,避免网站挂马篡改5IP限制n''设置数据库访问IP列表,保障核心数据不受到侵犯4Hystrix熔断通过Hystrix防护和控制系统依赖,防止故障连锁,以完成对应用的熔断、降级等策略查看更多