写了一个追踪业务异常的工具,欢迎体验!
工具名称:LogTrace
建议使用gradle作为项目管理工具,下面是一些建议的版本号:
jdk8~11
gradle7+
LogTrace v0.0.1-SNAPSHOT
上回主要介绍了redis的主从模式,主从模式最主要的作用是提高redis的可用性,假如主节点挂了,从节点可以在
哨兵机制
的协助下晋升为主节点继续对外服务,但主从终归是多个redis节点都保存同一份数据,在redis数据快速膨胀时,又该如何应对呢?redis对于这种情况提供了Cluster模式,这是redis的分布式解决方案,使得大批量数据可以拆分成小部分保存进多个redis节点中,本篇笔记将展开说一下Redis Cluster
.
如果重启redis服务,或者重启redis所在的机器,那么对于将数据全部保存在内存中的redis而言,这两个操作无疑会让其数据全部丢失,此时如果我们没有做更多的容错方案,比如横向做集群、纵向做主从,此时就会造成
缓存雪崩
,所以我们或许需要给redis内的数据做个持久化,让其在恢复时读取持久化数据,恢复原始数据,redis有两种持久化方式,分别是RDB
和AOF
,RDB的实时性不如AOF,AOF恢复速度不如RDB
最近在调研分布式任务如何选型,最终选择了比较年轻的
PowerJob
,下面会简单介绍下这个框架的使用以及它的运行流程。
本篇文档是针对前篇负载均衡-P2C算法进行的实验验证,会利用一个
网关
和一个服务端
的集群
来验证P2C在各个业务场景下的表现。
P2C
算法全称Pick of 2 choices
,相比WRR
,P2C有着更科学的LB策略,它通过随机选择两个节点后在这俩节点里选择优胜者来避免羊群效应
,并通过指数加权移动平均算法
统计服务端的实时状态,从而做出最优选择。
🐜 版本信息:
jdk1.8+
IntelliJ IDEA 2019.03
🐝 插件项目基于
gradle
构建。🦟 知识背景:
swing
🌏 环境:
JDK11
Intellij IDEA 2019.03
🌾 依赖版本:
Resilience4j v0.13.2
🍃 知识依赖:
JUC
,位图
目前工作中用到的分布式缓存技术有
redis
和memcached
两种,缓存的目的是为了在高并发系统中有效降低DB的压力,但是在使用的时候可能会因为缓存结构设计不当造成一些问题,这里会把可能遇到的坑整理出来,方便日后查找。