一、总述

本方主要向你介绍思程Shop(SiC B2B2C Shop)的技术架构,帮助快速了解思程Shop的技术架构。

系统安全方案;系统扩展方案;系统性能指标;技术架构蓝图;集群部署图;采用的技术框架;高质量的代码;

二、系统安全方案

目标:构建安全的信息系统,保证用户数据安全,防止系统被黑客攻击。

安全特性描述 密码加强 使用sha1算法 + salt(盐) ,来防止碰撞猜出密码。 使用SystemService.entryptPassword()生成安全的密码,生成随机的16位salt并经过1024次 sha - 1 hash。 安全cookie 使用HTTPonly状态的cookie,使js无法读出cookie,无法盗取cookie。 智能验证码 登录失败3次后,要求输入图片验证码。 权限验证 每一个方法都有服务端权限验证,无法绕过,保证数据安全。 表单验证 前端使用js做表单验证,用户体验好。 服务端再做一次相同逻辑的的表单验证,安全性高。 防止SQL注入 本系统可防止SQL注入攻击,保护数据安全。 防止XSS攻击 对文本框防止xss攻击,对于富文本编辑器防止xss攻击,保护数据安全。 属主检查 修改、删除数据时,做属主检查。防止跨会员删除数据 多用户平台,在删除记录时,要检查这条记录的主人是不是当前用户,是才可以删除,防止人为修改url中的ID参数删除其它用户的记录。 防止表单重复提交 网速较慢时,用户可以连续点击“保存”按钮:解决方案。1按钮变灰,2 使用token 按F5刷新页面会导致前面提交过的表单再一次提交,使用重定向来解决。 图片访问控制 普通图片,都是可以匿名访问的(如产品图片),只要知道图片的url,就可访问图片。 由于业务需要,系统接收了用户上传的身份证、营业执照的图片,这些图片需要保密,不能泄漏到互联网上。由图片访问控制来保证安全。

三、系统扩展方案

本系统采用高扩展性的技术架构方案,系统可扩展性强,为未来大数据量、大用户量,留出了扩展的空间。

应用服务器:可做集群部署。

缓存服务器:可做分布式部署。

搜索服务器:可做分布式部署。

图片存储服务器:可采用支持分布式存储的文件系统。

四、系统性能指标

目标:构建高性能的信息系统。

性能项性能指标系统可承受会员量100万系统可承受商品量500万系统可承受日访问量300万PV/天PC端页面打开时间低于2秒 并发压力(独立 IP) 同时在线人数 50000

注意:采用10台常规物理服务器(8核16G),并且分布式、集群部署。

五、技术架构蓝图

本架构蓝图,在技术方面,描述B2B2C的核心架构。读者可通过本图,对B2B2C商城架构有一个全貌的了解。便于更好的做开发工作。

应用层 前台Front:是商城的前台系统,主要用于展示商城首页、商品列表页、商品详情页。 会员中心Member:买家登录后进入会员中心,与当前买家购买相关的信息都在这里。 商家中心Seller:卖家登录后进入商家中心,与当前卖家开店销售相关的信息都在这里。 安全中sso:对会员(买家、卖家)账号的管理,实现单点登录功能。 管理后台Admin:商城平台管理员登录后进入管理后台,可管理整个商城。 静态资源Static:css\js\图标都在这里,前端的库(jquery\bootstrap)都在这里,便于管理,做CDN加速。 上传Uploader:接收上传来的图片,图片处理(缩图),后端接图片存储。做CDN加速。

领域服务 库存服务:计算商品的库存量,总库存=可销售库存+订单占用库存。 价格服务:计算商品的价格。 令牌服务:产生令牌、验证令牌。向uploader系统上传文件时、单点登录时,通过令牌验证合法性。 Cahce服务:为业务层提供Cache操作的能力,后端可对接多种缓存技术。

基础服务 略...

任务调试 结算任务:定时执行结算任务 统计任务:定时执行统计任务 定时任务:系统还有很多种业务的定时任务。

搜索 采用solr技术实现的搜索引擎,供业务系统调用,实现商品搜索(按关键字、按参数)、猜你喜欢、相似商品推荐、搜索建议。

图片处理 在用户访问时实时生成缩略图。

文件存储 本地存储:在单机部署时,使用本地文件系统来存储图片。 OSS云存储:可对接阿里云的OSS云存储,海量、高性能。 FastDFS:一种分布式文件存储系统。

MQ 是消息队列,实现削峰填谷抵挡突发流量,实现异步调用,实现可靠消息。

缓存 可对接多种缓存实现,当单机部署时使用Ehcache缓存,当分布式部署时使用Redis缓存。

数据库访问层DAL 通过DAL实现访问 Oracle\mysql\sqlserver数据库。完成实体关系映射。

数据库(读写分离) 面对大型系统时,使用读写分离技术,提供高性能的数据库能力。

外部接口 支付接口:对接支付宝、易宝支付 短信接口:对接多种外部的短信网关 邮件接口:对接多种外部的邮件通道 物流接口:查快递信息

公共设施 监控系统:使用外部成熟的监控系统,监控商城的硬件资源、系统可用性、系统响应时间。 日志收集:收集并分析日志

六、系统部署图

集群部署图

整个系统采购集群部署,避免出现单节点,保障系统的高可用性。

单节点简化部署图

最简化的单节点部署,用于便捷快速的完成部署,常用于开发环境。

七、采用的技术框架

八、高质量的代码

我团队十分注重编码规范,代码格式美观,结构优良,变量名见名知意,数据表结构合理,表名命名优雅。

请参考以下部分截图

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: