分布式
文章平均质量分 74
心心念念的小鼠标
为梦想而疯狂!
展开
-
nacos项目启动报错:Connection refused: no further information
Caused by: com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: /127.0.0.1:9848Caused by: java.net.ConnectException: Connection refused: no further informatio原创 2022-05-01 20:39:03 · 32121 阅读 · 0 评论 -
(阿里云)分布式任务调度-Schedulerx2.0
一、背景因为想写个定时任务,公司主打使用阿里云的一些列产品。所以注意到了Schedulerx2.0这个分布式任务调度模式。二、使用去看官方文档,就会发现,功能很强大,目前只用到了定时发送的需求,所以简单讲述一下使用。详情官方帮助文档1)在阿里云创建一个应用,且创建一个命名空间2)在配置文件配置schedulex2: end-point: XX 公司购买服务所对应的区域ID name-space: XX 命名空间 group-id: XX 应用ID app-key:原创 2022-04-24 18:12:09 · 5168 阅读 · 0 评论 -
redis - 常用高级命令keys,scan,Info
一、全量遍历键 keys1)说明用来列出所有满足特定正则字符串规则的key,当redis数据量比较大时,性能比较差,要避免使用。通俗理解:若key值不多,直接使用keys获取所有数据可以;keys后可以使用通配符查询。但是keys是扫描全库的,若数据量很大,想想肯定性能就会慢2)demo127.0.0.1:6379> keys * 1) "user:1:balance" 2) "queue" 3) "huohuo125" 4) "test1" 5) "user:2:balance"原创 2021-11-17 06:34:32 · 657 阅读 · 0 评论 -
谈谈对redis的常见缓存设计以及优化
- 缓存穿透 - 缓存击穿(缓存失效) - 缓存雪崩 - 热点key - 缓存与数据双写不一致原创 2021-11-14 21:35:40 · 1247 阅读 · 0 评论 -
并发编程--线程同步之 synchronized关键字(二)
上篇文章对synchronized有了一个简单的理解并发编程–线程同步之 synchronized关键字(一)本篇主要重点了解一下编译后的过程是如何的?synchronized是基于JVM内置锁实现,通过内部对象Monitor(监视器锁)实现。synchronized关键字被编译成字节码后会被翻译成monitorenter和monitorexit两条指令分别在同步块逻辑代码的起始位置与结束位置。每个同步对象都有一个自己的Monitor(监视器锁),加锁过程如下图所示:Monitor监视器锁任原创 2021-11-07 21:57:19 · 137 阅读 · 0 评论 -
谈谈对redis锁的理解(二)浅谈redission
https://blog.csdn.net/huo065000/article/details/119970629使用setNX实现分布式锁,最大的问题就是如何保证原子性的问题。其实redission则很好的解决了这个问题,当然核心就是通过lua脚本去实现,对其进行了很好的封装。redisson这个框架重度依赖了Lua脚本和Netty,代码很牛逼,各种Future及FutureListener的异步、同步操作转换。...原创 2021-10-31 22:48:51 · 784 阅读 · 0 评论 -
springBoot整合rabbitMQ --实现延时消息功能(2)
本篇这主要是利用rabbitMQ 的高级特性,通过springBoot框架来实践订单超时取消功能的实现:框架截图如下:1、rabbitMq通过yml文件配置简单属性:server: port: 8021spring: #给项目来个名字 application: name: rabbitmq-provider rabbitmq: port: 5672 host: 127.0.0.1 username: g原创 2021-09-19 17:29:57 · 456 阅读 · 0 评论 -
springBoot整合rabbitMQ --实现延时消息功能(1)
最近一直在考虑订单延时取消的功能,之前一直用的定时任务,那么有没有更好的实现方式呢?rabbitMQ 的延时消息实现则是一个很好的选择。电商项目中针对延时这种场景有很多,比如:订单业务:在电商中,用户下单后30分钟后未付款则取消订单。下单业务:用户下单并付款后,1分钟后发短信给用户。注册业务:比如新用户注册完,5天后给予短信提醒,增加系统活跃量。要知道rabbitMQ是AMQP协议支持的,但是他们并没有实现延时队列功能。但是我们可以通过rabbitMQ 的高级特性TTL+DLX来实现。一、何原创 2021-09-12 20:51:53 · 259 阅读 · 0 评论 -
redis分布式锁(一)set NX实现
最近是一直在研究redis,本篇则主要想谈谈对redis的锁的理解。使用redis常用的两种加锁的机制:SETNX命令SET命令一、SETNX实现SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。SETNX key value将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。127.0.0.1:6379> SETNX test 'try'(integer) 1127.原创 2021-08-29 08:58:35 · 19043 阅读 · 2 评论 -
redis有几种持久化机制?
Redis是一种高级key-value数据库,数据存储在内存中,速度很快是优势,但是紧接着带来的则是数据变化瞬息万变,数据该如何保存呢?这就是今日总结的Redis持久化机制。原创 2021-08-22 14:23:09 · 1848 阅读 · 0 评论 -
高可用redis:Redis Cluster
一:何为Redis Cluster?Redis Cluster是Redis官方提供的Redis集群功能二:为何用Redis Cluster?主从赋值无法实现高可用,无法实现高并发;数据分布:现有服务器内存不能满足业务数据的需要时,单纯向服务器添加内存不能达到要求,此时需要考虑分布式需求,把数据分布到不同服务器上流量分布:采用分布式进行分流三:集群图解借助redis的java客户端jedis可以操作集群,对于java编写访问redis代码是非常简单的,在此忽略。四:集群原理分析虚拟槽分原创 2021-08-15 07:54:31 · 188 阅读 · 1 评论