共计 1883 个字符,预计需要花费 5 分钟才能阅读完成。
拜访【WRITE-BUG 数字空间】_[内附残缺源码和文档]
注:本我的项目为开源我的项目,不能用于商业利用,仅供学习。
1. 应用工具:
maven(构建我的项目),svn(版本控制工具),myeclipse(集成开发环境),nginx(反向代理),
FastDFS (图片服务器),tomcat(web 服务器),zookeeper(集群治理),mysql(数据库)
Junit(测试)
2. 技术栈:
spring,springmvc,mybatis(框架)
solr(搜寻服务),redis(缓存),easyUI(后盾零碎页面)
3. 数据库设计
tb_user 用户表(id,username,password,phone,email,created,updated)
tb_item 商品表(id,title,sell_point,price,num,barcode,image,cid,status,created,updated)
tb_cat 商品分类表(id,parent_id,name,status,sort_order,is_parent,created,updated)
tb_item_desc 商品形容表(item_id,item_desc,created,updated)
tb_item_param 商品规格参数表(id,item_cat_id,param_data,created,updated)
tb_item_param 商品规格参数模板表(id,item_id,param_data,created,updated)
tb_order 订单表(payment,payment_type,post_fee,status,create_time,update_time,payment_time,consign_time,end_time,close_time,shipping_name,shipping_code,user_id,buyer_message,buyer_nick,buyer_rate)
tb_order 订单商品表(id,item_id,order_id,num,title,price,total_fee,pic_path)
tb_order_shipping 订单物流表(order_id,receiver_name,receiver_phone,receiver_mobile,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,created,updated)
tb_content_category 商品目录分类表(id,parent_id,name,status,sort_order,is_parent,created,updated)
tb_content 商品目录表(id,category_id,title,sub_title,title_desc,url,pic,pic2,content,created,updated)
4. 分布式系统
4.1 商品后盾管理系统
shop-manager(治理后盾)
商品的增加性能:
1. 商品类目抉择 -easyui 异步 tree 控件的应用
2. 图片上传(fastdfs+nginx)
3. 富文本编辑器应用 KindEditor
4. 分页应用 PageHelper 插件,插件是基于 mybatis 的拦截器接口实现的
商品的展现性能:
1. 分页插件的应用 PageHelper。
2.easyUIDataGrid 的应用
4.2 前台零碎
shop-rest(公布服务)
shop-search(搜寻服务)
应用 solr 实现搜寻,内容列表应用 redis 缓存,应用 zookeeper 治理集群
shop-sso (单点登录零碎)
SSO 英文全称 Single Sign On,单点登录。SSO 是在多个利用零碎中,用户只须要登录一次就能够拜访所有相互信任的利用零碎。它包含 能够将这次次要的登录映射到其余利用中用于同一个用户的登录的机制。它是目前比拟风行的企业业务整合的解决方案之一。
用户登录:
1、接管用户名和明码
2、校验用户名明码
3、生成 token,能够应用 UUID
4、把用户信息写入 redis,key 就是 token
5、把 token 写入 cookie。
6、返回登录胜利须要把 token 返回给客户端。
Session 共享的问题:
1、tomcat 做集群配置 session 复制。如果集群中节点很多,会造成网络风暴。举荐节点数量不要超过 5 个。
2、分布式架构。拆分成多个子系统。(本我的项目应用)