收藏 分享(赏)

iUAP技术架构.ppt

上传人:weiwoduzun 文档编号:3503657 上传时间:2018-11-07 格式:PPT 页数:28 大小:6.25MB
下载 相关 举报
iUAP技术架构.ppt_第1页
第1页 / 共28页
iUAP技术架构.ppt_第2页
第2页 / 共28页
iUAP技术架构.ppt_第3页
第3页 / 共28页
iUAP技术架构.ppt_第4页
第4页 / 共28页
iUAP技术架构.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、iUAP技术架构,目录,技术平台架构 具体场景描述,互联网平台设计原则,互联网平台不同于企业内部应用平台,它需要面对百万甚至千万级的并发用户,如何应对,尽可能的拆分:用分布式机制保证高扩展性,应用服务的分布式分布式服务通讯框架主要包括服务注册中心和监控中心2大组件,提供动态的远程服务调用,软负载均衡,故障隔离等功能,适合大规模高并发型交易型网站.在建设初期为了减少实施和部署的复杂度,可以使用一些商业中间件如Websphere Cluster或Weblogic Cluster等提供的集群机制来实现负载均衡和故障转移等功能,基于SOA的松耦合架构支持未来以较小的代价升级到分布式服务通讯框架搜索服务

2、的分布式推荐使用Solr搜索引擎,搜索请求由应用服务器(或客户端)发起,可通过Apache服务器根据集群策略转发到集群中任意一台搜索服务器执行。此外Solr还支持分布式搜索, Solr从1.3版本开始,自带了分布式搜索(Distributed Search)。这个功能使得Solr能够通过多服务器进行横行扩展,对数据进行水平拆分,从而支持海量数据的搜索功能。缓存的分布式推荐使用varnish、memcached或Redise作为缓存服务器,memcached是一款免费、开源,高性能,分布式的内存对象缓存系统,它可以应对任意多个连接,使用非阻塞的网络IO。 memcached是通过客户端的算法实现

3、缓存的分布机制,通过hash算法保证缓存能均匀地分布在缓存服务器中,并避免了单台缓存服务器的故障导致缓存服务器集群所有服务器需要重新刷新缓存数据访问的分布式 将业务紧密,表间关联密切的表划分到同一个数据库(如按照中心对数据垂直切分成多数据库),当网站数据量非常巨大且增速异常迅猛,垂直切分后的数据库仍然不能满足性能需要时,一般可以考虑通过全局索引库或者hash分库来做水平切分分库,水平分库的多数据源访问一般需要通过分布式数据访问层来做数据路以保证数据负载均衡和分布式事务。,尽可能的拆分:垂直拆分和读写分离,数据类型定义 基础共享类数据:主要包括商品主数据、后台配置信息等 交易类数据:主要包括用户

4、、订单类数据 基础共享类类数据建议可通过读写分离+数据复制实现分库 目前主流的数据库复制技术主要有3类:Q复制、CDC和SQL复制,基于性能和稳定性考虑,建议采用Q复制(基于消息队列,支持ORACLE和DB2等大型数据库) 交易类数据建议通过应用拆分成多库,一般使用以下两种数据访问方式 基于全局索引库分库 Hash分库,主数据库,应用层,用户,商品,订单,按表的相关性划分,关系紧密的表(比如某个模块的表)放在同一个库,垂直切分,数据库垂直切分,数据库读写分离,应用层,写库节点,只读库节点,写入,读取,复制方案,存储,独立 存储,独立 存储,负载 类型,负载 类型,尽可能的拆分:水平拆分,基于全

5、局索引库水平分库示例,基于hash水平分库示例,尽可能的缓存:多级缓存与静态化机制,要做到尽可能的缓存 动静分离 页面的动静分离 (*) 资源的动静分离 (*)伪静态化多级缓存 CDN (*) Page Cache Server (*) Data Cache Server分布式缓存 分布式缓存架构替换Local JVM (*)主动失效机制 (*),尽可能的异步:通过异步处理机制支持高并发,要做到尽可能的异步 同步改异步:将所有跟用户交互不相干的,非主流程的操作,由同步改成异步,最大程度的提高系统吞吐量。例如:订单提交给OMS,返券,记日志和审计,发邮件和短信。 使用独立的Message Ser

