淘宝-聚石塔技术白皮书 2012年3月
目 录 1 背景介绍 ........................................................ 4 2 产品介绍 ........................................................ 5 3 淘云的技术原理 .................................................. 6 4 万网翔云主机 .................................................... 7 翔云主机的技术原理 ............................................ 7 阿里云OS .................................................. 7 虚拟化平台 ................................................. 8 控制系统 ................................................... 9 运维及监控系统 ............................................. 9 翔云主机的网络安全 ........................................... 10 翔云主机具体介绍 ............................................. 12 翔云主机相关生产流程 ...................................... 12 产品功能列表 .............................................. 15 翔云主机控制面板 .......................................... 17 翔云主机系统安装及维护标准 ................................ 19 软件安全配置说明(PHP与mysql) ........................... 21 Web服务器连接数据库服务器方式说明 ........................ 22 服务器管理权限及端口管控策略 .............................. 24 堡垒机 .................................................... 26 5 关系型数据库RDS................................................ 28 RDS的技术原理 ................................................ 28 RDS Proxy 代理服务 ........................................ 28 RDS任务管理系统 .......................................... 29 备份系统 .................................................. 30 高可用控制系统 ............................................ 31 在线迁移系统 .............................................. 32 监控系统 .................................................. 32 RDS的迁移 .................................................... 33 RDS的性能指标 ................................................ 34 2
RDS的注意事项 ................................................ 35 6 数据同步 ....................................................... 37 数据同步原理 ................................................. 37 异步监听器 ................................................ 37 订阅授权管理 .............................................. 37 任务队列 .................................................. 38 重试队列 .................................................. 38 API定时同步 .............................................. 38 数据同步特点 ................................................. 38 方便 ...................................................... 39 稳定 ...................................................... 39 实时 ...................................................... 39 准确 ...................................................... 39 使用方法 ..................................................... 39 7 附录 ........................................................... 40 流量清洗规则 ................................................. 40 同步数据服务中数据库表结构设计 ............................... 41 3
1 背景介绍 随着云计算技术的越来越成熟,与之相带来的基础设施服务产品云主机也越来越受中小型企业的亲睐,因为与传统的IDC设备相比,它整合了高性能服务器与优质网络带宽,有效解决了传统主机业务上线周期不可控、系统建设投资大,资源利用率低、数据及网络可靠性较低、运维成本高等缺点。 而作为另一个由云计算技术延伸和发展出来的云存储技术,则通过集群应用、网格技术或分布式文机房集中监控系统件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能。 随着云计算服务的推广以及阿里云云计算基础产品体系的发展,在云主机方面,推出了万网翔云主机产品,可以有效解决传统主机服务过程中遇到的问题。翔云主机平台是基于业界标准和成熟的虚拟化技术,将物理计算机划分成为许多虚拟的计算机,根据用户的需要动态的创建和分配计算资源,满足用户多样化的计算和存储需求。并充分发挥了平台优势,有效的提高资源利用率,数据可靠性,网络可靠性。而在数据存储方面则推出了基于云端的数据库服务(RDS-MySQL),为中小企业提供关系型数据库的云服务,并致力于提高数据库使用效果和效率。用户只需在云平台上申请MYSQL实例,即可根据连接串(域名+端口号),使用客户端、程序接口按照原生数据库的使用方法进行数据库使用。 同时基于淘宝的现状,越来越多的专业领域的服务商加入到淘宝合作伙伴的队伍中来,而相对来说大家各自提供专业领域的产品:WMS、ERP、CRM等供卖家使用,而卖家需要安全并且能支撑业务快速往前发展的各类功能的系统。基于电商背景下的三方集成凸显得尤为重要,而传统的各个服务商自己做API开放显然会造成多余的工作量和繁琐的开发。需要一个统一的平台方来完成三方集成的规范和集成的环境。 4
2 产品介绍 万网云主机采用虚拟化技术,将服务器虚拟为多个性能可配的虚拟机(VM),对整个集群系统中所有VM进行监控和管理,并根据实际资源使用情况灵活分配和调度资源池;采用分布式存储技术,将大量服务器整合为一台超级计算机,提供海量的数据存储和处理服务。分布式文件系统、分布式数据库允许访问共同存储资源,实现应用数据文件的IO共享;同时利用虚拟机突破单个物理机的限制,动态的资源调整与分配消除服务器及存储设备的单点故障,实现高可用性;并且通过API接口对云主机资源进行调配,实现对VM的一键式系统安装、备份、远程重启、状态监控等功能。 RDS是Relational Database Service(关系型数据库服务)的简称,通过web方式让用户方便的在几分钟内生成可投入生产的,经过优化的数据库实例。并且为用户提供简化的数据备份,恢复,扩展升级等日常管理功能。RDS相对于用户自建数据库具有低成本、高效率、高可靠,灵活易用等优点,可以帮助企业解决费时的数据库管理任务,使企业有更多的时间聚焦到自己核心业务上来。 RDS提供的MySQL数据库与用户自己搭建的相应数据库相同之处在于对用户技术环境、使用方式完全透明,用户无需学习,无需做代码迁移,只需要使用通用的数据导出导入工具既可直接迁移到RDS服务中。 不同之处在于数据库硬件和数据部署在云端,万网提供高端的基础设施、网络安全保障、专业的系统运维维护及热备服务。所有的这些服务,都不需要前期投资,只需根据使用量进行付费即可。 目前RDS只支持MySQL一种关系型数据库,后面会考虑其他数据库。 而整个聚石塔项目搭建在淘宝的数据之上,带有更多的电商元素。淘宝的主数据推送将淘宝主要交易、商品、退款等关键数据以主动推动的方式代替API取数的过程,能大大提升取数效率,提高取数准确性,同时由于部署在阿里内部网络,很大程度上降低了宽带成本。基于RDS的集成,通过淘宝平台化的开放和规范,会大大降低ISV集成成本,提高集成效率。 5
3 淘云的技术原理 服务于淘宝卖家的应用要么部署在卖家的服务器上、要么部署在ISV的服务器上,数据库也是一样,同时卖家也希望能够及时正确获取淘宝上的一些数据。如果能够将服务器的性能以及安全性等、数据库的安全性等与快速获取淘宝数据这些功能相结合形成一个产品的话,那这个对于ISV、卖家来说,都是最希望看到的事情,也是求之不得的事情。淘宝也正是基于以上的想法,与万网、阿里云一起开发了新的产品——淘云。淘云主要包括万网翔云主机以及关系型数据库(RDS),在数据库中结合淘宝数据的优势,添加了数据推送的功能,同时根据 6
用户数据共享愿望,开发了三方集成的功能(项目二期)。 淘云就是使用安全、强大的服务器、数据库,利用淘宝自身的数据优势,为ISV和卖家提供的一款更安全、更适合的产品。 4 万网翔云主机 翔云主机的技术原理 整个系统包含4个核心部分。包括:阿里云OS,虚拟化平台,控制系统以及运维及监控模块。其中虚拟化平台及控制系统是系统的核心。每个组件各自负责其预先设计的功能。下面我们来逐个分析每个模块的功能和组成。 阿里云OS 阿里云OS是整个弹性计算平台的基础,是阿里云自主研发的大规模分布式操作系统。阿里云OS重点解决了集群规模与调度的难点,可以将一个集群的物理服务器整合在一起并统一对外提供服务。 7
虚拟化平台 虚拟化平台是整个EC平台的核心,万网采用Xen虚拟化技术将单台物理服务器虚拟为多台虚拟服务器,单独对外提供服务。虚拟化平台包括两个重要的模块:计算资源资源模块和存储资源模块。 计算资源指CPU,MEM,带宽等资源,通过将物理机上的计算资源虚拟化再分配给翔云服务器使用。一台翔云服务器的计算资源只能位于一台的物理主机上,当一台物理机上资源耗尽时,只能在另外的机器上启动翔云服务器。通过资源的QOS,可保证同一台物理机上不同翔云服务器间可相互不影响。 存储系统采用大规模分布式存储系统实现,将整个集群中的存储资源整合在一起,统一对外提供服务。同一台翔云服务器的数据资源可能遍布于整个集群。在存储系统中,提供三份数据拷贝,当单份数据损坏后可实现数据的自动拷贝。具体原理图见下图。 图2 分布式存储系统原理图 虚拟化主要采用的是镜像技术,镜像是创建翔云服务器的基础。镜像是一个已经包含有系统及软件配置的系统盘的模板。通过一个镜像,可以创建一批翔云服务器,翔云服务器的配置可多种多样,但是所有翔云服务器的系统盘配置都是一样的。下图可以展示通过镜像创建翔云服务器的过程。 8
图3 虚拟化实现 同时用户还可以通过自定义镜像的方式生成自己的镜像。 控制系统 控制系统是弹性计算平台的另外一个核心。它决定着翔云服务器启动在哪一台物理服务器上且翔云服务器的所有功能及信息都需要通过控制中心统一处理与维护。 数据采集:负责整个虚拟化平台的数据采集,包括计算资源,存储资源,网络资源等使用情况,通过数据采集可以对集群的资源使用情况进行统一的监控管理,并作为资源调度的一个重要的依据。 资源调度系统:决定翔云服务器启动的位置,在创建翔云服务器时,会根据物理机的资源负载情况,合理的调度翔云服务器。且在翔云服务器发生故障时,决定翔云服务器再此启动的位置。 翔云服务器管理模块:管理及控制翔云服务器的。例如启动、关闭、重启云服务。以及翔云服务器相关增值服务功能也通过翔云服务器管理模块提供。 安全控制模块:进行整个集群的网络安全监控与管理。 运维及监控系统 完善的运维与监控是云服务的关键。运维与监控系统主要对EC平台进行监 9
控,主要监控项包括:翔云服务器性能的监控,资源使用监控,平台健康检查以及网络监控。 当集群资源不足或翔云服务器网络遭受攻击时,将会进行报警提示,以方便运维人员对集群进行管理。 翔云主机的网络安全 网络安全作为翔云主机的一个重要的特性,是所有用户特别关心的问题,那么,翔云主机的网络安全性体现在哪些方面呢? 1) IP分配规则。 创建一个云服务器会默认分配一个私网IP,但公网IP可以根据用户需求选择是否分配。 同时,一个云服务器支持绑定多个公网IP地址。 2) 安全组 安全组用来实现一组VM同时对外的防火墙权限,安全组间相互隔离,可在公有云中形成一块网络的私有安全域。创建一个云服务器实例必须为其指定一个唯一的安全组,且云服务器所属的安全组不能更改。 支持新建安全组,新建安全组有如下防火墙规则:安全组内云服务器网络可互通;安全组对外的访问权限全部关闭。且此防火墙规则对安全组内所有的云服务器同时有效。 安全组防火墙规则可以根据用户需求进行设置:支持下面两种防火墙规则的设置。 设置通过某个IP或IP段通过某种协议来访问安全组的某个端口。 设置某个安全组通过某种协议来访问安全组的某个端口。 通过第二种方式可实现安全组间的网络互通。 10
3) 防ARP/IP 欺骗 现在的IDC机房中各种病毒、木马层出不穷,常见的攻击方式有伪造MAC、伪造IP、ARP欺骗,弹性计算服务在系统层面最大程度避免了此类攻击的发生,通过监控VM之间的流量,平台可以在第一时间阻止伪造MAC、伪造IP、ARP欺骗等攻击。 4) 防DDOS攻击 DDOS攻击是现今互联网最大的威胁,可在短时间内导致网站瘫痪,业务无法开展。 全自动防DDOS攻击是弹性计算平台提供的增值服务,它依赖于弹性计算平台完备的监控系统与数据中心专业的DDOS流量清洗设备,当监控到某个IP入流量超过一定阈值时,将自动进行DDOS攻击流量清洗,具体阈值请查看附录。 目前,弹性集团平台可提供2G的免费流量清洗服务。 11
翔云主机具体介绍 翔云主机相关生产流程 翔云主机通过调用阿里云“后羿API”,并结合业务需求,完成对云主机的各种业务生产:创建VM、重置VM、添加配置或回滚VM、新增IP等等。 1) 业务一:创建VM 12
创建VM分配IP:Pending启动VM:Pending添加DNS:Running设置内外网策略:Running重试(失败40次:关机VM修改VM的hostname:Running 重置VM)NT主机重启一次:Running 成功 2) 业务二:重置VM 13
调用关机:Running调用重置:Shutted调用启动:Shutted修改VM主机名:RunningNT主机重启一次:Running 成功 3) 业务三:添加配置或回滚VM 14
调用关机:Running增加配置:Shutted回滚VM :Shutted调用启动:Shutted 增加IP:Shutted或Running成功 4)调用重启:Shutted(杭州) 业务四:新增IP 成功 产品功能列表 万网会员中心功能 自动化在线主机管理 支持云主机的购买和续费 支持云主机平滑升级,弹性扩展 支持按月购买带宽 支持购买IP地址 15
支持服务器密码修改 支持重启服务器 支持登陆控制面板 万网主机控制面板,在线管理更方便 自助系统管理功能 提供在线自助重启服务器 自助快照回滚 自助初始化系统 自助更换操作系统 快捷服务器管理功能 远程桌面控制及端口修改 远程桌面IP管理策略配置 在线web命令行 服务器用户管理 一键配置服务器 在线新建web站点 在线新建ftp站点等 服务器系统软硬件信息总览 服务器详情及监控 网络带宽监控 系统进程监控 系统服务监控 支持一键安装常见应用 phpwind 天天团购系统 Dircms PHPCMS PHPOK PHP168 Joomla 记事狗微博客 MediaWiki 互动Wiki 16
Phpmyadmin 增值服务 增值服务 数据快照备份 堡垒机试用中,即将正式上线 负载均衡服务 ICP备案 违法信息监控 挂盘服务 代维服务 售后服务 完善的售前、售后服务 7×24网络监控服务 7×24人工技术支持 在线问题提交系统 全国统一售前、售后电话 万网专职销售顾问,全程服务 翔云主机控制面板 翔云主机在万网主机控制面板支持”系统初始化”,”快照回滚”,”更换操作系统”等传统物理服务器不支持的功能,快捷方便。 系统初始化 支持windows和linux主机 系统初始化将系统重置为购买状态,系统盘(C盘)的数据也会重置为初始状态。请在操作前备份系统盘的重要数据及文件。 数据盘(D盘)数据不受影响。 快照回滚 在“会员中心”→“主机管理”里,购买快照恢复服务后,在开放平台可看到“快照回滚”的功能 客户通过控制面板自助恢复,可选择按磁盘、时间点恢复快照 17
快照创建时间为凌晨0点左右,如果你想恢复2月17号的数据,则需要选择创建时间为2月18号的快照 更换操作系统 支持windows2003 32位系统与windows2003 64位互换 以上功能原理说明: 以上功能是基于磁盘快照原理的,磁盘快照是弹性磁盘在某一特定时间点的副本。 万网的翔云主机默认提供两块磁盘,磁盘0通常用于存储操作系统,默认为C盘,磁盘1作为数据盘,默认划分为D盘。默认情况: (通过:“控制面板->管理工具->计算机管理->存储->磁盘管理”可以查看磁盘情况) 您在购买云主机后,可能会对磁盘0、磁盘1进行逻辑分区,但这种逻辑分区的操作不会改变云主机磁盘0(系统盘),磁盘1(数据盘)的磁盘架构。例如下图磁盘1(数据盘)被划分为D盘,F盘,实际在云主机架构下,D盘,F盘还是同属于磁盘1(数据盘)。 “系统初始化”、“更换操作系统”、“系统盘的快照恢复”都是针对磁盘0(系统盘,默认为C盘)的操做,如果您将重要数据或者软件安装在了磁盘0 18
(系统盘,默认为C盘),执行上述操作后,磁盘0内所有分区内中的数据会被删除且不可恢复,安装在磁盘0的软件也需要重新安装。 “数据盘的快照恢复”是针对磁盘1(数据盘)的操作,执行后会将数据盘所有分区的数据回滚,而不是针对您划分的逻辑分区的D盘, F盘。请操作前备份好重要数据及文件,避免重要数据被覆盖后丢失。 系统初始化,更换操作系统,快照回滚等操作完成后,您的主机密码会被恢复为购买时或者快照时间点时主机的密码。如果以上操作完成后提示密码错误,请在万网会员中心修改主机密码。 翔云主机系统安装及维护标准 万网翔云主机系统安装及维护标准 硬件配置标准 产品 翔云主机I型 翔云主机II型 翔云主机III型 翔云主机IV型 翔云主机V型 CPU 双核 双核 四核 四核 八核 内存 DDR III DDR III 4G DDR III 8G DDR III 16G DDR III 硬盘 150GB SATA 250GB SATA 500GB SATA 750G SATA 750G SATA 网卡 1000M 1000M 1000M 1000M 1000M 总计150G 总计250G 总计500G 总计750G 总计750G Windows : Windows : Windows : Windows : Windows : 硬盘分区 C:\50G D:\其余剩余 C:\50G D:\其余剩余 C:\50G D:\其余剩余 C:\50G D:\其余剩余 C:\50G D:\其余剩余 Linux: Linux: Linux: Linux: Linux: 8G SWAP 其余剩余 8G SWAP 其余剩余 8G SWAP 其余剩余 8G SWAP 其余剩余 8G SWAP 其余剩余 机房线路 BGP多线机房,支持电信、联通、移动及教育网; 软件安装标准 备注:软件版权由客户负责,服务合同约定。 正版Win2003 std 32/x64 SP2-R2, 操作系统Linux RedHat X64 / Centos X64 Windows Server 2008 Standard sp2 32位 中文版 (不支持用户升级系统内核版本) Windows Server 2008 R2 Standard sp1 64位 中文版 IIS6 IIS日志保存路径: D:\logfiles\ 安装路径:/var/www/ Web服务器 X64系统 .NET版本切换工具路径: 配置文件路径:/var/www/conf/ C:\Program Files\中国万网DotNet版本切换工具: 中国万网DotNet版本切换工具默认web主目录:/var/www/htdocs/ .exe 19
IIS自带 FTP服务器 日志保存路径:D:\logfiles\ 安装路径:/usr/sbin/vsftpd 配置文件:/etc/vsftpd 安装路径: C:\Program Files\MySQL\MySQL Server 数据文件路径:D:\mysqldata Sqlserver2000、2005、2008标准版安装包下载器路数据库 径:安装路径:/usr/local/mysql C:\Program Files\中国万网软件下载器\ 下载器下载地址:数据文件路径:/data/mysql 配置文件:/etc/ Sqlserver2000、2005、2008标准版安装教程路径:C:\Documents and Settings\All Users\桌面\SqlServer安装教程\ 防病毒 诺顿 11企业版 \ 解压缩 \ 远程管理工具 Terminal Services(远程桌面) OpenSSH 控制面板: 控制面板: 旧版: 管理工具 旧版: 新版: 新版: Administrartor tools(管理员工具) Development tools(系统设置工具) Zend 安装路径:安装路径: C:\Program Files \zend /usr/local/Zend5 Fastcgi 配置文件: \ C:\WINDOWS\system32\inetsrv\ PHP : PHP PHP 安装路径:安装路径 /var/www/php5 C:\Program Files\php 配置文件 /var/www/php5/lib/ Access AccessDatabaseEngine支持 \ .net \ iptalbes 配置文件\ 配置文件:/etc/sysconfig/iptables 标准翔云主机安全配置标准 硬件安全配置 攻击流量清洗设备 20
防火墙除了开放常用端口(见常用端口配置表),另有40个活动端口供用户使用,为TCP/UDP30000-30020 其它端口都是封闭的。 Windows主机端口:21,25,80,110,443,3389,云享监控管理软件的端口:15588。 30000-30020(iisftp被动端口),udp无限制; Linux主机端口 : 21,22(ssh),25,80, 110,443,云享监控管理软件的端口: 9001。 443(https) 443(https) 80(web服务) 80(web服务) 常用端口配置 21(ftp服务) 21(ftp服务) 110,25(mailserver) 110,25(mailserver) 3389(远程桌面) 22(Ssh) 淘宝ISV( TOP )主机安全配置标准 攻击流量清洗设备 防火墙除了以下端口外,其它端口都是封闭的。默认支持ICMP协议。 Windows主机端口:80,443,3389,云享监控管理软件的端口:15588。 硬件安全配置 Linux主机端口 : 22,80,443,云享监控管理软件的端口: 9001。 跟随管理员权限同时开通或关闭:21端口(ftp服务)、30000端口(用于ftp被动模式); UDP端口: 针对万网时间服务器 开放123端口,可同步服务器时间; 常用端口配置443(https) 443(https) 80(web服务) 80(web服务) 跟随管理员权限同时开通或关闭 跟随管理员权限同时开通或关闭 3389(远程桌面) 22(Ssh) 软件安全配置说明(PHP与mysql) 万网ISV主机是淘宝安全专家经过认真评估,针对ISV客户定制的安全主机,以下策略属于淘宝安全方面的策略,请ISV用户不要修改 1. PHP配置说明 1) 安全路径设置,请ISV修改为放置web应用的目录 大多服务器都要求以安全模式来运行PHP,用以防止合法用户的跨站读取或越权操作等危险行为,以及将非授权用户的恶意行为所造成的影响降到最低范围; safe_mode = On open_basedir = [应用的WEB目录] safe_mode_include_dir = [应用的WEB目录] 21
2) 页面报错详细信息设置: 强烈建议你关闭此选项, 使用错误日志来替代;开放此设置可能泄漏安全信息给最终用户,例如web服务器的文件路径,数据库的结构或者其他信息 display_errors = Off 3) Phpinfo函数被禁用,请通过其他方式验证PHP环境是否正常。 4) Session设置: 这将导致客户端脚本(JavaScript等)无法访问该cookie 打开该指令可以有效预防通过XSS攻击劫持会话ID _httponly = 1 是否仅仅通过安全连接(https)发送cookie _secure = 1 2. mysql数据库配置说明 应用连接数据库不使用root账户,使用独立用户运行msyql(非root); 禁止MySQL对本地文件存取; 禁止远程连接mysql数据库; Web服务器连接数据库服务器方式说明 为了保证ISV主机的安全稳定,淘宝规定:不支持外网直接连接mysql和sqlserver数据库。如果用户购买了两台ISV主机,其中一台作为web服务器,一台作为数据库服务器,这两台主机可以通过内网连接。 1) 用户有两台 Linux系统ISV主机,设置方法: 登陆DB服务器,按照以下方式操作: i)查看mysql配置文件/etc/,确认取消了skip-networking设置: #skip-networking 22
ii)指定可访问DB服务器的Web服务器的内网地址,查看内网IP地址方法,详见附录说明: #指定数据库 mysql>use mysql; #指定只允许web服务器连接数据库,更安全 mysql>update user set host = 'webIP' where user =’isv'; mysql>flush privileges; *重启mysql服务后生效 2) 用户有两台Windows系统ISV主机,设置方法: i)出于安全考虑, Windows系统防火墙默认不允许外网连接数据库,即sqlserver服务端口:1433,或mysql服务端口3306默认关闭;通过以下方法可以打开;(如果服务器上还安装了其他防火墙,比如360,金山等,设置方法与此类似) ii) 在tcp/ip筛选内添加1433或3306的tcp端口 本地连接-属性-internet协议(tcp/ip)-属性-高级-选项-tcp/ip筛选-属性 23
iii).重启服务器即可内网连接数据库 服务器管理权限及端口管控策略 为了帮助ISV提高服务器安全性,稳定性,提高ISV应用的审核成功率,淘宝针对ISV主机制定了以下安全方面策略: 1) ISV的应用“审核通过”时,系统自动收回管理员权限及ftp权限 2)ISV可通过淘宝开放平台”应用管理页面”申请报备,获得管理权限 3)第二天0点自动收回管理权限,如需使用,再次申请 申请管理员权限方法说明如下: 1) 当您没有管理员权限时,访问应用管理页面,将会看到服务器“查看”入口,此时点击“查看”,将可以免登到万网查看服务器信息,点击“管理”,可以申请报备,报备成功立即可获得管理权限。 2) 管理员权限管控策略: 当您的应用已经对外发布并且“审核通过”时,为了降低服务器维护对淘宝用户的影响,TOP会回收您的管理员权限,需要您在TOP报备后才能重新获得管理员权限。 当您不拥有管理员权限时,您访问应用管理页面,将会看到服务器“查看”入口。 24
点击“查看”,将可以免登到万网查看服务器信息 点击“管理”,将会出来服务器报备页面,供您报备此次服务器维护的原因: 每次报备成功后,您会立即自动获得当天的服务器管理权限。但到了第二天0点时,管理员权限又会被自动回收,需要您重新报备才能获得管理员权限。 当您拥有管理员权限时,您访问应用管理页面,将不会看到服务器“查看”入口。 3) 端口管控策略: 防火墙默认开通以下端口,支持ICMP协议: Windows主机端口:80,443,3389,云享监控管理软件的端口:15588 25
Linux主机端口 : 22,80,443,云享监控管理软件的端口:9001 UDP端口: 针对万网时间服务器 开放123端口,可同步服务器时间 跟随管理员权限同时开通或关闭:21端口(ftp服务)、30000端口(用于ftp被动模式) 其他端口默认关闭,如有特殊端口需求,请发邮件到 fuwu@ 申请,说明:要给哪个appkey开通哪个端口,及其用途,淘宝小二会联系您评估是否确实有需要,非必须则不予开通 堡垒机 为了提高用户的服务器安全,控制面板里的“远程桌面”功能使用堡垒机插件,点击后可直接登录服务器,在服务器上的所有操作将被记录。 此功能暂时只支持浏览器IE6及以上版本。 Linux主机默认使用PuTTY自动登录。 堡垒机的核心功能如下: 1) 集中管理操作 图形操作(RDP/X-Window/VNC) 指令操作(Telnet/SSH) Web界面操作(HTTP/HTTPS) 客户端操作(AS400/PL SQL Developer/TOAD/ SQL Server Enterprise Manager等) 2) 简化密码管理 26
无需记忆系统密码,自动登陆目标设备 定期自动修改系统密码 3) 严格权限控制 基于用户、设备/应用程序、协议类型、时间、IP等组合,实现细粒度的操作授权 终端指令操作,实现操作权限的黑名单和白名单管理 4) 完善操作审计 终端指令操作以文本方式记录,可搜索到操作的输入和输出的任一字段 图形操作以最小化的空间记录操作过程,并以键盘输入内容定位操作画面 完整记录数据库操作的SQL语句,并实现SQL语句与相应操作过程关联 27
控制Mysql instance 1HA 控制系统--Aurora DNSMysql instance 2安装监备Agent Servers状态和控制消息/卸控份DBNodeADBNodeB…载服服服务务务日志收集Node状态信息端口映射Agent Accepter............操作数据库状态和控制消息DBNodeADBNodeB指令LVS & 防火墙RDS Proxy状态和控制消息消息中心SQLSQLSQL注监控系统DBNodeADBNodeB状态和控制消息日志过滤入指令Node状态信息Agent Servers防资白暴源名力任务管控单攻制状态和控制消息RDS任务管理理系统击在线迁移系任统务实状A任例态P...WEB/API务管查I 5 关系型数据库理询分DBRDS 备份系统 RDS的技术原理 发............任务管理 RDS架构图 RDS主要包括六大核心组件,它们是:RDS Proxy代理模块、RDS任务管理系统、备份系统、高可用控制系统、在线迁移系统和监控系统。每个组件各自负责其预先设计的功能。 RDS Proxy 代理服务 Proxy主要功能包括:防SQL注入攻击,SQL过滤,所有SQL语句日志,慢查询,资源控制,白名单。Proxy是位于客户端和数据库服务器之间的一个模块,所有的连接和请求都必须经过Proxy,它能使得RDS产品更加安全,更加可靠。每个地域的RDS的用户的连接串都是一样的,例如。Proxy根据 28
用户名将每个连接请求转发到相应的数据库实例上,因此用户名必须是全局唯 一的。 主要功能点: 防SQL注入攻击:Proxy会解析所有的SQL语句,并与SQL注入攻击模型匹配。如果匹配的话,则认为是SQL注入攻击,Proxy将会拦截这样的SQL语句,并给用户提示。 SQL过滤: 与防SQL注入攻击一样,Proxy解析所有SQL语句时,也会将SQL语句匹配,若符合过滤的条件,则会被过滤掉。目前主要是防止用户将数据dump出去,过滤的SQL语句包括into outfile,load_file,mysqldump,Backup table等 SQL语句日志:由于所有的SQL语句都需要经过Proxy,为了便于事后安全扫描以及用户查询,所有的SQL语句都会被记录下来。 慢查询:在所有的SQL语句记录下来的时候,也会记录这条SQL语句执行花了多少时间。根据用户设置的慢查询阈值,可以显示执行时间超过这个阈值的所有SQL语句,便于用户做分析。 资源控制:针对每一种规格的实例,其所能够利用的资源是不一样的。比如并发连接数。有一个计数器记录每个用户的并发连接数,如果并发连接数超过所允许的最大值,新建连接将被拒绝。 白名单:为了安全考虑,我们允许用户设置能够访问RDS的白名单,不在白名单里面的IP地址或者IP段将被拒绝。用户在新建连接时,Proxy接到这个请求后都会去白名单中做个认证,如果在白名单中则继续往下走,如果不在白名单中则直接拒绝这个连接。 RDS任务管理系统 RDS任务管理系统是整个RDS系统很核心的部分, 它是整个系统的大脑,全面负责整个系统中所有任务的调度,以及各大组件之间的协调工作。任务管理系统接收到任务后,通过消息派发到相应的数据库机器上的Agent来执行,具体的任务都是每台Agent上面由相应服务来完成的。 29
任务管理系统和Agent通过一个消息中心服务通讯。Agent从设计上来说,是无状态的。在Agent启动后,它将向消息中心定时注册自己以及汇报状态。 任务管理系统通过订阅消息中心的广播来监控Agent上报的各个数据库节点的状态以及各个任务的运行状态。它本身是高可用的,不存在单点。 备份系统 主要负责所有集群内所有数据库实例的数据备份 。备份数据存储在分布式的备份中心。系统自身有高可用保护,在多个备份管理机之间有健康检查,发现有成员不健康会自动接管其任务。备份任务可以并发地进行,并发度可以受到精确控制,这样可以防止IO资源,网络资源撑满。 备份发生在备机上面,并且会进行压缩,压缩比率大概在30%左右。备份完成后会写入分布式的备份集群中。用户可以自定义备份策略,需要注意的是MySQL Binlog日志保留的天数与您定义的备份保留天数是一致的。 目前我们使用的Percona Xtrabackup或者mysqldump来物理备份或者逻辑备份。目前不支持增量备份。 在RDS平台上进行备份,由于数据量较大,数据库实例较多,因此并发控制非常重要,否则整个网络的带宽将被耗尽。默认情况下,每个备份的开始时间是一个范围内的随机值,当然用户可以自己设定。 30
高可用控制系统 负责所有实例主备之间的健康检查以及实时切换。同时对于集群扩展,新节点会自动探测压力大的节点,并接管任务。 现有的一些商业HA软件或者开源的HA软件有两个问题无法解决: 机器假死。当机器假死时,HA之间的心跳还是正常的,这个时候HA不会发生切换,但实际上用户已经不能使用RDS实例了。 脑裂。一旦出现这种情况,两个MYSQL实例都会被激活;这样很有可能导致主备实例之间数据冲突或不一致的情况。 而我们的高可用控制系统是通过模拟用户操作RDS,来探测RDS实例是否活着,如果RDS实例死了或者HANG住,则进行链路切换至另外一个RDS实例上面。每个实例的切换时间在30秒以内。这种实现方式可以有效的解决上面两个问题。 由于同时有上千个甚至上万个RDS实例需要监控,因此高可用控制系统必须要高效、稳定。 目前采用多线程和队列来实现。一个线程池来实际探测每个RDS实例是否正常工作,对每个实例来说每隔5秒就会被检测一次。 31
在线迁移系统 在线迁移系统主要负责实例在不同主机之间的迁移工作。两种情况下触发迁移作业: 1. 物理机性能已接近饱和时,为保障用户使用,我们会主动将部分实例进行迁移 2. 当用户需要扩容而物理资源不满足需求时会触发迁移工作,将该用户迁移到资源空余的RDS设备上。 不管哪种迁移,对应用程序的影响就是一次切换的时间,小于等于30秒。 迁移的大致流程是: 1. 选定另外一组RDS服务器,并创建一个相应规格的RDS实例 2. 将用户的数据从老的备库上备出来,并导入新的RDS实例中 3. 采用MySQL复制技术同步两组RDS实例之间的差异数据 4. 在两组RDS实例同步后,切换链路,迁移完成。在切换的过程中应用程序不可用,时间在30秒以内。 监控系统 负责系统正常运转的检查,以及实例相关状态和性能数据收集;如实例监控、物理资源监控、实例使用资源监控、系统一致性监控、网络监控及报警功能。如果您所购买的RDS实例达到了最大空间,您的RDS实例将会被锁住,因此为了确保您的服务不受影响,如果资源不够请及时升级。 32
在每台RDS服务器上面都运行着一个监控的进程,监控的数据将通过消息中心上报。 RDS的迁移 由于RDS提供的关系数据库服务与原生的数据库服务是完全兼容的,所以对于用户来说,从原有数据库迁移到RDS数据的过程,与从一个MySQL数据库迁移到另外一台MySQL数据库的过程基本类似。具体的迁移流程如下: 1、开通翔云服务器服务。 2、开通RDS服务,如果开通成功,会返回给用户连接地址、端口和用户名密码,比如:3306 3、使用MySQL的数据导出工具,将原有数据库数据导出为数据文件。 4、将数据文件上传到已经购买的翔云服务器中。 5、远程登录到翔云服务器,将刚才上传的数据文件使用mysql数据导入工具导入到:3306中。 数据迁移完毕,可以对RDS正常使用。用户可使用数据库客户端工具(如MySQL-Front)或第三方数据库管理工具(如phpmyadmin)以及程序的方式,通过域名和端口号连接数据库,在输入正确的用户名和密码后即可登陆DB进行操作和开发。 33
RDS的性能指标 RDS服务采用了高端服务器,具有非常良好的性能。下面是我们采用sysbench测试工具,测试模型采用TPCC模型的测试结果。 为了有所比较,我们选择了Amazon的RDS产品做比较。 配置上面,Aliyun RDS内存是10GB,Amazon RDS是12GB。其他数据库参数基本一致。 测试分每个并发1000万和2000万两种数据量,并发数均为64个。 测试结果如下: QPS(1000万) IPS(1000万) QPS(2000万) IPS(2000万) Aliyun RDS 80000 185000 40000 185000 Amazon RDS 15000 30000 4000 30000 从中我们可以看出: 1、我们的QPS是Amazon 的6-10倍。随着数据量越大,优势越明显! 2、我们的IPS是Amazon的倍。 注: 1、QPS 是每秒钟的查询数 2、IPS 是每秒种插入的记录数 具体测试性能见下面: Aliyun RDS 1000W的测试结果: Amazon RDS 1000W的测试结果: 34
Aliyun RDS 2000W的测试结果: Amazon RDS 2000W的测试结果: RDS的注意事项 1、RDS for MySQL支持Myisam和Innodb两种引擎。我们推荐您使用INNODB引擎; 这将获得更好的性能。不支持Memory引擎,如果您创建Memory引擎的表格,我们将自动为您转换成MyISAM引擎的表格。 2、以下两种情况数据实例会被锁住: a)如果您的数据库大小超过您购买实例规格的存储空间的话,您的数据库实例会被锁住,需要升级实例的规格。升级后会自动恢复! 35
b)如果您的数据库超出购买期限后,则您的数据库实例会被锁住。续费后自动恢复。 3、除了您的数据库的数据文件外, 还有您的数据库产生的日志文件也会占用您所购买的空间。这些日志文件保证您数据库出现问题时,可以做到不丢失数据。 这些日志保留的天数与您的备份保留的天数是一致的。 4、建议您的应用程序连接数据库的方式支持自动断线重连。这样可以提供更高的可用性。当数据库发生切换或迁移后,不需要您介入应用会自动恢复。 5、我们的RDS具有数据库防火墙的功能。如果发现某条SQL语句疑似SQL注入攻击的话,我们会将这条SQL截获,为您数据库的安全提供最大程度的保障。 6、RDS只允许内网IP连接和访问,即必须配合云主机来使用。 7、为了您的数据安全RDS不允许直接从数据库中dump数据,因此类似into outfile,load_file,mysqldump,Backup table等数据dump的命令会被过滤掉。若有数据dump需求,后续走专门的申请流程(例如提供公司公章等材料),采用dump工具进行数据dump。 8、为了防止您的数据泄漏,针对大数据量结果集获取,会限制条数,暂定限制为10000条。例如select * from table1 这样的操作,最多只允许返回10000条记录。 36
6 数据同步 数据同步原理 本系统主要包括5大核心模块,它们是:异步监听器,订阅授权管理,任务队列,重试队列,API定时同步模块。每个模块各自负责其预先设计的功能。下面我们来逐个分析每个模块的功能和组成。 异步监听器 本模块主要是通过监听淘宝主站的数据变更消息,每台同步服务都会启动多个线程去监听消息,以提供高吞吐量。同步服务获取到消息后会对同类型的消息进行合并,然后再放入本地的线程池去执行。 订阅授权管理 本模块主要负责ISV的订阅授权管理。ISV在开发者中心订阅同步服务后,订阅关系会实时纳入到同步服务的数据库中。Master机器在本地高速缓存中维护一份订阅-授权关系表,并定时持久化到磁盘中,用于将来把消息路由到不到的 37
ISV数据库中。Slave启动后向Master连接注册,Master根据Slaver的数量和用户数据计算每个任务中存放多少用户。 用户取消授权或授权过期后,单个用户的数据同步会自动取消;APP取消订阅后,针对整个APP的数据同步服务会自动取消。 任务队列 本模块是系统的核心部分,负责整个系统中的任务调度工作。任务队列采用Master-Slave的方式部署,基于NIO的协议进行通讯,Master负责任务的生成和分发,Slave负责任务的处理,每个任务只会分发到一台Slave机器上,每个分发到Slave的任务有一个最大执行时间,超过时间将会被Master收回,并重新分发给另外的Slave去执行,保证任务得到快速的处理。 重试队列 本模块主要负责对同步过程中出现错误的任务进行重试处理。同步服务会在运行时把处理失败的任务快照放入重试队列的高速缓存中,同时备份到磁盘中,重试队列会在一个适当的时候对其进行重新处理,以保证数据不会发现遗漏。通过引入重试队列机制,有效的避免了临时性失败对系统的消耗,保证系统在高效的处理用户的数据。 API定时同步 本模块负责同步用户的初始化数据和数据盘点工作。对于新授权的用户,API定时服务会把其3个月内的商品以及1个月的订单及退款数据进行同步,同步工作由Master机器生成,并把其按较小的时间段切分,然后分发给Slave去同步,以期达到快速的处理。 数据同步特点 同步服务产品具有方便、稳定、实时、准确等四个主要特点: 38
方便 1. ISV可以通过开发者中心页面进行商品、交易、退款数据同步服务的开通,开通后数据数据即在后台自动的同步和更新。 2. 同步服务的授权重用用户给APP的授权,ISV无须让用户再次调用API给同步服务授权。 3. 新增的数据字段会自动加入到数据库中,无须ISV干预。 4. ISV可以采用原生的SQL语句访问同步服务的RDS数据库,没有学习成本和迁移成本。 稳定 1. 同步服务采用Master-Slave的主从结构,Master出错会由备机顶上,某一台Slave处理失败或超时,集群中的其它Slave将会接管它的工作。 2. 同步数据的过程中出现临时性的超时或服务不可用等情况会被记录下来,后继通过重试队列去处理,保证每一次数据的更新都不会落下。 实时 1. ISV开通同步服务后,在3分钟之内就生效,数据就开始同步。 2. 淘宝主站数据的变更发生后,在1分钟之内,就会同步到ISV的数据库。 准确 1. 采用消息通知监听和API同步盘点双重保障,保证数据100%同步。 2. TOP研发团队基于对业务的了解,提供成熟的,高效的,不漏单的数据同步算法。 使用方法 1. 订阅消息 39
登录开发者中心,进入应用管理页面进行订阅,详细步骤请参考: 2. 查询数据 通过MySQL/SQL Server Client连接到RDS即可进行数据的操作,操作方式和本地数据库一致。 7 附录 流量清洗规则 翔云服务器和RDS产品将为用户提供安全清洗服务,以保证正常用户的访问不受影响。 触发流量清洗阈值:(BPS和PPS阀值针对入流量) 1. PPS(Package Per Second )达到10000 2. BPS(Bits per Second)达到100Mb 3. 每秒新建并发连接达到10000 4. 当前连接达到50000 触发黑洞阈值:(BPS和PPS阀值针对入流量) 1. PPS瞬间达到50000或BPS瞬间达到200Mb 或每秒新建并发连接达到100000且持续5分钟,上述有任一情况 都会触发黑洞。 2. 清洗过程中如BPS仍在100M-200M之间或 PPS仍在10000-50000之间,并持续了20分钟,上述有任一情况 都会触发黑洞。 3. 上述任何条件出现一个,即刻启动黑洞 40
同步数据服务中数据库表结构设计 订单表:orders 名称 类型 长度 描述 oid bigint 子订单id tid bigint 父订单id,如果是父订单,则为oid end_time Date 交易结束时间。交易成功时间(更新交易状态为成功的同时更新)/确认收货时间或者交易关闭时间 。格式:yyyy-MM-dd HH:mm:ss status varchar 32 交易状态。可选值: * TRADE_NO_CREATE_PAY(没有创建支付宝交易) * WAIT_BUYER_PAY(等待买家付款) * WAIT_SELLER_SEND_GOODS(等待卖家发货,即:买家已付款) * WAIT_BUYER_CONFIRM_GOODS(等待买家确认收货,即:卖家已发货) * TRADE_BUYER_SIGNED(买家已签收,货到付款专用) * TRADE_FINISHED(交易成功) * TRADE_CLOSED(付款以后用户退款成功,交易自动关闭) * TRADE_CLOSED_BY_TAOBAO(付款以前,卖家或买家主动关闭交易) pay_time Date 付款时间。格式:yyyy-MM-dd HH:mm:ss。订单的付款时间即为物流订单的创建时间。 modified Date 交易修改时间(用户对订单的任何修改都会更新此字段)。格式:yyyy-MM-dd HH:mm:ss cod_status varchar 32 货到付款物流状态。初始状态 NEW_CREATED, 接单成功 CANCELED, 接单失败 REJECTED_BY_COMPANY, 接单超时 RECIEVE_TIMEOUT, 揽收成功 TAKEN_IN_SUCCESS, 揽收失败 TAKEN_IN_FAILED, 揽收超时 RECIEVE_TIMEOUT, 签收成功 SIGN_IN, 签收失败 REJECTED_BY_OTHER_SIDE, 订单等待发送给物流公司 WAITING_TO_BE_SENT, 用户取消物流订单 CANCELED shop_title varchar 64 交易标题,以店铺名作为此标题的值。注:接口返回的Trade中的title是商品名称 41
type varchar 32 交易类型列表,同时查询多种交易类型可用逗号分隔。默认同时查询guarantee_trade, auto_delivery, ec, cod的4种交易类型的数据 可选值 fixed(一口价) auction(拍卖) guarantee_trade(一口价、拍卖) auto_delivery(自动发货) independent_simple_trade(旺店入门版交易) independent_shop_trade(旺店标准版交易) ec(直冲) cod(货到付款) fenxiao(分销) game_equipment(游戏装备) shopex_trade(ShopEX交易) netcn_trade(万网交易) external_trade(统一外部交易) created Date 交易创建时间。格式:yyyy-MM-dd HH:mm:ss alipay_no varchar 32 支付宝交易号,如:2009112081173831 seller_rate Boolean 卖家是否已评价。可选值:true(已评价),false(未评价) buyer_rate Boolean 买家是否已评价。可选值:true(已评价),false(未评价) consign_time Date 卖家发货时间。格式:yyyy-MM-dd HH:mm:ss timeout_action_time Date 超时到期时间。格式:yyyy-MM-dd HH:mm:ss。业务规则:前提条件:只有在买家已付款,卖家已发货的情况下才有效如果申请了退款,那么超时会落在子订单上;比如说3笔ABC,A申请了,那么返回的是BC的列表, 主定单不存在如果没有申请过退款,那么超时会挂在主定单上;比如ABC,返回主定单,ABC的超时和主定单相同 is_detail tinyint 是否为子订单,1为子订单 is_main tinyint 是否为父订单,2为父订单 alipay_id bigint 买家的支付宝id号,买家支付宝的唯一标示,不因为买家更换Email账号而改变。 seller_nick varchar 32 卖家昵称 seller_id bigint 卖家ID buyer_nick varchar 32 买家昵称 buyer_alipay_no varchar 32 买家支付宝账号 receiver_name varchar 32 收货人的姓名 receiver_address varchar 128 收货人的详细地址,包括5个字段:receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,以逗号分割 receiver_mobile varchar 32 收货人的手机号码 receiver_phone varchar 32 收货人的电话号码 buyer_email varchar 64 买家邮件地址 42
shipping_type varchar 32 创建交易时的物流方式(交易完成前,物流方式有可能改变,但系统里的这个字段一直不变)。可选值:ems, express, post, free, virtual。 price bigint 商品价格。单位:分。如:20007,表示:200元7分 pic_path varchar 64 商品图片绝对途径 num int 商品购买数量。取值范围:大于零的整数 num_iid bigint 商品数字编号 item_meal_id bigint 套餐ID sku_id bigint 商品的最小库存单位Sku的id.可以通过获取详细的Sku信息 item_title varchar 64 商品标题 cid bigint 交易商品对应的类目ID promotion_details varchar 256 优惠详情,包括4个字段:promotion_id, promotion_name, discount_fee, gift_item_name,以逗号分割,优惠详情之间以分号分割 buyer_cod_fee bigint 买家货到付款服务费。单位:分。如:1207,表示:12元7分 seller_cod_fee bigint 卖家货到付款服务费。单位:分。如:1207,表示:12元7分 express_agency_fee bigint 快递代收款。单位:分。如:21207,表示:212元7分 adjust_fee bigint 卖家手工调整金额,单位:分。如:20007,表示:200元7分。来源于订单价格修改,如果有多笔子订单的时候,这个为0,单笔的话则跟[order].adjust_fee一样 buyer_obtain_point_fee bigint 买家获得积分,返点的积分。格式:100;单位:个。返点的积分要交易成功之后才能获得。 cod_fee bigint 货到付款服务费。单位:分。如:1207,表示:12元7分。卖家不承担服务费的订单:未发货的订单获取服务费为0,发货后就能获取到正确值。 payment bigint 实付金额。单位:分。如:20007,表示:200元7分 discount_fee bigint 系统优惠金额(如打折,VIP,满就送等),单位:分。如:20007,表示:200元7分 point_fee bigint 买家使用积分。格式:100;单位:个. real_point_fee bigint 买家实际使用积分(扣除部分退款使用的积分)。格式:100;单位:个 total_fee bigint 商品金额(商品价格乘以数量的总金额)。单位:分。如:20007,表示:200元7分 post_fee bigint 邮费。单位:分。如:20007,表示:200元7分 43
commission_fee bigint 交易佣金。单位:分。如:20007,表示:200元7分 available_confirm_fee bigint 交易中剩余的确认收货金额(这个金额会随着子订单确认收货而不断减少,交易成功后会变为零)。单位:分。如:20007,表示:200 元7分 has_post_fee Boolean 是否包含邮费。与available_confirm_fee同时使用。可选值:true(包含),false(不包含) received_payment bigint 卖家实际收到的支付宝打款金额(由于子订单可以部分确认收货,这个金额会随着子订单的确认收货而不断增加,交易成功后等于买家实付款减去退款金额)。单位:分。如:20007,表示:200元7分 buyer_message varchar 512 买家留言 seller_memo varchar 256 卖家备注(与淘宝网上订单的卖家备注对应,只有卖家才能查看该字段) seller_flag int 卖家备注旗帜(与淘宝网上订单的卖家备注旗帜对应,只有卖家才能查看该字段) attributes varchar 1024 订单属性信息,包括的字段有:trade_from,invoice_name,trade_memo,sku_properties_name,item_meal_name 退款表:refunds 名称 类型 长度 描述 refund_id bigint 退款单号 tid bigint 淘宝交易单号 oid bigint 子订单号。如果是单笔交易oid会等于tid shipping_type varchar 32 物流方式.可选值:free(卖家包邮),post(平邮),express(快递),ems(EMS). alipay_no varchar 32 支付宝交易号 total_fee bigint 交易总金额。单位:分。如:20007,表示:200元7分 buyer_nick varchar 32 买家昵称 seller_nick varchar 32 卖家昵称 seller_id bigint 卖家ID created Date 退款申请时间。格式:yyyy-MM-dd HH:mm:ss modified Date 更新时间。格式:yyyy-MM-dd HH:mm:ss 44
order_status varchar 32 退款对应的订单交易状态。可选值 TRADE_NO_CREATE_PAY(没有创建支付宝交易) WAIT_BUYER_PAY(等待买家付款) WAIT_SELLER_SEND_GOODS(等待卖家发货,即:买家已付款) WAIT_BUYER_CONFIRM_GOODS(等待买家确认收货,即卖家已发货) TRADE_BUYER_SIGNED(买家已签收,货到付款专用) TRADE_FINISHED(交易成功) TRADE_CLOSED(交易关闭) TRADE_CLOSED_BY_TAOBAO(交易被淘宝关闭) ALL_WAIT_PAY(包含:WAIT_BUYER_PAY、TRADE_NO_CREATE_PAY) ALL_CLOSED(包含:TRADE_CLOSED、TRADE_CLOSED_BY_TAOBAO) 取自" status varchar 32 退款状态。可选值 WAIT_SELLER_AGREE(买家已经申请退款,等待卖家同意) WAIT_BUYER_RETURN_GOODS(卖家已经同意退款,等待买家退货) WAIT_SELLER_CONFIRM_GOODS(买家已经退货,等待卖家确认收货) SELLER_REFUSE_BUYER(卖家拒绝退款) CLOSED(退款关闭) SUCCESS(退款成功) good_status varchar 32 货物状态。可选值 BUYER_NOT_RECEIVED (买家未收到货) BUYER_RECEIVED (买家已收到货) BUYER_RETURNED_GOODS (买家已退货) has_good_return Boolean 买家是否需要退货。可选值:true(是),false(否) refund_fee bigint 退还金额(退还给买家的金额)。单位:分。如:20007,表示:200元7分 payment bigint 支付给卖家的金额(交易总金额-退还给买家的金额)。单位:分。如:20007,表示:200元7分 reason varchar 256 退款原因 desc varchar 256 退款说明 title varchar 64 商品标题 price bigint 商品价格。单位:分。如:20007,表示:200元7分 num int 商品购买数量 good_return_time Date 退货时间。格式:yyyy-MM-dd HH:mm:ss company_name varchar 64 物流公司名称 sid bigint 退货运单号 address varchar 128 卖家收货地址 num_iid bigint 申请退款的商品数字编号 remind_type int 提醒的类型(退款详情中提示信息的类型) exist_timeout Boolean 是否存在超时。可选值:true(是),false(否) timeout Date 超时时间。格式:yyyy-MM-dd HH:mm:ss 商品表:items 名称 类型 长度 描述 num_iid bigint 商品数字id 45
detail_url varchar 64 商品url title varchar 64 商品标题,不能超过60字节 nick varchar 32 卖家昵称 seller_id bigint 卖家ID created Date Item的发布时间 num int 商品数量 list_time Date 上架时间(格式:yyyy-MM-dd HH:mm:ss) delist_time Date 下架时间(格式:yyyy-MM-dd HH:mm:ss) modified Date 商品修改时间(格式:yyyy-MM-dd HH:mm:ss) approve_status varchar 32 商品状态。onsale出售中,instock库中 outer_id bigint 商家外部编码(可与商家外部系统对接) violation Boolean 商品是否违规,违规:true , 不违规:false price bigint 商品价格,格式:500;单位:分;精确到:分 property_alias varchar 64 属性值别名,比如颜色的自定义名称 props_name varchar 2048 商品属性格式:pid:vid:pidName:vidName;pid:vid:pidName:vidName input_pids varchar 1024 用户自行输入的类目属性ID串 input_str varchar 1024 用户自行输入的子属性名和属性值 pic_url varchar 64 商品主图片地址 has_showcase Boolean 橱窗推荐 库存表:skus 商品表items和库存表skus通过num_iid关联。 名称 类型 长度 描述 sku_id bigint sku的id num_iid bigint sku所属商品数字id quantity int 属于这个sku的商品的数量, price bigint 属于这个sku的商品的价格 取值范围:0-10000000000;单位:元。如:20007,表示:200元7分。 outer_id bigint 商家设置的外部id created Date sku创建日期 时间格式:yyyy-MM-dd HH:mm:ss modified Date sku最后修改日期 时间格式:yyyy-MM-dd HH:mm:ss status varchar 32 sku状态。 normal:正常 ;delete:删除 properties varchar 1024 sku的销售属性组合字符串(颜色,大小,等等,可通过类目API获取某类目下的销售属性),格式是p1:v1;p2:v2 46