提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
https://blog.csdn.net/qq_42575330/article/details/86409165别人的电商项目总结 @[TOC](文章目录)前言
自己的关于商城项目的经验
提示:以下是本篇文章正文内容,下面案例可供参考
一、自己的介绍?
商城
前端:品牌展示、商品分类、商品展示、购物车、订单流程、客户服务、帮助中心等;
后台:商品管理、订单管理、客户管理、积分管理、平台管理、结算管理等;
描述:基于现在主流的SSM进行开发
同时,采用了Maven的多模块化的管理,其中采用了水平切分的方式,将pojo、dao、service、web分层开发
也采用分布式的系统架构进行部署
前台系统和单点登录系统采用了集群的方式部署
后台管理系统采用了水平切分的方式,将pojo、dao、service、web分层开发
系统的接口还对JS的跨域做了支持,采用了jsonp的解决方法,在后台接口中扩展了spirng提供的jackson数据转化器实现
部署方面,采用了Nginx+tomcat的模式,其中nginx的作用一方面是做反向代理、负载均衡、另一方面是做图片等静态资源的服务器
系统内部接口调用采用Httpclient(Dubbo),系统之间的通知机制采用MQ的方式,使用RabbitMQ的实现,使用了RabbitMQ的消息订阅模式的消息机
职责:按需求实现商品管理、订单管理,会员系统,主要是维护用户的信息积分信息等功能;
项目负责内容:在此项目中我主要负责后台管理模块,主要实现商品管理,对商品进行CRUD操作。在实现前台调用后台数据时,为了实现系统间的调用,便使用了HttpClient技术来实现此功能,在后台提供了需要调用的接口。(HttpClient介绍、工作原理、优缺点)。如果在后台对商品进行操作,为了使前台数据与后台数据实现同步,我们使用了ActiveMQ消息队列机制实现商品同步功能(ActiveMQ介绍、工作原理、优缺点)。
在此项目中,我还参与了订单管理,主要是提供和订单相关的业务接口,在订单系统了做了严格的数据校验以及高并发写的支持(这里可以说使用队列实现),购物车模块的开发。在开发这个模块时候,我们考虑了会员在未登录和登录两种情况下把商品加入购物车,后台如何该保存商品信息。
在用户商品详情页点击加入购物车的时候,我们用了登录拦截器来判断用户是否登录。如果没有登录,将商品信息保存到cookie中,当用户登录后,再把商品持久到数据库中;但是考虑到cookie储存大小(4k)的问题,还有当cookie储存的数据越多就会影响响应速度,我们决定使用redis来缓存用户在未登录状态下的商品信息(redis介绍、原理、优缺点),在redis中设置缓存生存时间(如何做到的?),如果用户在规定时间内没有登录,数据便会自动删除。如果用户在规定时间内登录了,便会通过ActiveMQ消息队列机制将数据同步到数据库中。
二、对于一些概念的理解
1.JS的跨域
https://www.cnblogs.com/yongshaoye/p/7423881.html原文章
1.定义:跨域是指从一个域名的网页去请求另一个域名的资源。
2.所谓同源是指,域名,协议,端口均相同
3.为什么浏览器要限制跨域访问呢?
原因就是安全问题:如果一个网页可以随意地访问另外一个网站的资源,那么就有可能在客户完全不知情的情况下出现安全问题。比如下面的操作就有安全问题:
4.既然有安全问题,那为什么又要跨域呢?
有时公司内部有多个不同的子域,比如一个是location.company.com ,而应用是放在app.company.com , 这时想从 app.company.com去访问 location.company.com 的资源就属于跨域
解决跨域问题的方法
(1)跨域资源共享(CORS)
(2)通过jsonp跨域
JSONP是JSON with Padding(填充式json)的简写,是应用JSON的一种新方法,只不过是被包含在函数调用中的JSON
JSONP由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数,而数据就是传入回调函数中的JSON数据。
JSONP的原理:通过script标签引入一个js文件,这个js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。所以jsonp是需要服务器端的页面进行相应的配合的。
本质:js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。所以jsonp是需要服务器端的页面进行相应的配合的。
JSONP的优缺点
优点:兼容性好
缺点:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题
2.Httpclient
自行百度
3.RabbitMQ
4在订单系统了做了严格的数据校验以及高并发写的支持
这里是用队列实现的
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。