自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 RabbitMQ(三)各种模式实现

链接地址https://blog.csdn.net/DT_Zhangshuo/article/details/106035955

2022-07-08 11:56:35 261 1

原创 RabbitMQ(七)消息队列问题

场景:上千万条消息在mq里积压了几个小时了还没解决解决:场景:rabbitmq设置过期时间的,就是TTL解决:02、如何处理RabbitMQ 消息堆积和消息丢失问题解决方案:增加消费者或后台相关组件的吞吐能力增加消费的多线程处理根据不同的业务实现不同的丢弃任务,选择不同的策略淘汰任务默认情况下,RabbitMQ消费者为单线程串行消费,设置并行消费两个关键属性,他们设置的是对每个消费者在初始化的时候设置的并发消费者个数,prefetchCount 是每次一次性从broker中获取的待消费的消息个

2022-07-08 11:34:40 1629

原创 RabbitMQ(六)死信队列

死信队列: 接盘侠,在开发中,延时和延迟处理一些指定的业务逻辑是非常常见的事情,这些场景都可以使用中间件RabbitMQ提供的死信队列,进行得以处理。死信队列(ex - routing - queue)又称之为”延迟队列“或者”延时队列”,也是RabbitMQ队列的一种,指的是进入队列的消息会被延迟消费的队列,这种队列根普通的队列相比,最大的差异在于消息一旦进入普通队列将会立即被消费处理,而进入死信队列则会过一定的时间在被消费处理。思考:假设如果这个时候我们开发的是淘宝,京东或者12306这样的网站使用定时

2022-07-08 11:28:12 994 4

原创 RabbitMQ(五) 可靠生产的的问题

可靠生产

2022-07-08 11:23:20 307

原创 RabbitMQ(四) 实战开发问题

具体详看视频假设:如果消费者在消费消息的时候出现了异常会怎么样?ack是消费者告诉rabbitmq server 服务消费的回执确认,代表我消费是正常的。confirm:是rabbit server 个生产者的一个确认机制,代表消息投递到了rabbit server服务端。应答策略有如下:none (不处理),auto(自动),munual(手动)因为默认情况下:Java的rabbitmq默认的方式none的应答方式,如果生成者消息投递给rabbitmq server。那么如果消费者出现异常,代表消息无法应

2022-07-08 11:19:32 925

原创 RabbitMQ(二) 安装和下载

当前项目的日志、消息是使用mongodb的方式进行存储的。可能会给我们的程序造成延迟以及并发能力增大的问题。如何解决这个问题,可以使用异步编程和处理。比如:async或者RabbitMQ等。会面临的问题是:如果因为日志的发送失败可能会造成事务的回滚,这样就有点得不偿失。步骤:03、虚拟化容器技术–设置ustc镜像源ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要

2022-07-08 11:07:54 591

原创 RabbitMQ(一)概述和差异

当前项目的日志、消息是使用mongodb的方式进行存储的。可能会给我们的程序造成延迟以及并发能力增大的问题。如何解决这个问题,可以使用异步编程和处理。比如:Async或者RabbitMQ,RocketMQ等。六个字传统模式的缺点:中间件模式的的优点:传统模式的缺点:中间件模式的的优点:传统模式的缺点:中间件模式的的优点:分析:一个使用了MQ的项目,如果连这个问题都没有考虑过,就把MQ引进去了,那就给自己的项目带来了风险。我们引入一个技术,要对这个技术的弊端有充分的认识,才能做好预防。要记住,不要

2022-07-08 10:16:36 625

原创 MongoDB(五)之安全和访问权限控制

MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录1,绑定IP地址默认值是所有的IP地址都能访问,该参数指定MongoDB对外提供服务的绑定IP地址,用于监听客户端 Application的连接,客户端只能使用绑定的IP地址才能访问mongod,其他IP地址是无法访问的。2,设置监听端口mongod 参数:–port MongoDB 默认监听的端口是27017,该参数显式指定MongoDB实例监听的TCP 端口,只有当客

2022-06-22 18:01:45 1031

原创 MongoDB(四)之动态分页条件查询

