为营造安全、规范、有序的开发环境,保障消费者数据的安全性,开放平台针对开发者未合规存储、处理和转移用户数据的行为进行排查,其中涉及对部署在聚石塔内系统架构和对发起API调用方式的方式及和塔外数据交互方式等。其中对于不合规范的架构,需要将将客户端的业务处理剥离出来,转移到服务器端,针对此改造提供如下解决方案。
注:聚石塔要求业务逻辑处理放在服务器端完成,标准三层架构符合此规范,即客户端用于业务数据展现与用户交互操作,服务器端处理业务逻辑与存储数据。
不合规的架构包括传统的C/S架构一般采用两层架构,客户端接受用户的请求,客户端向数据库服务提出请求,数据库服务器通过互联网将数据提交给客户端,客户端将数据进行计算(可能涉及到运算、汇总、统计等等)并将结果呈现给用户,也包括通过使用云服务器(ECS)进行跳转代理,由ECS通过内外网转发到淘宝开放平台获取数据,或将聚石塔云数据库(RDS)通过公网IP进行客户端与数据库的交互。
架构特点:
客户端机器配置要求高:所有的业务逻辑及数据计算都在客户端进行,客户端机器需要达到一定的高配置才能保证系统高效的运行;
数据安全性差:公网环境进行数据交互或者直连云数据库,存在网络安全隐患;
标准的聚石塔加固是三层架构,C端或B端都可,客户端并不参与计算,只是简单地接收用户的请求,显示最后的结果,所有的计算逻辑及业务处理都部署在服务端(云服务器上),API请求通过ECS走内网交互,而且数据库部署在云数据库RDS上,数据与塔外系统的交互通过奇门云网关进行,确保网络安全。
架构特点:
客户成本低:逻辑运算不在客户端,对客户端计算机的配置要求就比较低;
数据传输效率高:由于应用服务到客户端只是传递最终的结果,数据量较少,所以对网络的要求不高,客户端数据呈现效率相对提高;再者数据库到服务端走聚石塔内网,避免了互联网的影响,数据传输快;
软件升级方便:由于数据计算(业务逻辑)处理都放在应用服务层,客户端只是一个显示的载体,所以当业务逻辑发生变化时,只需更新应用服务即可,而不用更新每个客户端;
系统安全保障及弹性升级:服务器和数据库都部署在聚石塔云计算环境,能得到实时的安全监控,同时与塔外数据的交互通过奇门网关确保网络传输的安全,另外塔内出现资源瓶颈可以无缝的进行弹性升级;
RDS推送,提升订单处理效率:原先通过请求TOP API的方式下载淘宝订单,数据库部署在RDS上之后,可以切换使用订单同步服务,直接将订单推送入数据库,提高了下单效率,保障了不丢单不漏单;
规则名称 |
规则要求 |
系统部署 |
购买vm和RDS,应用部署在VM上,数据库迁移至RDS上 |
RDS选型 |
RDS类型选择mysql |
数据库安装 |
DB部署在RDS中 |
系统架构 |
产品是三层架构,业务逻辑在server端运行 |
API调用 |
API的调用在塔内VM进行 |
业务逻辑 |
1) ERP系统的履单业务在塔内,如订单下载,合\拆单,审单和发货; 2) WMS系统仓储发货退货单、盘点单、调拨单等逻辑及处理的数据回流进塔内; 3) CRM的会员管理逻辑以及订单判断逻辑在塔内运行; |
数据存储 |
1) 增值类接口返回的数据在VM服务端处理之后存放在RDS中; 2) 订单履单业务(下单、合拆单、审单、发货)处理的数据回放在RDS中; 3) R2、W2类数据要求存放在RDS中;(R2\W2数据参考://open.taobao.com/doc/detail.htm?spm=0.0.0.0.2i9GYM&id=1002); |
使用RDS数据推送,订单等数据实时推送到数据库中,应用在VM中通过内网高速读取,不丢单漏单,获取订单无延迟,比塔外通过互联网访问淘宝API获取订单速度快,稳定性高。
VM和RDS支持弹性升级,通过负载均衡可弹性扩充业务订单处理性能。
a) VM与RDS的硬件运维保障由聚石塔支持,降低人工运维费用;
b) 提供前端防火墙产品,提高系统防护安全性;
c) 从MS Sqlserver转到MySQL的转换,减少了数据库产品的授权费用;
d) 塔内API调用,极大降低API调用收费费率。
本地将C端或者B端核心的业务逻辑代码剥离迁移到服务端运行,客户端只做数据展示,按照此架构改造进行工作量评估,并制定项目计划提供给聚石塔小二(zouchao.zc@alibaba-inc.com)
注:核心业务逻辑代码定义:点击查看 , 见业务逻辑部分阐述。
按照项目计划进行改造开发,包含系统入塔改造和对接奇门。
改造完的新架构,需要重新部署在聚石塔内,并且购买VM和RDS部署新系统;
云资源购买:cloud.tmall.com
改造完成之后,需要将老客户逐个迁移部署到新架构产品上,届时需根据实际用户量评估给出具体迁移计划。
此系统采用类SAAS模式,一组VM+RDS为一批客户提供服务,整个平台可以横向扩展。目前的物理架构无法对全部VM和RDS进行资源平均分配,建议按以下方案调整物理架构:
1.使用SLB来对VM进行全部请求平均分配,通过监控VM的压力来动态增减VM数量或调整规格,VM异常后也可将客户请求迁移到其他VM,保证服务的连续性。因此,VM产品需增加API接口来提供性能监控与自动购买功能,自定义镜像生产VM功能。
2.通过监控RDS压力来动态增减数量或调整规格,可以考虑将RDS划分为数据推送组、业务组、权限及管理组进行分别监控管理。RDS产品需增加API接口来提供性能监控与自动购买功能。
聚石塔已经全面升级为零售云,从IAAS,PAAS,SAAS领域提供全面的解决方案和产品,具体请查到:https://lingshouyun.alibaba.com