![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web进阶
ICoder_Next
数学抽象世界,物理改变世界
展开
-
秒杀服务的实现(2)
文章目录第16章-秒杀后端1 秒杀异步下单1.1 秒杀服务-下单实现1.2 生产者保证消息不丢失1.2.1 开启confirm机制1.3 秒杀下单服务更新库存库1.3.1 异步下单服务changgou_service_consume1.3.2 消费者手动ACK下单实现1.5 流量削峰1.6 秒杀渲染服务-下单实现2 防止恶意刷单解决2.1 更新秒杀服务下单2.2 防重方法实现3 防止相同商品重复秒...原创 2020-03-21 21:13:22 · 199 阅读 · 0 评论 -
秒杀服务的实现(1)
文章目录1 秒杀业务分析1.1 需求分析1.2 表结构说明1.3 秒杀需求分析2 秒杀商品存入缓存2.1 秒杀服务搭建2.2 思路分析2.2.1 秒杀商品时间段分析2.2.2 秒杀商品时间段计算2.2.3 获取当前时间段2.2.4 获取时间菜单2.2.5 当前业务整体流程分析2.3 代码实现2.3.2 更改启动类,添加开启定时任务注解2.3.3 定义定时任务类3 秒杀商品-首页3.1 秒杀首页实现...原创 2020-03-21 20:48:40 · 968 阅读 · 1 评论 -
分布式事务解决方案——CAP、Seata、消息队列
文章目录1.分布式事务解决方案1.1 本地事务与分布式事务1.1.1 事务1.1.2 本地事务1.1.3 分布式事务1.2 分布式事务相关理论1.2.1 CAP定理分区容错 Partition tolerance可用性 Availability一致性 Consistency一致性和可用性的矛盾1.2.2 BASE理论Basically Available(基本可用)Soft state(软状态)...原创 2020-03-21 20:15:40 · 2702 阅读 · 1 评论 -
畅购9-Spring Security Oauth2 JWT
文章目录学习目标1 用户认证分析1.1 单点登录1.2 第三方账号登录2 认证解决方案2.1 单点登录技术方案2.2 第三方登录技术方案2.2.1 Oauth2认证流程2.2.2 Oauth2在项目的应用2.3 Spring security Oauth2认证解决方案3 Jwt令牌回顾3.1 令牌结构3.2 生成私钥公钥3.3 基于私钥生成jwt令牌3.3.1导入认证服务3.3.2 认证服务...原创 2020-03-20 20:07:47 · 771 阅读 · 0 评论 -
页面渲染技术分类总结以及使用Thymeleaf、Rabbitmq实现商品详情页的静态页
文章目录1.页面渲染技术分类:1.2 服务端渲染:1.3客户端渲染:2.什么是thymeleaf:3.和thymeleaf同类型技术都有哪些:本节学习目标1.Thymeleaf介绍2.Springboot整合thymeleaf3 Thymeleaf基本语法4 搜索页面渲染4.1 搜索分析4.2 搜索实现4.2.1 搜索工程搭建4.2.2 搜索数据填充4.2.3 关键字搜索4.3 搜索条件回显4.4...原创 2020-03-18 10:06:35 · 1122 阅读 · 0 评论 -
数据同步解决方案-canal与rabbitmq
文章目录学习目标1. canal1.1 canal简介1.2 环境部署1.2.1 mysql开启binlog模式1.2.2 canal服务端安装配置1.2.3 canal常见错误处理1.3 数据监控微服务2. 首页广告缓存更新2.1 需求分析2.2 实现思路2.3 代码实现2.3.1 发送消息到mq2.3.2 从mq中提取消息执行更新3. 商品上架索引库导入数据3.1 需求分析3.2 实现思路3....原创 2020-03-17 17:17:40 · 9069 阅读 · 7 评论 -
消息队列——rabbitMQ的学习使用
文章目录学习目标1. 消息队列概述1.1 为什么使用MQ1.2. 消息队列产品1.3. AMQP 和 JMS1.3.1. AMQP1.3.2. JMS1.3.3. AMQP 与 JMS 区别1.4. RabbitMQ1.5 相关定义:2. 安装及配置RabbitMQ2.1. docker中安装RabbitMq2.2. 用户以及Virtual Hosts配置2.2.1. 用户角色2.2.2. Vir...原创 2020-03-15 20:00:54 · 315 阅读 · 0 评论 -
网站首页高可用_nginx+lua——缓存预热与nginx限流
文章目录原创 2020-03-14 20:47:30 · 754 阅读 · 0 评论 -
微服务网关鉴权——gateway使用、网关限流使用、用户密码加密、JWT鉴权
第3章 微服务网关鉴权课程目标掌握微服务网关Gateway的系统搭建掌握网关限流的实现能够使用BCrypt实现对密码的加密与验证了解加密算法能够使用JWT实现微服务鉴权1.微服务网关Gateway1.1 微服务网关概述 不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:客户端...原创 2020-03-13 21:40:13 · 14274 阅读 · 5 评论 -
Dubbo与Zookeeper
文章目录流动计算架构2. RPC(远程过程调用)RPC介绍RPC组件RPC调用3. Apache Dubbo概述Dubbo简介Dubbo的架构4. 服务注册中心ZookeeperZookeeper介绍Zookeeper安装Zookeeper客户端命令5. Dubbo快速开发1. 创建父工程2. 创建接口模块3. 服务提供者模块1. 创建子模块dubbo-provider2. 初始化java资源目录...原创 2020-03-08 22:44:02 · 282 阅读 · 0 评论 -
乐优商城项目(3)——图片上传、FastDFS
文章目录0.学习目标1.品牌的新增1.1.页面实现1.1.1.重置表单1.1.2.表单校验1.1.2.1.校验规则1.1.2.2.编写校验1.1.3.表单提交1.2.后台实现新增1.2.1.controller1.2.2.Service1.2.3.Mapper1.2.4.测试1.3.解决4001.3.1.原因分析1.3.2.QS工具1.3.3.解决问题1.4.新增完成后关闭窗口2.实现图片上传2....原创 2020-03-05 21:12:03 · 1026 阅读 · 0 评论 -
乐优商城项目(2)——项目后台前端、nginx、跨域访问问题
文章目录0.学习目标1.搭建后台管理前端1.1.导入已有资源1.2.安装依赖1.3.运行一下看看1.4.目录结构1.5.调用关系2.Vuetify框架2.1.为什么要学习UI框架2.2.为什么是Vuetify2.3.怎么用?2.4.项目页面布局3.使用域名访问本地项目3.1.统一环境3.2.域名解析3.3.解决域名解析问题3.4.nginx解决端口问题3.4.1.什么是Nginx3.4.2.ngi...原创 2020-03-04 00:32:35 · 1325 阅读 · 0 评论 -
乐优商城项目(1)——项目搭建和ES6介绍
文章目录2.乐优商城介绍2.1.项目介绍2.2.系统架构2.2.1.架构图2.2.2.系统架构解读3.项目搭建3.1.技术选型3.2.开发环境3.3.域名3.4.创建父工程3.5.创建EurekaServer3.5.1.创建工程3.5.2.添加依赖3.5.3.编写启动类3.5.4.配置文件3.5.5.项目的结构3.6.创建Zuul网关3.6.1.创建工程3.6.2.添加依赖3.6.3.编写启动类3...原创 2020-03-02 16:54:56 · 788 阅读 · 0 评论 -
web进阶——springcloud微服务(2)之ribbon、hystrix、feign、zuul
文章目录0.学习目标1.Hystrix1.1.简介1.2.雪崩问题1.3.线程隔离,服务降级1.3.1.原理1.3.2.动手实践1.3.2.1.引入依赖1.3.2.2.开启熔断1.3.2.3.编写降级逻辑1.3.2.4.默认FallBack1.3.2.5.设置超时1.4.服务熔断1.4.1.熔断原理1.4.2.动手实践2.Feign2.1.简介2.2.快速入门2.2.1.导入依赖2.2.2.开启F...原创 2020-03-01 17:34:36 · 217 阅读 · 0 评论 -
web进阶——springcloud微服务之eureka、ribbon
文章目录0.学习目标1.系统架构演变1.1.集中式架构1.2.垂直拆分1.3.分布式服务1.4.流动计算架构(SOA)1.5.微服务2.服务调用方式2.1.RPC和HTTP2.2.Http客户端工具2.3.Spring的RestTemplate3.初识SpringCloud3.1.简介3.2.版本4.微服务场景模拟4.1.服务提供者4.1.1.Spring脚手架创建工程4.1.2.编写代码4.1....原创 2020-02-29 20:27:29 · 294 阅读 · 0 评论 -
Java进阶(3)——JVM优化之tomcat优化实践和代码优化建议
文章目录1、Tomcat8优化1.1、Tomcat配置优化1.1.1、部署安装tomcat81.1.2 禁用AJP1.1.3、执行器(线程池)1.1.4、3种运行模式1.2、部署测试用的java web项目1.2.1、创建dashboard数据库1.2.2、部署web应用1.3、使用Apache JMeter进行测试1.3.1、下载安装1.3.2、创建首页的测试用例1.3.3、启动、进行测试1.3...原创 2020-02-25 21:36:07 · 358 阅读 · 0 评论 -
Java进阶(3)——JVM优化之垃圾回收
文章目录1.什么是垃圾回收?1.1、C/C++语言的垃圾回收1.2、Java语言的垃圾回收2、垃圾回收的常见算法2.1、引用计数法2.1.1、原理2.1.2、优缺点为了测试GC,将堆的初始和最大内存都设置为16M1.什么是垃圾回收?程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。1.1、C/C++语言的垃...原创 2020-02-25 10:53:49 · 214 阅读 · 0 评论 -
Java进阶(3)——JVM优化之概念学习
文章目录1.了解下我们为什么要学习JVM优化掌握jvm的运行参数以及参数的设置掌握jvm的内存模型(堆内存)掌握jamp命令的使用以及通过MAT工具进行分析掌握定位分析内存溢出的方法掌握jstack命令的使用掌握VisualJVM工具的使用1....原创 2020-02-24 17:25:04 · 402 阅读 · 0 评论 -
Java进阶(2)——NIO之网络IO、Netty、RPC
文章目录1.网络IO1.1 概述和核心 API1. Selector(选择器)2. SelectionKey3. ServerSocketChannel4. SocketChannel1.2 入门案例1.3 网络聊天案例1.网络IO1.1 概述和核心 API前面在进行文件 IO 时用到的 FileChannel 并不支持非阻塞操作,学习 NIO 主要就是进行网络 IO操作,Java NIO ...原创 2020-02-23 20:54:43 · 334 阅读 · 0 评论 -
Java进阶(1)——多线程通信与NIO
文章目录1.线程介绍2.线程间的通信3.BIO编程4.NIO编程4.1概述4.2 文件 IO4.2.1 概述和核心 API4.2.2 案例1. 往本地文件中写数据2. 从本地文件中读数据3.复制文件1.线程介绍线程是比进程更小的能独立运行的基本单位,它是进程的一部分,一个进程可以拥有多个线程,但至少要有一个线程,即主执行线程(Java 的 main 方法)。我们既可以编写单线程应用,也可以编写...原创 2020-02-22 17:02:26 · 559 阅读 · 0 评论 -
Netty学习——一个聊天的案例实现(多线程)
文章目录1 项目介绍 一个聊天app2 Netty 介绍与相关基础知识2.1 Netty 介绍2.2 BIO、NIO、AIO 介绍与区别2.3 Netty Reactor 模型 - 单线程模型、多线程模型、主从多线程模型介绍2.3.1 单线程模型(足浴店的老板工人都是同一个人)2.3.2 Reactor 多线程模型(足浴店有一个接待的,好多个技师)2.3.3 Reactor 主从多线程模型(足...原创 2020-02-21 21:28:31 · 1647 阅读 · 0 评论 -
JavaWeb开发常用模式——MVC以及SpringMVC源码分析
文章目录1.MVC的介绍1.1表现层模型MVC的由来1.1.1 Model1模型1.1.2 Model2模型1.2MVC模型的优劣分析1.2.1 MVC模型的优势1.2.2 MVC模型的弊端1.2.3 基于异步请求的MVVM模式2.基于MVC模型的框架:SpringMVC2.1 SpringMVC源码分析2.1.1 SpringMVC执行过程分析1.MVC的介绍介绍的是 MVC 模型,它包含了...原创 2020-02-20 16:45:33 · 278 阅读 · 0 评论 -
微服务项目部署常用工具——docker
文章目录1.docker的作用1.1简化配置1.2代码管道化管理1.3开发人员的生产化1.4应用隔离1.5服务合并1.6多租户1.7快速部署1.8分层存储1.docker的作用Docker 提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个Docker,而MySQL...原创 2020-02-17 20:56:08 · 929 阅读 · 0 评论