物流云仓储门户技术方案Creator:朱少华1、什么是物流云2、优势3、业务4、成熟SaaS的几个特性5、宏观架构6、部署拓扑结构7、技术架构8、前端技术及优化9、PASS服务10、多租户方案11、元数据驱动的多租户设计模型12、云安全纲要什么是物流云“物流云”是云计算中一个典型的应用领域。是一种软件即服务(SAAS)的物流行业IT解决方案。为什么需要物流云A仓B仓F仓E仓C仓D仓传统的架构模式:山头林立•每个库房都部署一套WMS系统。•上线、运维成本高。•硬件资源难以共享。A仓B仓C仓物流云D仓E仓集中部署,便于管理易于实施便于升级降低服务器成本定价灵活优势入库出库库内作业人员、权限管理基础资料维护报表引擎全文检索引擎定制功能,定制UI、工作流、表格开发工具,设计器拖拽设计页面。平台开发语言(PaaS)业务成熟SaaS的几个特性•单机故障•IDC故障•快速扩容•随需应变•高吞吐•低延迟•业务定制•按需分配可配置高性能容错可伸缩宏观架构网关负载均衡器应用服务器应用服务器应用服务器数据库服务器数据库服务器负载均衡器应用服务器应用服务器应用服务器数据库服务器数据库服务器部署拓扑结构技术架构资源管理用户管理监控系统安全管理计费管理云管理层调度引擎并行处理中间件Comet引擎分布式缓存日志服务全文检索界面引擎邮件服务PaaS层表单设计器出库搜索报表入库库内作业多租户架构SaaS层客户支持运维管理容灾支持服务管理工作流设计器基础资料设置人员、权限管理OpenStackIaaS层数据存取服务OracleMaster/SlaveRAC租户数据元数据表数据表1、HTML5、Ajax生产系统操尽量模拟桌面操作,尽可能减少页面刷新数据量,提高操作响应时间。2、静态分离独立的静态文件服务器,使用独立域名,不能使用主站二级域名,不然请求响应会附带主站cookie。3、静态服务器使用Nginx高效、节省服务器资源、负载均衡、反向代理。4、Squid缓存静态文件把资源文件缓存在服务器内存,可以减少磁盘的IO操作,从而减少获取文件的响应时间。5、CDN由于用户地域分布固定(北上广成武沈),可以选择自建CDN。6、设置文件Expires时间服务器设置文件较长的过期时间,同时程序中对静态文件加版本号。7、服务器启用Gzip压缩减少网络传输时间。8、合并css、js文件和布局图片减少浏览器请求排队时间,浏览器对同域名下的资源文件请求有并发数的限制。前端技术及优化1、缓存服务使用Memcached、Redis等分布式缓存各租户的元数据,加速应用生成。2、大规模数据处理引擎1)对高并发数据异步处理、并行快速处理。2)错误恢复机制,批量处理时,其中一个步骤发生错误时,引擎会捕捉和修复这个错误。3、运行时应用生成器元数据驱动的运行时动态解析配合UI模板生成应用实例。4、任务调度引擎支持多种复杂规则的任务调度,方便处理定时作业。5、Comet引擎HTTP长连接的“服务器推”技术,可使用HTML5的WebScoket取代。6、全文检索服务使用Lucene或Solr,一个租户单独维护一套索引。7、日志服务同上,使用全文检索,记录用户行为日志和操作日志。PASS服务•一个租户单独部署一套数据库。1、独立数据库•共用一套数据库,以不同的Schema做逻辑隔离。2、共享数据库,隔离数据架构•不同租户的数据存储在同一数据库的同一的Schema中。3、共享数据库,共享数据架构多租户的三种方案元数据驱动的多租户设计模型——稀疏表模式元数据驱动的多租户设计模型——稀疏表模式TenantIDTableIDvalue0value1…value500Te1Ta15张三…2008Te1Ta11李四…2009………………Te2Ta2赵六2003…男元数据驱动的多租户设计模型——键值对模式元数据驱动的多租户设计模型——键值对模式RowIDABCD152张三2008213李四2009389王五2004441赵六2003TenantIDTableIDRowIDColumnIDValue001T11A5001T11B2001T11C张三001T11D2008001T12A1001T12B3……………002T2……………逻辑视图存储视图1、密码加密加盐使用SHA1等加密算法,加盐后二次加密。2、DDOS攻击服务器安装DDOS硬件防火墙。3、SQL注入禁止使用SQL拼串。4、跨站XSS攻击过滤用户提交的所有数据是否有非法字符。5、SSL(SecuritySocketLayer)交换数据6、过载保护超过系统处理负载量,限制登录或操作进入排队机制。7、服务器数据定时备份8、异地容灾云安全谢谢微博:@朱少华95邮箱:zhushaohua@360buy.com