11 2021 档案
摘要:1.服务提供者配置 //需要额外引入的jar包 提供者 <dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.0</versio
阅读全文
摘要:文件上传 之前做的文件上传是将文件上传到tomcat本地硬盘上,然后通过虚拟路径访问该文件。 但是如果在tomcat集群环境,这种方案肯定是不行的,所以需要用分布式的文件系统来存取文件。 这里我们使用阿里云的oss服务,来存储文件数据(图片、小视频、js、css.html) 1.阿里云登陆注册 ht
阅读全文
摘要:如何保证订单状态一致性?如何保证接口的幂等性?订单系统保证幂等性? 保证幂等性是指保证用户多次重复操作或请求造成的结果是一致的,不会产生任何副作用 token机制原理和session的区别 1. 幂等实现流程 以订单系统为例,假设用户在付款流程中(此时页面跳转到第三方支付页面),用户在第三方支付成功
阅读全文
摘要:1.订单失效原理 订单失效的实现方式 1:redis的过期特性,redis提供了key过期的监听事件接口,通过监听key过期来实现订单失效,不支持集群环境(主从结构存在数据副本) 2:使用rabbitMq实现延迟队列的功能。 当生成订单时,将订单号放入死信队列(因为没有消息处理者,所以称为死信队列)
阅读全文
摘要:在单体架构中,所有的代码、模块都放在一份代码中,如果其中一个模块需要升级,哪怕只修改了一点点,整个系统也要一起升级,这样耦合度太高,同时代码管理也比较难。 到了分布式系统架构,这里现在有前台系统、订单系统、会员系统,这三个系统分别独立部署,如果需要升级某个系统,其他系统不需要进行调整。 有些请求不是
阅读全文
摘要:1.申请流程 支付宝开发平台 https://openhome.alipay.com/platform/appManage.htm#/apps 沙箱环境 : https://openhome.alipay.com/platform/appDaily.htm?tab=info 支付参数api: htt
阅读全文
摘要:1.秒杀的业务逻辑 秒杀会出现高并发的情况,关系型数据库并发能力较弱,高并发会导致数据库崩溃 使用非关系型数据库 在网关这一块,使用nginx进行负载均衡,保证访问可以被消化,在应用服务器端使用tomcat集群,唯一有问题的是在数据库这一端 抢购秒杀(限时特惠) 高并发 限时 限量 实现抢购秒杀 1
阅读全文
摘要:1.订单号生成(雪花算法) 引入一个工具类,直接调用方法生成 2.生成订单页面 @RequestMapping("/confirmSeckillOrders") public String confirmSeckillOrders(int id, HttpSession session){ //用户
阅读全文
摘要:1.缓存 缓存是指提前缓冲、预存数据在非关系型数据库里,当进行数据查询的时候, 先查询缓存再查询关系型数据库,可以理解成map<查询条件,List> 对于高并发或者是复杂sql,关系型数据的效率非常低 缓存的使用场景:高频查询、低频修改的数据(热点数据) 缓存的工作模型:数据查询
阅读全文
摘要:1.系统权限的拦截 对于一个系统来说,系统当中的不同用户访问资源的权限也是不同的 对于系统来说,用户,角色,权限必不可少,通常都是通过5张表来实现系统的权限控制 用户表,用户角色关系表,角色表,角色权限关系表,权限表(菜单表) 不同的用户登陆,进来之后,看到的导航是一样的吗? 用户登陆成
阅读全文
摘要:ssm框架整合参照上一篇:https://www.cnblogs.com/guyihan/p/15516543.html 1.ssm框架整合redis 使用spring中封装的各种数据库支持redisTemplate <dependency> <groupId>org.springframework
阅读全文
摘要:引入依赖(pom.xml导包) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
阅读全文
摘要:1.设置key的生存周期 Redis在实际使用过程中更多的用作缓存,然而缓存的数据一般都是需要设置生存时间的,即:到期后数据销毁 expire key seconds 设置key的生存时间(单位:秒),key在多少秒后会自动删除 ttl key 查看key的生存时间 persist key 消除生存
阅读全文
摘要:NoSQL数据库 NoSQL,泛指非关系型的数据库,它可以作为关系型数据库的良好补充。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得
阅读全文
摘要:mysql安装 如果没安装wget,先安装 yum install –y wget 检查系统中是否已安装 MySQL rpm -qa | grep mysql 返回空值的话,就说明没有安装 MySQL 查看已安装的 Mariadb 数据库版本。 rpm -qa|grep -i mariadb 卸载已
阅读全文
摘要:linux vmware visualbox 虚拟机工作平台,提供了虚拟环境用于创建虚拟机(windows、linux等) linux linux广泛运用于生产环境和测试环境,linux常用的实现 centos、ubuntu、red hat linux和windows对比 1:linux安全性高,稳
阅读全文