1. 继承MongoRepository2. 代码实现缺点:实现一:使用Criteria封装查询条件实现二:使用Example和Criteria封装查询条件缺点:[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OcymF0Xr-1655891812855)(asserts/copycode.gif)]](javascript:void(0)😉...

2022-06-22 17:59:52 1396

原创 MongoDB(三)之SpringBoot整合

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。03、配置文件properti

2022-06-22 17:55:50 1148

原创 MongoDB(二)之Linux安装

官网:https://www.mongodb.com/下载地址:https://www.mongodb.com/try/downloadLinux下载地址:https://downloads.mongodb.com/linux/mongodb-linux-x86_64-enterprise-rhel70-4.2.19.tgz上传Mongodb文件到云服务器然后开始解压移动到用户目录下配置环境变量,方便进行控制重启配置文件即可查询安装创建数据和日志目录在mongod

2022-06-22 17:50:45 201

原创 MongoDB(一)之Windows安装

1、选择complete,完整安装(安装全部组件)。complete,完整的、完全的。当然也可以选自定义安装,影响不大。2、安装mongodb指定目录ok,安装完成。3:查看安装以后mongodb服务我们打开服务,MongoDB已安装为WIndwos服务,并自动开启:默认端口:270171:找到系统设置2:配置mongodbpath即可3:cmd查看mongodb4:获取mongodb的控制台官网下载地址:http://www.navicat.com.cn/download/navicat-

2022-06-22 17:46:54 349

原创 minio对象存储

Minio安装01、概述中文官网:http://www.minio.org.cn/英文官网:https://min.io/02、Minio是什么?MinIO 服务器, MinIO 客户端, SDKs 等各种资源下载遵循Apache license version 2.0开源构建高性能的云原生数据机器学习,大数据分析,海量存储的基础架构MinIO支持各种应用程序数据工作负载在中国:阿里巴巴、腾讯、百度、中国联通、华为、中国移动等等9000多家企业也都在使用MinIO产品阿里云OSS :

2022-05-28 20:12:26 2859

原创 02、项目App的前台搭建模块化处理和认识scss.mp4

关于App项目的 - 短信登录注册业务接口对接整体架构整体架构查看脑图课程大纲01、 搭建一个项目父工程项目在一个父子工程 【xq-pugs-travel】修改配置pom.xml的packing 改成:pom即可导入依赖和管理整个pom.xml如下:<packaging>pom</packaging><properties> <project.build.sourceEncoding>UTF-8</proje

2022-05-06 15:30:55 474

原创 01、(五)Hbuilderx如何管理各种小程序的开发工具

Hbuilderx如何管理各种小程序的开发工具1: 下载微信小程序下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html2:无脑安装,3:把微信小程序的安装找到4:使用hbuilderx关联即可。然后保存5:然后就可以运行了...

2022-05-06 11:47:33 1139

原创 01、(四)关于UniApp和Vue-cli的开发注意事项

01、关于UniApp和Vue-cli的开发注意事项uniapp是改造vue,底层还是使用vue-cli做为脚手架。你必须要有的认知:1、uniapp不能去写div,span,只能用官方提供的组件标签或者自定义标签。​ 用view取代-div,h1 用text取代了span2、uniapp不需要你安装组件,安装 vue,安装sass 、因为uniapp的hbuilderx会内置进去。你直接使用即可。你在项目中压根看不到node_modules这个文件夹。3、异步处理怎么办?uni.requ

2022-05-06 11:44:27 2469

原创 01、(三)关于路由的问题

UniApp关于路由的问题你会发现在使用uniapp的时候,你并没有集成vue-router 这个组件,它已经内置进去,不需要你去集成。1:在pages目录下新建对应页面模板即可2:它会自动创建好的页面模板注册到pages.json中。3:然后我们可以在页面中或者tabbar去进行调整和转发4:一种是标签的方式,一种是js的方式…/ 代表就是当前的:pages目录.<navigator url="../detail/detail">open-type 默认是:navig

2022-05-06 11:41:12 265

原创 01、(二)Uniapp钩子函数的认识

Uniapp钩子函数的认识文档:https://uniapp.dcloud.io/collocation/App.html#applifecycleApp.vue是uni-app的主组件,所有页面都是在App.vue下进行切换的,是页面入口文件。但App.vue本身不是页面,这里不能编写视图元素。这个文件的作用包括:调用应用生命周期函数、配置全局样式、配置全局的存储globalData01、App.vue 应用生命周期uni-app 支持如下应用生命周期函数:函数名说明onL

2022-04-29 15:01:45 3268

原创 01、(一)关于app开发的准备工作和环境的搭建

App环境的搭建和准备工作01、App开发的发展原生安卓 (java) + kotlin(语言) + swing面板planelayout按钮苹果 (Objectc)PhoneGap – Javascript—调用安卓的底层 +苹果Cordova + Ionic微信小程序HTML5+(浏览器+webpack+vue|+PhoneGap/Cordova )uniapp支持APP微信小程序02、Uniapp的认识官网:https://uni

2022-04-28 17:47:21 1991

原创 Spring-Boot 监听器

监听器Listener概述web监听器是servlet中特殊的类,能够帮助开发着监听web中的一些特定事件。监听器的什么?ServletContext – applicationHttpSession - sessionServletRequest - request监听器监听就是:拥有作用域的对象。而这个作用域的对象分别都有相同的方法setAttributegetAttributeremoveAttribute不论三每个那种作用域只要调用setAttribute或者getAt

2022-04-02 11:49:16 1242

原创 Spring-Boot 过滤器

过滤器Filter概述过滤器是Web开发中很实用的意向技术,程序员可以通过过滤器对web服务资源,静态资源 比如:静态HTML、静态图片,js或者css等,动态资源比如:JSP,Servlet等进行拦截器从而实现一些特殊的需求,比如:URL的访问权限,过滤的敏感词汇,压缩响应信息等,完整的执行过程Springboot如何定义Filter呢(默认机制)1:定义一个过滤器WebFilterpackage com.kuangstudy.config.filter;import lomb

2022-04-02 11:47:41 602 2

原创 Spring-Boot 拦截器

拦截器是springmvc提供了一个拦截器的机制,它专门用于拦截controller的路由请求。它的本质是:AOP面向切面的编程,也就是说符合横切关注点的功能都可以考虑使用拦截器实现。比如一些应用场景:权限检查例如:用户登录检查,访问项目的内部接口时,可以通过拦截器检测用户是否登录,如果登录,直接放回用户登录页面比如:接口的安全校验,使用JWT做权限拦截器校验。日志记录更新推荐用原生的AOP机制会更好一点,粒度会更细,控制起来也更方便,如果你是针对某个接口或者某个请求,或者某个业务针

2022-04-02 11:42:04 2884

原创 CommandLineRunner、ApplicationRunner、ApplicationListener @PostConstruct 对比

springboot启动时执行:CommandLineRunner、ApplicationRunner、ApplicationListener @PostConstruct 对比使用场景:我们在开发过程中会有这样的场景:需要在项目启动后执行一些操作,比如:读取配置文件信息,数据库连接,删除临时文件,清除缓存信息,工厂类初始化,加载活动数据,或者缓存的同步等。我们会有多种的实现方式,例如@PostConstruct 、CommandLineRunner、ApplicationRunner、Applicat

2022-04-02 11:30:03 1245 1

原创 spring-boot 自定义starter

01、starter作用依赖聚合自定义配置类 + @Bean属性配置类02、starter的命名规范官方:spring-boot-starter -xxxx自定义:xxx-boot-starter03、实现步骤标准的starter工程分为两个:xxx-boot-autoconfigurationMETA-INF/spring.factories配置类属性配置类聚合依赖xxx-boot-starter引入xxx-boot-autoconfiguration

2022-04-02 11:27:28 224

原创 Spring Boot 加载Bean的几种方式

01、探索springboot的加载bean几种方式springboot启动类上的注解是一个复合注解:@SpringBootConfiguration配置类 + @Bean配置类作用:方便扩展、方便集成,不受包约束。@EnableAutoConfigurationspringboot内部的starter加载的原理内部其实:配置+@Bean@ComponentScan (主要是用加载当前项目自身开发的bean)扫包 + @Service、@Controller、@Com

2022-04-02 11:19:08 6206

原创 配置类@Configuration

01、概述配置类:在springboot中被@Configuration或者@SpringBootConfiguration标注的类称之为配置类。02、作用&目的在配置类可以定义很多@Bean的方法,可以让这些@Bean修饰的方式让spring框架加载到ioc容器中去。03、那为什么会存在配置方便你覆盖底层的配置类让你去扩展的bean的一种机制。04、一个springboot项目中的加载的bean有那些呢?程序员自己编写的开发的bean ,比如加了:@Service,@Map

2022-04-02 10:33:36 855

原创 SpringBoot配置跨域Cors

01、同源策略同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。什么是源源[origin]就是协议、域名和端口号。例如:http://www.baidu.com:80这个URL。什么是同源若地址里面的协议、域名和端口号均相同则属于同源。是否是同源的判断例如判断下面的URL是否与 http://www.a.com/test/index.html 同源http://www.a.com

2022-04-02 10:30:18 919

原创 SpringBoot的配置类和常见条件注解

01、分析在项目中,有时会遇到我们的@Configuration、@Bean、Service等等的bean组件需要依条件按需加载的情况。那么Spring Boot怎么做的呢?它为此定义了许多有趣的条件,当我们将它们运用到我们的bean上时,就可以实现动态的加载控制了。SpringBoot 定义了许多条件化注解,可以将它们用到配置类上,以说明生效条件。条件化注解生效条件@ConditionalOnBean配置了特定的 Bean。@ConditionalOnMissingBea

2022-04-02 10:26:17 672

原创 Swagger3生成API在线文档工具

01、出现背景在前后端分离的大趋势下,无论是前端开发人员还是后端开发人员,或多或少都被接口文档折磨过。而且由于开发任务重,时间紧迫,经常陷入版本迭代而接口文档缺没有及时更新的窘境,为了解决这个问题,就有了Swagger生成接口文档工具。Swagger出现的背景:接口文档对于前后端开发人员都十分重要。尤其近几年流行前后端分离后接口文档又变成重中之重。接口文档固然重要,但是由于项目周期等原因后端人员经常出现无法及时更新,导致前端人员抱怨接口文档和实际情况不一致。很多人员会抱怨别人写的接口文档不规

2022-04-02 10:22:55 663

原创 SpringAop的认识 (六) 之限流实现

Aop限流实现解决方案01、限流在业务场景中,为了限制某些业务的并发,造成接口的压力,需要增加限流功能。02、限流的成熟解决方案guava (漏斗算法 + 令牌算法) (单机限流)redis + lua + ip 限流(比较推荐)(分布式限流)nginx 限流 (源头限流)…03、 限流的目的保护服务的资源泄露解决服务器的高可压,减少服务器并发04、安装redis服务安装rediswget http://download.redis.io/releases/redis-6.

2022-03-31 10:57:46 200

原创 SpringAop的认识 (五) 之CGlib代理

CGlib代理代理要素目标对象代理类必须实现:MethodInterceptor代理对象第一步:引入cglib的依赖<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.3.0</version></dependency>第二步:创建代理和代理对

2022-03-31 10:50:28 168

原创 SpringAop的认识 (五) 之JDK动态代理

JDK动态代理实现01、概述JDK动态代理实现的原理是基于InvocationHandler接口,利用反射生成一个代理接口的匿名类,然后调用invoke方法。02、核心要素代理类 实现 InvocationHandler 接口覆盖invoke方法(通知)代理对象业务接口业务接口的实现类(目标对象)mybatis 为例代理类:MapperProxy代理对象 Proxy.newProxyInstance(this.mapperInterface.getClassLoad

2022-03-31 10:48:42 287

原创 SpringAop的认识 (四) 之动态代理

AOP01、概述Spring框架的两大核心特性:IOC和AOP。IOC是基础是核心之核心,AOP(Aspect Oriented Programming) 面向切面编程。底层实现的原理是:动态代理。Aop必须构建在IOC基础之上。Aop原理是:动态代理。动态代理的核心:把目标对象(ioc)转换成代理对象02、动态代理的作用动态代理的机制是:在原来业务实现的不改变的情况,新增一些功能。03、动态代理的思想& 场景场景从横向结构看,将业务系统中行为相似的(如:权限校验,日志记录

2022-03-31 10:43:21 1390

原创 SpringAop的认识 (三) 之日志开发 (下)

07、AOP的重要性aop底层是jdk动态代理和cglib代理结合实现。它可以解决上面所有的问题。aop它会自动把springioc中的增强对象全部自动转换成代理对象。08、Aop的底层的实现机制jdk动态实现cglib代理实现不论是用那种实现:它的目标都是一致的把springioc的对象转化代理对象。这是一个正常springioc的对象09、Springioc对象转化代理对象?为什么用做日志处理,你日志拦截处理和核心点是什么?查看当前类的执行时长根据时长可以判断当前是那

2022-03-30 22:45:38 302

原创 SpringAop的认识 (二) 之 日志开发(上)

我们现在要给程序中的所有用户接口和订单的接口全部进行订单增强日志处理?会定义一个 Log日志类:日志场景需求的作用可以协助我们排除执行方法耗时的问题这样可以针对性的优化和处理执行方法耗时的问题日志的pojopackage com.kuangstudy.first;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.ToString;.

2022-03-30 22:39:43 342

原创 SpringAop的认识 (一)

01、目标认识SpringAop了解SpringAop的底层实现的原理JDK动态代理CGLIB代理SpringAop的增强通知的类型SpringAop的切点的定义Spring中默认的Aop代理机制是什么?SpringBoot中默认的Aop代理机制是什么?SpringAop的实战开发,日志管理,限流处理,权限拦截。SpringMvc源码分析后置通知是如何和Aop产生管理的。然后在回归学习SpringAop和动态代理的关系。为什么springaop是构建在ioc基础上的呢?0

2022-03-30 22:31:49 289

原创 vo、po、dto、bo、pojo、entity、mode如何区分

Java Bean:一种可重用组件,即“一次编写,任何地方执行,任何地方重用”。满足三个条件类必须是具体的和公共的具有无参构造器提供一致性设计模式的公共方法将内部域或暴露成员属性认识1、它们都是javabean的一种扩展。这种扩展就让我们程序员自己便于理解和认识。2、在企业开发过程中,javabean有对内的(dao----service—controller),对外(对页面视图,对远程接口)3、一般防止数据的污染pojo、entity、mode、model、bean说的一回事,和数据

2022-03-30 22:26:36 336

原创 spring boot 静态资源处理&全路径的问题

01、概述在单体的Web架构项目中,如果你使用freemarker和 thymeleaf的话肯定就处理静态资源和路径的问题。静态和路径的处理,在SpringBoot是如何处理的。对于一个WEB开发项目来是哦,如果不是采用前后端分离的模式。而是将imgs,js和css等一些静态资源打包的jar 包中,那么springboot是如何把它们放入到项目中呢?02、springboot实现静态资源映射第一步:在pom.xml中引入web和freemarker<dependency> &l

2022-03-30 22:22:49 1356

原创 SpringBoot统一异常处理(二) 之 R类 和 枚举

R类 和 枚举01、为什么学习统一返回?在企业其实大部分的程序开发,或者接口开发,其实都返回一种所谓的JSON格式。而json格式是通过java面向对象的方式进行封装而得。在统一异常处理的时候,我们使用的是@RestControllerAdvice是controller后置增强处理。使用@RestControllerAdvice后置处理可以达到在前后端分离的项目架构中,全部都是异步返回@RestController 也全部都是@ResponseBody的方法。以为你没有页面也没有所谓的freema

2022-03-30 09:41:45 859

原创 SpringBoot统一异常处理(一)

SpringBoot统一异常处理01、分析统一跳转:/error 这是一种全局的机制配置类:补充状态进行跳转 – 局部的机制自定义页面的方式,方便我们可以把error.html随心所欲的进行存放问题:其实给开发增大的工作量,不明确具体异常信息,如果要追求细粒度的控制。内部定义的状态 HttpStatus.状态枚举,是一个大方向的错误指定比如:INTERNAL_SERVER_ERROR 它是服务器只要任何方法执行报任何异常Exception 都会是500。这就会给开发者带来困扰,给用

2022-03-30 09:24:59 1588

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除