自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PgSQL与MySQL对比

PostgreSQL 是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSQL可以运行在所有主流操作系统上,包括Linux、Unix和Windows。PostgreSQL 是完全的事务安全性数据库,支持丰富的数据类型(如JSON和JSONB类型、数组类型)和自定义类型。

2024-04-15 15:57:43 1359

转载 过滤器(Filter)和拦截器(Interceptor)

过滤器(Filter)和拦截器(Interceptor)

2024-04-03 18:30:02 88

原创 cookie/session/token三者区别和优缺点

cookie/session/token三者区别和优缺点

2024-04-03 18:05:51 788

原创 Redis(六)

使用BitMap作为布隆过滤器,将目前所有可以访问到的资源通过简单的映射关系放入到布隆过滤器中(哈希计算),当一个请求来临的时候先进行布隆过滤器的判断,如果有那么才进行放行,否则就直接拦截。假设线程过来,只能一个人一个人的来访问数据库,从而避免对于数据库访问压力过大,但这也会影响查询的性能,因为此时会让查询的性能从并行变成了串行。key对应的数据存在,但在redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。

2024-03-30 18:30:00 945

原创 Redis(五)

主从切换技术的方式是:当主机服务器宕机之后,需要手动将一台服务器切换为主服务器,这需要人工干预,费时费力,还会造成一段时间内的服务不可用。这不是一种推荐的方式,更多的时候我们优先考虑的的是哨兵模式。Redis 从 2.8 开始正式提供了 Sentinel(哨兵)架构来解决这个问题。哨兵模式能够后台监控主机是否故障,如果故障了根据投票数(投哨兵节点)自动将从库转换为主库。当有多个哨兵节点的时候,需要选出一个哨兵节点 来去进行主从切换。

2024-03-30 14:00:00 608

原创 Redis(四)

整个过程中,主进程不进行任何 IO 操作,这就确保的极高的性能。2、AOF 持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF 命令以Redis 协议追加保存每次写的操作到文件尾部,Redis 还能对 AOF 文件进性后台重写,使得AOF 文件的体积不至于过大(多次修改,只保留最后一次修改的命令)Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态就会消失,所以 Redis 提供了持久化功能。

2024-03-30 08:30:00 1442

原创 Redis(三)

