zoukankan      html  css  js  c++  java
  • 秒杀系统核心高性能解决方案(待续)

    秒杀系统能力由核心处理能力和承载容量极限决定。

    课程目标:

    基于免费课程的项目做性能上质的提升

    互联网架构核心技术的拓展化应用

    动手实践,理论应用相结合

    课程介绍:

    学习环境:

     技术储备:

    linux和redis都还没学。。。

     2-1 分层设计

    之前结尾那张图

    对应的三层模型在秒杀项目当中得到的一些启示:

     2-2 回顾秒杀项目包结构的信息

     2-3/2-4/2-5 基础课源码走读

    有点忘记活动那个是怎么完成的了,回顾一下

    (又被卡住了,就是增加了promoid的oder_info表的mapper信息也要重新mvn生成,不然就每条sql语句手动增加上promoid)

    ---------------------------------------------------------------------------------------------------------------

    关于活动状态:

    promoModel里面增加一个状态属性用Integer类型:

    /**
    * 活动状态:1表示未开始,2表示进行中,3表示已结束
    */
    private Integer status;

    之后在promoservice里面设置不同的状态就是set就行:

    promoModel.setStatus(2);

    再就是在orderService和ItemService里的使用就是:

    itemModel.getPromoModel().getStatus().intValue() != 2 //则活动进行中

    这样来判断状态的!!!!

    ------------------------------------------------------------------------------------------------------------

    2-6 问题答疑

    1.跨域问题

    由于是前后端分离,所以前后端都要做相应处置。但是safari浏览器是阻止跨站的,在偏好设置里面去掉勾选就可以。

    2.出现404,405

    404是url错误,405是比如参数没传

    不用baseController它进不了,重新定一个GlobalExceptionHandler类,@ControllerAdvice对应controller的一个切面编程。

    doError方法

    【程序代码】。。。

    对于404 修改application.pro文件,加入

    spring.mvc.throw-exception-if-no-handler-found=true

    spring.resources.add-mappings=false

    2-7 数据安全

    想要安全的传输,最重要也是唯一的解决方案就是加密。通用意义上的加密技术分为哈希散列(课之前程用的用户密码md5加密)对称加密非对称加密三种。

     浏览器上确实能拿到密码。。。。

    因此若要确保你的应用可以安全的传输密码,最好的选择即是使用https协议

    2-8  充分理解跨域问题并解决跨域问题

    跨域产生的条件

    • 使用xmlHttpRequest,即我们通常说的ajax请求
    • 浏览器做了这个事
    • 访问的域名不同,即访问的html页面是a域名下的,但内部js发送的ajax请求的目标地址却是b域名

    以上三个条件缺一不可,尤其是第三个条件许多做移动端的同学可能都没有听过,因为移动端爽爽的用各种http请求狂发不同的域名,但是浏览器不允许我们这么做,为了一个词 安全

    (移动端上没有用ajax,ajax是网页上的技术,移动端可以用okhttp发送异步请求接收回调的响应结果

      // 4、使用okhttpClient对象获取请求的回调方法,enqueue()方法代表异步执行
                    okHttpClient.newCall(request).enqueue( new Callback() {
                        // 5、重写两个回调方法

    3-1 云端部署--系统构建

  • 相关阅读:
    大叔程序员的第六天 @布局&eclipse配置文件
    20130305Android自定义Button按钮显示样式
    solr学习(1)
    Lucence3.0学习(1)
    Liskov Substitution Principle (LSP) OO设计的里氏替换原则
    对于高内聚低耦合的理解
    ASP.NET 网站中的共享代码文件夹
    二探String类型
    初探String类型
    版本控制初探1
  • 原文地址:https://www.cnblogs.com/gezi1007/p/13069254.html
Copyright © 2011-2022 走看看