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






