- 博客(25)
- 收藏
- 关注
原创 GateWay路由规则
Spring Cloud GateWay 帮我们内置了很多 Predicates功能,实现了各种路由匹配规则(通过 Header、请求参数等作为条件)匹配到对应的路由。
2024-03-18 19:00:09
950
原创 nginx负载均衡
Nginx的负载均衡是指Nginx作为反向代理服务器,可以将客户端的请求分发到多个后端服务器上,从而分担服务器的负载,提高系统的可用性和性能。Nginx通过upstream模块来实现负载均衡功能。通过配置upstream块,可以指定一组后端服务器,并定义负载均衡算法,Nginx会根据指定的算法将请求分发到这些后端服务器上nginx的upstream目前支持的5种方式的分配每个请求按时间顺序逐一分配到不同的后端,如果后端服务器down掉,能自动剔除。
2024-03-13 18:58:29
435
原创 《倒排索引》
倒排索引(Inverted Index)是一种用于文本检索的数据结构,它将单词与文档的关系反向建立索引,以便通过单词快速找到包含该单词的文档。Elasticsearch使用倒排索引来存储文档数据,并通过倒排索引来搜索和分析文档数据。在倒排索引中,每个单词被视为一个Term,每个Term都有一个对应的Term ID,而每个文档则有一个对应的文档ID。
2024-02-24 11:38:53
1255
原创 正向代理与反向代理
http代理分为两种包括正向代理和反向代理。正向代理代理的是客户端,隐藏客户端。反向代理代理的是服务端,隐藏服务端。反向代理典型应用是nginx,同时nginx也可以做正向代理。2.正向代理是基于客户端架构,在自己的电脑安装正向代理软件。3.正向代理中服务端不知道真正的客户端,反向代理中国客户端不知道真正的服务端。4.正向代理主要解决访问限制问题,反向代理主要解决负载均衡和安全防护等。两个服务端相互访问,代理既做正向代理也做反向代理架构图。1.正向代理代理客户端,反向代理代理服务端。
2024-02-22 19:06:18
238
1
原创 建造者模式
建造者模式是一种创建型设计模式,旨在通过简化复杂对象的构建过程来创建对象。它允许您按步骤构建对象,同时隐藏了创建细节。该模式通常适用于需要创建具有大量配置选项或参数的对象的情况。:要构建的复杂对象。:定义了构建产品所需的方法。:实现了建造者接口,负责构建产品的具体部件,并提供了访问产品的方法。:负责使用建造者接口来构建产品。指导者知道建造者应如何构建产品。:通过指导者构建产品。
2024-02-21 19:22:32
1665
原创 总结Rabbitmq的六种模式
AMQP 一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。RabbitMQ是AMQP协议的Erlang的实现。概念说明连接Connection一个网络连接,比如TCP/IP套接字连接。信道Channel多路复用连接中的一条独立的双向数据流通道。为会话提供物理传输介质。客户端ClientAMQP连接或者会话的发起者。AMQP是非对称的,客户端生产和消费消息,服务器存储和路由这些消息。服务节点Broker消息中间件的服务节点;
2024-02-20 19:50:44
2093
原创 【无标题】
一、Java 集合介绍Java 集合是一个存储相同类型数据的容器,类似数组,集合可以不指定长度,但是数组必须指定长度。集合类主要从 Collection 和 Map 两个根接口派生出来,比如常用的 ArrayList、LinkedList、HashMap、HashSet、ConcurrentHashMap 等等。二、ListArrayList 是基于动态数组实现,容量能自动增长的集合。随机访问效率高,随机插入、随机删除效率低。
2024-02-05 16:53:04
988
1
原创 数据库索引
一个索引是存储的表中一个特定列的值数据结构(最常见的是B-Tree)。索引是在表的列上创建。所以,要记住的关键点是索引包含一个表中列的值,并且这些值存储在一个数据结构中。请记住记住这一点:索引是一种数据结构。
2024-02-05 16:42:23
831
1
原创 整合RabbitMQ实现消息异步发送
消息队列中间件消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削峰等问题。中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,RPC 的调用等等。使用较多的消息队列有 ActiveMQ(安全),RabbitMQ,ZeroMQ,Kafka(大数据),MetaMQ,RocketMQ。
2024-02-05 00:24:13
2663
2
原创 spring的循环依赖的解决方案
方式依赖情况注入方式能够解决循环依赖情况一AB相互依赖均采用setter方式能情况二AB相互依赖均采用构造器方式不能情况三AB相互依赖A中注入B采用setter,B中注入A采用构造器能情况四AB相互依赖A中注入B采用构造器,B中注入A采用setter不能情况五AB相互依赖A中注入B采用@Autowired,B中注入A采用+ setter能情况六AB相互依赖A中注入B采用+ setter,B中注入A采用@Autowired能。
2024-02-04 16:05:26
797
1
原创 线程池使用
在Java中,我们可以利用多线程来最大化地压榨CPU多核计算的能力。但是,线程本身是把双刃剑,我们需要知道它的利弊,才能在实际系统中游刃有余地运用。在进入主题之前,我们先了解一下线程池的基本概念。线程池,本质上是一种对象池,用于管理线程资源。在任务执行前,需要从线程池中拿出线程来执行。在任务执行完成之后,需要把线程放回线程池。通过线程的这种反复利用机制,可以有效地避免直接创建线程所带来的坏处。我们先来看看线程池带来了哪些好处。接下来,我们看看不使用线程池有哪些坏处。
2024-02-04 15:40:08
785
1
原创 docker的redis安装和挂载以及安装布隆过滤器
在redis文件夹下面创建 6379文件夹进入6379文件夹创建conf和data文件夹上传redis配置文件到conf文件夹下创建并运行redis。
2024-01-18 18:59:40
453
1
原创 死锁产生的4个必要条件
在Java中,死锁是一种多线程并发执行的情况,其中两个或多个线程相互等待对方释放持有的资源,导致所有线程无法继续执行。这种情况下,系统处于僵持状态,被称为死锁。死锁产生的条件通常是由于每个线程都在等待另一个线程释放资源,而这些资源又是其他线程正在等待的。死锁的发生通常涉及到多个锁、多个线程以及竞争共享资源。至少有一个资源必须处于非共享模式,即一次只能被一个进程使用。如果一个进程占用了资源,其他进程必须等待释放。
2024-01-17 19:47:41
367
原创 数据库索引(一)
索引是一种数据结构,用于加速数据库表中数据的检索。它类似于书籍的目录,可以快速定位特定数据行,而不必扫描整个表目的索引的主要目的是提高数据库查询的速度。通过使用索引,数据库引擎可以更快地定位和访问符合查询条件的行,而不是遍历整个表类型主要有两种类型的索引:聚簇索引和非聚簇索引。聚簇索引决定了数据在磁盘上的物理排序,而非聚簇索引则是单独的索引表,包含指向实际数据行的指针数据库索引是优化数据库查询性能的重要工具,但在使用时需要根据具体的业务需求和数据库引擎的特性进行合理的规划和管理。
2024-01-11 19:46:52
839
1
原创 java基本类型与包装类型之间的关系
Java中的8个包装类分别是:Byte,Short,Integer,Long,Float,Double,Character,Boolean它们的使用方式都是一样的,可以实现原生数据类型与包装类型的双向转换。由于Integer变量实际上是对一个Integer对象的引用,且生成的变量是位于堆上的,所以两个通过new生成的Integer变量永远是不相等的(int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。char:16位,存储Unicode码,用单引号赋值。
2024-01-10 19:10:30
882
原创 Vue生命周期解析
生命周期:1.又名:生命周期回调函数、生命周期函数、生命周期钩子。2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。4.生命周期函数中的this指向是vm 或 组件实例对象。常用的生命周期钩子:1.mounted: 发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。2.beforeDestroy: 清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。关于销毁Vue实例。
2024-01-09 19:10:42
866
1
原创 java8 的时间、日期处理类
Java 8引入了java.time包,该包提供了一组全新的时间和日期处理类,以解决旧的和类的问题。以下是java.time。
2024-01-08 20:10:43
1012
1
原创 Spring使用的设计模式
Spring框架是一个广泛用于构建Java企业级应用的开源框架,它提供了丰富的功能和模块,同时支持多种设计模式。以下是一些在Spring框架中常见的设计模式scope或使用注解来实现。
2024-01-07 20:54:17
813
1
原创 dokcer常用命令解析以及docker 安装mysqly以及DockerFile
查看docker 存不存在docker pull mysql 拉取mysql镜像 最新版本 3.2 编辑service模块3.5 查询端口2375状态3.8 下载java镜像
2024-01-04 20:02:43
430
原创 Docker基本安装
Docker是一种开源平台,用于开发、交付和运行应用程序。它使用容器化技术,允许开发人员将应用程序及其所有依赖项打包到一个称为容器的独立单元中。这个容器包括应用程序的代码、运行时、系统工具、系统库等,确保应用程序在不同环境中都能够一致地运行。
2024-01-03 19:54:27
367
原创 linux安装及其基本命令
开放端口:firewall-cmd --add-port=11111/tcp --permanent。mv a.txt b.txt 将a.txt文件重命名为b.txt。cp a.txt b.txt 将a.txt复制为b.txt文件。cp a.txt ../ 将a.txt文件复制到上一层目录中。mv a.txt ../ 将a.txt文件移动到上一层目录中。删除目录:rmdir((remove directory))rm -f a.txt 不询问,直接删除rm 删除文件。
2024-01-03 19:09:50
470
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人