学习整理-后端
文章平均质量分 92
知识整理以便复习
是三好
大鹏一日同风起 扶摇直上九万里
展开
-
21-SpringSecurity
SpringSecurity原创 2023-09-26 12:40:01 · 411 阅读 · 0 评论 -
20-SpringCloudAlibaba-3
两阶段提交又称2PC,2PC是一个非常经典的强一致、中心化的原子提交协议。这里所说的中心化是指协议中有两类节点:一个是中心化协调者节点(coordinator)和 N个参与者节点投票阶段提交/执行阶段。2pc例子A组织B、C和D三个人去爬山:如果所有人都同意去爬山,那么活动将举行;如果有一人不同意去爬山,那么活动将取消。首先A将成为该活动的协调者,B、C和D将成为该活动的参与者。阶段1:①A发邮件给B、C和D,提出下周三去爬山,问是否同意。那么此时A需要等待B、C和D的邮件。原创 2023-09-20 11:48:39 · 363 阅读 · 0 评论 -
20-SpringCloudAlibaba-2
监控应用流量的QPS或并发线程数,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。流量控制设计理念资源的调用关系:例如资源的调用链路,资源和资源之间的关系;运行指标:例如 QPS、线程池、系统负载等;控制的效果:例如直接限流、冷启动、排队等。Sentinel 的设计理念是让您自由选择控制的角度,并进行灵活组合,从而达到想要的效果。流控规则资源名:其实就是我们请求的资源路径。原创 2023-09-20 11:08:20 · 264 阅读 · 0 评论 -
20-SpringCloudAlibaba-1
Nacos是阿里巴巴开源的服务注册中心以及配置中心,致力于给开发者提供一款便捷、简单上手的开源框架。Nacos惊人的地方从上图不难看出阿里巴巴的野心,一个Nacos干掉了Spring Cloud的三大组件,分别是 注册中心Eureka 、 服务配置Config , 服务总线 Bus。为什么Nacos这么受欢迎Nacos官方文档的介绍中有这么一句话,如下:Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。原创 2023-09-19 21:57:31 · 354 阅读 · 0 评论 -
19-springcloud(下)
Config配置中心遇到的问题当我们在更新码云上面的配置以后,如果想要获取到最新的配置, 需要手动刷新机制每次提交代码发送请求来刷新客户端,客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。Spring Cloud作为微服务架构的一个综合解决方案,也提供了对应的解决方案Spring Cloud Bus,即消息总线。什么是Spring Cloud Bus。原创 2023-09-13 16:44:15 · 400 阅读 · 0 评论 -
19-springcloud(中)
Spring Cloud Eureka 是Netflix 开发的注册发现组件,本身是一个 基于 REST 的服务。提供注册与发现,同时还提供了负载均衡、故障转移等能力。Eureka3个角色服务中心服务提供者服务消费者。Eureka Server:服务器端。它提供服务的注册和发现功能,即实现服务的治理。Service Provider:服务提供者。它将自身服务注册到Eureka Server中,以便“服务消费者” 能够通过服务器端提供的服务清单(注册服务列表)来调用它。原创 2023-09-06 19:12:58 · 331 阅读 · 0 评论 -
19-springcloud(上)
将系统的业务功能划分为极小的独立微服务,每个微服务只关注于完成某个小的任务。系统中的单个微服务可以被独立部署和扩展,且各个微服务之间是高内聚、松耦合的。微服务之间采用轻量化通信机制暴露接口来实现通信。原创 2023-09-05 15:53:19 · 293 阅读 · 0 评论 -
18--Elasticsearch
真实开发中我们往往需要对一段内容既进行文字分词,又进行拼音分词,此时我们需要自定义ik+pinyin分词器。创建自定义分词器在创建索引时自定义分词器PUT /索引名"ik_pinyin" : { //自定义分词器名"tokenizer":"ik_max_word", // 基本分词器"filter":"pinyin_filter" // 配置分词器过滤},"filter" : { // 分词器过滤时配置另一个分词器,相当于同时使用两个分词器。原创 2023-09-04 22:27:40 · 1049 阅读 · 0 评论 -
17-Sharding-jdbc
随着通信技术的革新,全新领域的应用层出不穷,数据存量随着应用的探索不断增加,数据的存储和计算模式无时无刻不面临着创 新。面向交易、大数据、关联分析、物联网等场景越来越细分,单 一数据库再也无法适用于所有的应用场景。与此同时,场景内部也愈加细化,相似场景使用不同数据库已成为常态。由此可见,数据库碎片化的趋势已经不可逆转。原创 2023-09-04 19:57:42 · 533 阅读 · 0 评论 -
16-MyCat
为什么要主从复制MySQL是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失。为了保证MySQL数据库的可靠性。就要会一些提高可靠性的技术。如何解决性能问题生活中有很形象的例子,比如你在自助咖啡厅买咖啡(如果只有一 台咖啡机)MySQL主从复制原理。原创 2023-09-04 18:50:51 · 319 阅读 · 0 评论 -
15-mongodb
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是 SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至 2009 年趋势越发高涨。NoSQL 的拥护者们提倡运用非关系型 的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。原创 2023-08-29 15:58:45 · 1394 阅读 · 0 评论 -
14-redis
什么是NoSQL),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付特别是超大规模和高并发类型纯动态网站已经显得力不从心,暴露了很多难以克服的问题。结构化数据和非结构化数据结构化数据指的是由二维表结构来逻辑表达和实现的数据,严格遵循数据格式与长度规范,也称作为行数据。非结构化数据,指的是数据结构不规则或不完整,没有任何预定义的数据模型,不方便用二维逻辑表来表现的数据,例如办公文档(Word)、文本、图片、HTML、各类报表、视频音频等。原创 2023-08-28 21:27:26 · 744 阅读 · 0 评论 -
13-nginx
生活中的限流春运,一项全人类历史上最大规模的迁移活动,抢火车票一直是每 年跨年以后的热点话题。为什么需要限流系统设计时一般会预估负载,当系统暴露在公网中时,恶意攻击或正常突发流量等都可能导致系统被压垮,而限流就是保护措施之一。Nginx 的二种限流设置:控制速率。控制并发连接数。原创 2023-04-20 19:20:34 · 530 阅读 · 0 评论 -
12-RabbitMQ
MQ全称Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于系统之间的。两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。数据结构中概念。在队列中,数据先进先出,后进后出。原创 2023-04-18 19:43:06 · 503 阅读 · 0 评论 -
11-FastDFS
FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size原创 2023-04-13 19:51:30 · 479 阅读 · 0 评论 -
10-dubbo
什么是RPCRPC(Remote Procedure Call)远程过程调用,它是一种通过网络从 远程计算机程序上请求服务。大白话理解就是:RPC让你用别人家的东西就像自己家的一样。屏蔽远程调用跟本地调用的区别,让我们感觉就是调用项目内的方法隐藏底层网络通信的复杂性,让我们更加专注业务逻辑常用的RPC框架RPC是一种技术思想而非一种规范或协议。阿里的 Dubbo/Dubbox、Google gRPC、Spring Cloud。Dubbo是什么。原创 2023-03-09 16:59:47 · 177 阅读 · 0 评论 -
09-zookeeper
分布式架构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。系统之间的耦合度降低,从而系统更易于扩展。我们可以针对性地扩展某些服务。服务的复用性更高。比如,当我们将用户系统作为单独的服务后,该公司所有的产品都可以使用该系统作为用户系统,无需重复开发。原创 2023-03-09 16:23:28 · 2921 阅读 · 0 评论 -
08-Swagger
swagger原创 2023-02-27 21:36:26 · 76 阅读 · 0 评论 -
07-MyBatisPlus
MyBatis插件机制MyBatis插件就是对Executor、StatementHandler、 ParameterHandler、ResultSetHandler这四个接口上的方法进行 拦截,利用JDK动态代理机制,为这些接口的实现类创建代理对象, 在执行方法时,先去执行代理对象的方法,从而执行自己编写的拦截逻辑。Executor: MyBatis的内部执行器,它负责调用StatementHandler操作数 据库,并把结果集通过 ResultSetHandler进行自动映射。原创 2023-02-23 16:17:29 · 497 阅读 · 0 评论 -
06-Lombok
以前的Java项目中,充斥着太多不友好的代码:POJO的 getter/setter/toString/构造方法;打印日志;I/O流的关闭操作等等,这些代码既没有技术含量,又影响着代码的美观,Lombok应运而生。LomBok可以通过注解,帮助开发人员消除JAVA中尤其是POJO类中的冗长代码。LomBok可以通过,帮助开发人员消除JAVA中尤其是POJO类中 的冗长代码。原创 2023-02-23 15:47:31 · 158 阅读 · 0 评论 -
05-springboot中使用阿里云oss
OSS」的英文全称是Object Storage Service,翻译成中文就是「对象存储服务」,官方一点解释就是对象存储是一种使用HTTP API存储和检索非结构化数据和元数据对象的工具。白话文解释就是将系统所要用的文件上传到云硬盘上,该云硬盘提供了文件下载、上传等一列服务,这样的服务以及技术可以统称为OSS,业内提供OSS服务的厂商很多,知名常用且成规模的蓝队云等。原创 2023-12-27 12:07:08 · 1209 阅读 · 1 评论 -
05-SpringBoot-自定义校验
在控制器上添加@Validated注解,在接口方法的简单数据类型参数前面添加校验注解@NotNull@NotEmpty@Email。实体类的成员变量上添加校验注解@NotNull@NotEmpty@Email,接口方法的实体类参数上添加@Validated注解。原创 2023-12-26 09:52:52 · 480 阅读 · 1 评论 -
05-SpringBoot
Spring是一个非常优秀的轻量级框架,以IOC(控制反转)和AOP (面向切面)为思想内核,极大简化了JAVA企业级项目的开发。虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。使用Spring进行项目开发需要在配置文件中写很多代码,所有这些配置都代表了开发时的损耗。除此之外,Spring项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。比如Spr原创 2023-02-23 15:42:19 · 402 阅读 · 0 评论 -
04-springmvc-RequestContextHolder
该方法实现的原理是,在Controller方法开始处理请求时,Spring会将request对象赋值到方法参数中。此时request对象是方法参数,相当于局部变量,毫无疑问是线程安全的。Controller中获取request对象后,如果要在其他方法中(如service方法、工具类方法等)使用request对象,需要在调用这些方法时将request对象作为参数传入。原创 2024-04-07 10:10:47 · 705 阅读 · 0 评论 -
04-SpringMVC(补充1)
【代码】04-SpringMVC(补充1)原创 2023-05-17 15:25:54 · 370 阅读 · 0 评论 -
04-springmvc
MVC模型MVC全称Model View Controller,是一种设计创建Web应用程序的 模式。这三个单词分别代表Web应用程序的三个部分:SpringMVCSpringMVC是一个基于MVC模式的轻量级Web框架,是Spring框架的一个模块,和Spring可以直接整合使用。SpringMVC代替了 Servlet技术,它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。接下来我们编写一个SpringMVC的入门案例在web.xml中配置前端控制器Dispatcher原创 2023-02-18 16:45:15 · 312 阅读 · 0 评论 -
03-spring
Spring是一个开源框架,为简化企业级开发而生。它以IOC(控制反转)和AOP(面向切面)为思想内核,提供了控制层 SpringMVC、数据层SpringData、服务层事务管理等众多技术,并可以整合众多第三方框架。Spring将很多复杂的代码变得优雅简洁,有效的降低代码的耦合度,极大的方便项目的后期维护、升级和扩展。Spring官网地址:https://spring.io/Spring框架根据不同的功能被划分成了多个模块,这些模块可以满足一切企业级应用开发的需求,在开发过程中可以根据需求有选择性地使用所原创 2023-02-17 21:29:47 · 232 阅读 · 0 评论 -
02-mybatis选修-动态代理
代理模式是23种设计模式之一。设计模式是前人总结的,在软件开发过程遇到常用问题的解决方案,常见的设计模式有单例模式、工厂模式、适配器模式等等。代理模式的作用是在。比如官方购买苹果手机不赠送充电头,此时京东平台作为苹果的代理商,可以在代理销售苹果手机时赠送充电头。代理模式分为静态代理、动态代理。静态代理会生成一个代理类,动态代理不会生成代理类,直接生成代理对象。原创 2023-02-14 21:16:47 · 140 阅读 · 0 评论 -
02-mybatis
学习整理原创 2023-02-14 21:05:25 · 181 阅读 · 0 评论 -
01-maven
maven原创 2023-02-02 20:30:41 · 232 阅读 · 0 评论 -
00-数据库范式与表关系
数据库设计范式优点结构合理冗余较小尽量避免插入删除修改异常数据库设计范式缺点性能降低,多表查询比单表查询速度慢在实际设计中,要整体遵循范式理论如果在某些特定的情况下还死死遵循范式也是不可取的, 因为可能降低数据库的效率,此时可以适当增加冗余而提高性能第一范式(1NF):字段不能再分第二范式(2NF):不存在部分依赖第三范式(3NF):不存在间接依赖使用范式可以减少冗余,但是会降低性能特定表的的设计可以违反第三范式,增加冗余提高性能。原创 2023-09-25 18:06:08 · 97 阅读 · 0 评论 -
00-MySQL数据库的使用-下
自然连接 natural joinselect <选择列>from 表A natural join 表B将表A和表B进行自然连接:在A和B所有共同属性上做等值连接,然后再投影去掉重复属性。select *内连接 inner joinselect <选择列>frome 表A inner join 表B on <连接条件><连接条件> A.s θ B.k(s为表A的属性,k为表B的属性)θ为等号=时,是等值连接;θ不为等号=时,是不等值连接;原创 2023-09-25 17:55:09 · 204 阅读 · 0 评论 -
00-MySQL数据库的使用-上
MySQL 是一个关系型数据库管理系统, 由瑞典 MySQL AB 公司开 发, 目前属于 Oracle 公司。MySQL 是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放 在一个大仓库内,这样就增加了速度并提高了灵活性。结构化查询语言(Structured Query Language)简称 SQL(发音: sequal['si:kwəl]),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL 能做什么?SQL 面向数据库执行查询。原创 2023-09-25 16:25:09 · 264 阅读 · 0 评论