6、ver , 最大程度的提高系统吞吐量,尽可能的自动化:如自动发布部署工具,自动构建索引,自动发布部署,自动构建搜索索引,尽可能的容错:用集群机制减少单点故障,保证高可用,前端web集群可以通过不同的特征,将前端服务请求分流到不同的后端应用集群中,这样一方面可以使互联网用户不能访问后台系统,保证了后台系统的访问安全,同时避免后台系统某些业务操作对前台系统的造成的性能影响,另一方面可以根据系统压力灵活分配前后端应用集群使用的应用服务器,甚至可以在访问高峰期将后端应用集群的机器临时分配给前端应用集群使用 分布式服务通讯框架主要包括服务注册中心和监控中心2大组件,提供动态的远程服务调用,软负载均衡,故

7、障隔离等功能。可以借鉴业界比较认可的阿里巴巴提供的开源服务通讯框架Dubbo来搭建服务通讯框架,安全性的考虑:系统安全,网络安全在接入安全方面,可以采用防火墙的设置,保证所有经过不同网络接入方式的数据安全。用户在接入平台时,需要经过两层异构防火墙才可访问。对于核心服务区中的服务器的访问安全,建议考虑采用业界一些著名的主机服务器的入侵检测方案。 系统安全在核心服务区中的服务器上安装配置主机漏洞扫描软件,这样就可以在整个企业范围内为关键性应用程序和服务器自动搜索发现其漏洞隐患和不符合安全策略的设定。 建议考虑采用业界优秀的防病毒解决方案。 建议WEB服务器接入防篡改系统,防止黑客攻击web服务器,

8、篡改内容 应用安全用户身份认证与支付,基于RSA安全控制机制,采用动态口令牌、CA证书等多种认证技术手段,保证交易安全级别;支持交易隔离和交易分类功能,可按交易的安全级别将应用分离部署,如前后台应用分离,将互联网用户从网络层与后台应用隔离。同理也可以将某些特殊应用(如秒杀)和普通应用分流到不同的应用集群中,以限制某类交易资源占用异常对其他交易的影响,提高业务系统整体可用性。 数据安全一方面, 在数据库物理存储上将按照移动制定的相应的安全政策,来管理数据库本身所依存的硬件、及其存放场所的物理安全。一方面,对于数据库实施的操作可以利用审计功能,监视用户对数据库施加的动作,安全性的考虑:应用安全,账

9、号管理 支持设置账户策略 支持设置密码策略 密码保护命令 多种认证机制 PKI安全体系验证 建议购买SSL证书,为商城的机密数据提供加密传输功能,从而确保机密信息的机密性、完整性和不可否认 对包含用户密码、证件号码等敏感信息的页面如登录、会员中心、购物车等启用SSL数据传输加密安全通道,防用户隐私遭监视 业务操作控制 对于敏感数据,采用加密的方式保存在数据库中 采用动态短信密码、图片验证码等方式保证用户账号的安全 对于协议支付的支付密码输入框,建议使用密码控件 使用预编译语句集 防SQL注入 支持跨站点脚本编制保护(基于过滤器,拒绝包含指定为不允许的属性(参数)或字符串的任何用户请求)防跨站点

10、脚本攻击 支持跨站点请求伪造保护(启用跨站点请求伪造保护时,会要求在请求中包含一个名为 authToken 的指定 URL 参数)防请求伪造式网络钓鱼攻击 支持URL重定向过滤(启用 URL 重定向过滤时,拒绝所有尝试重定向到未授权站点的请求)防重定向网络钓鱼攻击,技术平台的架构设计,部署架构图-完整版,平台中间件部署架构,部署架构图-简化版,目录,技术平台架构 具体场景描述,场景化描述,xx网站促销,小明,关键场景与中间件: 一、首页访问,场景描述 某电商网站促销,吸引大量流量,小明在其他网站看到促销广告,点击进入这个网站首页。 关键问题 高并发下的页面缓存、图片下载访问 涉及中间件技术 N