import com/*** 编写的自己的 RedisTemplate// 为了开发方便,一般使用 <String, Object> RedisTemplate < String , Object > template = new RedisTemplate();

2024-03-29 20:30:00 1100

原创 Redis(二)

传统的方式是使用 set 保存用户的ID,然后统计 set 中元素的数量作为判断标准。但是这种方式保存了大量的用户 ID,ID 一般比较长,占空间,还很麻烦。bitmap就是通过最小的单位bit来进行0或者1的设置,表示某个元素对应的值或者状态。一个bit的值,或者是0,或者是1;hyperloglog 的优点是占用内存小,并且是固定的。rpoplpush :移除列表的最后一个元素,将他移动到新的列表中。也是 key - value 形式的,但是value 是一个map。

2024-03-29 19:00:00 1291

原创 Redis(一)

NoSQL = Not Only SQL(不仅仅是 SQL)非关系型数据库关系型数据库:以关系模型组织数据,表现形式为:表格,行,列。NoSQL 的特点方便扩展(数据之间没有关系,很好扩展)大数据量高性能(NoSQL的缓存记录级,是一种细粒度的缓存,性能会比较高)数据类型是多样型的(不需要事先设计数据库,随取随用)传统 RDBMS 和 NoSQL的比较传统的 RDBSNoSQL结构化组织不仅仅是数据SQL没有固定的查询语言数据和关系都存在单独的表中键值对存储,列存储,文档存储,图形数据库。

2024-03-29 14:45:53 733 1

原创 Kafka(下)

创建一个topic(主题)。Kafka中所有的消息都是保存在主题中,要生产消息到Kafka,首先必须要有一个确定的主题。使用Kafka内置的测试程序,生产一些消息到Kafka的test主题中。使用下面的命令来消费 test 主题中的消息。

2024-03-28 14:30:00 294

原创 Kafka(上)

Kafka是由Apache软件基金会开发的一个开源流平台,由Scala和Java编写。官网描述:Apache Kafka是一个分布式流平台。发布和订阅流数据流,类似于消息队列或者是企业消息传递系统以容错的持久化方式存储数据流处理数据流一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。如想实现自定义分区策略,直接实现Partitioner接口,重写接口中的方法。

2024-03-28 08:00:00 601

原创 RabbitMQ(六)

而交换机工作的内容非常简单,一方面它接收来自生产者的消息,另一方面将它们推入队列。(扇出),这样就能把所有消息都投递到与其绑 定的队列中,然后我们在备份交换机下绑定一个队列,这样所有那些原交换机无法被路由的消息,就会都进入这个队列了。接收到不可路由的消息时,交换机将会把消息转发到备份交换机中,由备份交换机来进行转发和处理,通常备份交换机的类型为。当交换机接收到一条不可路由消息时怎么办呢,这时候就可以为交换机设置备份交换机,来接收不可路由的消息。同理可以写警告消费者等,用于消费备份交换机队列里的消息。

2024-03-27 20:00:00 645

原创 RabbitMQ(五)

先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer将消息投递到broker或者直接到queue里了,consumer从queue取出消息进行消费,但某些时候由于特定的原因导致queue中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。如果设置了队列的TTL属性,那么一旦消息过期,就会被队列丢弃(如果配置了死信队列被丢到死信队 列中),而第二种方式,消息即使过期,也不一定会被马上丢弃,因为。

2024-03-27 17:30:00 1354

原创 RabbitMQ(四)

(使用randomUUID随机生成一个唯一标识),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出,broker回传给生产者的确认消息中delivery-tag域包含了确认消息的序列号,此外 broker也可以设置basic.ack 的multiple域,表示到这个序列号之前的所有消息都已经得到了处理。对于大多数应用来说,稍微高一点的值将是最佳的。

2024-03-27 14:30:00 1081

原创 消息队列(基础)

消息队列中间件就是用来存储消息的软件(组件)。举个例子来理解,为了分析网站的用户行为,我们需要记录用户的访问日志。这些一条条的日志,可以看成是一条条的消息,我们可以将它们保存到消息队列中。将来有一些应用程序需要处理这些日志,就可以随时将这些消息取出来处理。KafkaRabbitMQ、ActiveMQ、RocketMQ、ZeroMQ等。

2024-03-27 12:02:47 835

原创 Rabbitmq(三)

路由模式是指我们的队列能够接收交换机传来的指定的消息,而不是所有的消息,所以路由模式采用 direct 这种类型的交换机来进行替换,这种类型的工作方式是,消息只去到它绑定的 routingKey 队列中去。绑定键为 black / green 的消息会被发布到队列 Q2,其他消息类型的消息将被丢弃。依赖可靠的消息代理:RPC通信需要可靠的消息代理来实现消息传递和消息保证,而RabbitMQ等消息代理的可靠性需要进行专门的配置和管理,增加了运维成本。如果交换机的绑定类型是是direct,但是它绑定的。

2024-03-27 08:30:00 835 1

原创 RabbitMQ(二)

【代码】RabbitMQ(二)---- 简单模式(HellWorld)

2024-03-26 17:33:12 335

原创 Eureka-微服务信息完善

微服务信息完善

2023-03-16 22:34:22 137

原创 Java-受检异常与非受检异常

java异常-什么是受检异常与非受检异常

2022-12-08 23:43:43 1012

原创 java-浅学HashTable与ConcurrentHashMap

java-浅学HashTable与ConcurrentHashMap,并对比二者区别。

2022-06-19 13:50:17 173

原创 java-浅学HashMap

java-浅学HashMap,通过源码进行深入学习

2022-06-18 04:33:27 208

原创 java-浅学LinkedList

java-浅学LinkedList,并于ArrayList进行对比

2022-06-17 21:06:46 116

原创 java迭代器以及fail-fast和fail-safe

java迭代器以及fail-fast和fail-safe

2022-06-17 20:40:43 238

原创 java-浅学ArrayList

浅学ArrayList,了解其扩容机制

2022-06-17 00:49:18 105

原创 Rabbitmq(一)

Rabbitmq简介与安装

2022-06-06 13:00:34 69

原创 牛客网华为机考(HJ1~HJ10)

牛客网华为机考HJ2 计算某字符出现次数简单 通过率:31.87% 时间限制:1秒 空间限制:32M知识点[字符串、哈希]写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不......

2022-06-06 12:39:58 1232

原创 Docker远程发布项目

Docker远程发布项目前提:准备好服务器并配置好相应端口号,安装好docker并启动服务,本文以CentOS 7为例,基于SpringCloud框架的微服务项目进行讲解1、配置文件此步骤的目的是在本地的开发环境中直接远程创建镜像。所以不是必须步骤,大家可以尝试此方法。如果不进行此步骤,则可以用XShell直接上传jar包至服务器,再登录服务器进行部署,详细参考文章使用DockerFile创建镜像。值得说明的是,此方式又一个重大漏洞:因为服务器必须开放2375端口才能被远程开发机访问,所以有可能被植

2022-05-30 12:03:47 731

原创 Docker容器简介与使用

Docker容器简介与使用1、概述1.1 容器概念​ 容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等。容器就是一个进程集合,它将系统的其他资源隔离开来,具有自己独立的系统文件,ip地址,主机名等,kvm虚拟机,linux,系统文件。​ 容器具有一个独立的文件系统,因为使用的是系统的资源,所以在独立的文件系统内不需要具备内核相关的代码或者工具,我们只需要提供容器所需的二进制文件、配置文件以及依赖即可。只要容器运行时所需的文件集合

2022-05-30 11:48:34 245 2

空空如也

空空如也

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

TA关注的人

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