11、ginx(反向代理缓存) FastDFS(文件存储系统),图片下载 (大小图),静态页面,FastDFS,1,2,3,4,首页访问关键中间件技术:Nginx,FastDFS,Nginx(反向代理缓存) 适用于需要大量重复访问同类的静态资源 扩展性:动态增加节点 可用性:数据一致性哈希散列分布,降低单台故障率 FastDFS(文件存储系统) FastDFS适用于海量小图片的存储,MongoDB更适合存储需要查询的非结构化数据 扩展性: 动态增加存储节点备份 动态增加存储组扩容 可用性: 代理节点无中心化 存储节点多份备份,关键场景与中间件: 二、用户登录,场景描述 小明在网站首页浏览后,点击了登

12、录按钮,输入用户名密码进行登录。 关键问题 高并发下的登录服务调用、分布式会话、安全 涉及中间件技术 Redis(会话信息缓存) Dubbox(分布式服务),1,2,3,4,新增唯一web节点,会话信息仍然保持,用户登录关键中间件技术:Redis,Dubbox,Redis(会话信息缓存) 适用于集中式的缓存存储,支持高并发的键值对读写,以及非实时的持久化业务 扩展性: 主从扩展 数据分片 可用性:通过哨兵实现主从自动故障迁移 Dubbox(分布式服务) 适用于具体业务服务 扩展性:服务自动扩容减容 可用性:通过Zookeeper的高可用保证服务的注册和发现,关键场景与中间件: 三、商品搜索,场

13、景描述 小明在网站登录后,在搜索栏输入信息进行商品搜索。 关键问题 高并发下的搜索调用 涉及中间件技术 Solr(信息搜索) Redis(索引信息缓存),1,2,索引,3,4,商铺管理员修改商品图片,Solr索引重建,搜索结果更新,商品搜索关键中间件技术:Redis,Solr,Solr(搜索) 适用于对数据库大量数据针对指定属性的快速查找 扩展性: 节点分片集群 动态增加复制节点分散读压力 可用性: 通过Zookeeper保证集群整体可用 单分区内主副节点可以自动故障切换,搜索集群,所处集群位置,关键场景与中间件: 四、商品详情,场景描述 小明在搜索到具体商品后,点击商品进入商品详情页面展示。

14、 关键问题 高并发下的商品详情页展示、数据库读取 涉及中间件技术 Redis(商品信息缓存) Nginx(反向代理缓存) FastDFS(文件存储系统) Dubbox(分布式服务) Ameoba/MyCat(数据库读写分离),Mysql读库,1,2,3,8,4,5,6,7,商品详情页的redis缓存,商品详情关键中间件技术:Redis、Dubbox、Ameoba/MyCat,Ameoba/MyCat(数据库读写分离) 适用于对数据库的读写操作进行分流,适合于读数据量远大于写数据量的业务 扩展性:动态增加节点通过Haproxy负载均衡 可用性: MyCat自动进行数据源的可用性检查,自动故障切换

15、 Haproxy进行健康检测,保证请求转发,所处集群位置,数据库写操作,数据库读操作,关键场景与中间件: 五、用户下单,场景描述 小明查看商品详情后,感觉很满意,将商品添加购物车并结算提交订单。 关键问题 高并发下的订单提交、订单提交后相关业务的触发 涉及中间件技术 Dubbox(分布式服务) RabbitMQ(消息队列) Quartz(任务调度),Mysql写库,1,2,5,3,4,RabbitMQ队列有消息未消费,RabbitMQ队列中无消息,用户下单关键中间件技术:Dubbox,RabbitMQ,Quartz,RabbitMQ(消息队列) 适用于对相关但不紧耦合的业务进行异步解耦,以及发布订阅场景 扩展性:订阅端动态增加消费节点 可用性:通过镜像队列加持久化保证消息不丢失 Quartz(任务调度) 适合于定期运行或指定运行特定任务的调度 扩展性:水平增加节点 可用性:节点无中心化保证高可用,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报