胖虎de文库

– – – – – _ _ – _ _ –

上回主要介绍了redis的主从模式,主从模式最主要的作用是提高redis的可用性,假如主节点挂了,从节点可以在哨兵机制的协助下晋升为主节点继续对外服务,但主从终归是多个redis节点都保存同一份数据,在redis数据快速膨胀时,又该如何应对呢?redis对于这种情况提供了Cluster模式,这是redis的分布式解决方案,使得大批量数据可以拆分成小部分保存进多个redis节点中,本篇笔记将展开说一下Redis Cluster.

阅读全文 »

Redis知识整合(三):高可用-主从

要想提高一个有状态服务的可用性,最简单直接的办法就是扩展从节点,这样主节点挂了,从节点就可以上位并代替原先的节点继续对外提供服务,同时也可用从节点做负载均衡,作为目前最好用的分布式缓存之一的redis自然也支持主从配置,这篇文档的主要内容就是围绕这个话题展开的。

阅读全文 »

如果重启redis服务,或者重启redis所在的机器,那么对于将数据全部保存在内存中的redis而言,这两个操作无疑会让其数据全部丢失,此时如果我们没有做更多的容错方案,比如横向做集群、纵向做主从,此时就会造成缓存雪崩,所以我们或许需要给redis内的数据做个持久化,让其在恢复时读取持久化数据,恢复原始数据,redis有两种持久化方式,分别是RDBAOF,RDB的实时性不如AOF,AOF恢复速度不如RDB

阅读全文 »

前言:Redis各版本重大更新

截至2021年5月,Redis的稳定版本已经更新到了6.2,所以这里我想整理一下redis自发布以来每一个大版本的重要更新,当然我不会全部都展示出来,只挑那些具有重要革新的功能说。

阅读全文 »

插入式注解处理器在《深入理解Java虚拟机》一书中有一些介绍(前端编译篇有提到),但一直没有机会使用,直到碰到这个需求,觉得再合适不过了,就简单用了一下,这里做个记录。

一、需求

我们为公司提供了一套通用的JAVA基础组件包,组件包内有不同的模块,比如熔断模块、负载均模块、rpc模块等等,这些模块均会被打成jar包,然后发布到公司的内部代码仓库中,供其他人引入使用。

这份代码会不断的迭代,我们希望可以通过promethus来监控现在公司内使用各版本代码库的比例,希望达到的效果图如下:

图1-1

我们希望看到每一个版本的使用率,这有利于我们做版本兼容,必要的时候可以对古早版本使用者溯源。

阅读全文 »

P2C算法全称Pick of 2 choices,相比WRR,P2C有着更科学的LB策略,它通过随机选择两个节点后在这俩节点里选择优胜者来避免羊群效应,并通过指数加权移动平均算法统计服务端的实时状态,从而做出最优选择。

阅读全文 »

一、工作流程

1.1:实现加权轮询的方式

WRR叫做加权轮询算法,相比普通的轮询算法,它支持给每个节点配置权重,权重越大,越容易被访问,且符合轮询的特点。

阅读全文 »

一、负载均衡器是如何被grpc加载的

1.1:提供provider类

每个LoadBalancer对象都是通过一个对象来实例化的,不同的LoadBalancerProvider对象会实例化出不同的LoadBalancer对象,而LoadBalancerProvider对象会通过SPI机制载入到grpc的客户端中,比如在grpc-core里的MATE-INF下:

阅读全文 »

基于依赖程序的版本信息:mysql-connector-java v8.0.17

一、认识loadbalance模式

首先回忆下jdbc协议头都有哪些,下面总结下:

表1

阅读全文 »

一、JAVA的平台无关性

我们最开始学习java的时候了解到java代码文件必须经过javac的编译,生成字节码文件才可以被JVM识别并运行,而JVM则拥有多种操作系统的版本:

图1

正是因为这些不同操作系统下的JVM版本,使得我们被编译后的字节码文件可以被不同操作系统上的JVM识别并运行,继而实现跨平台。

阅读全文 »

一、在计算机中数据是如何进行计算的?

1.1:java中的byte型数据取值范围

我们最开始学习java的时候知道,byte类型的数据占了8个bit位,每个位上或0或1,左边第一位表示符号位,符号位如果为1表示负数,为0则表示正数,因此要推算byte的取值范围,只需要让数值位每一位上都等于1即可。
我们来用我们的常规思维来分析下byte类型的取值范围:

阅读全文 »

序章

☕️ 这是一套JAVA基础教程,每一课时的内容下方有链接~

最近有一项工作,让测试同学对java这门语言进行入门,并且可以独立review开发写出来的代码。自己正式做java开发已经快4年了,想着给别人讲一些基础做下入门应该没啥大问题吧,但在整理过程中发现,有些东西想整理的很通俗易懂还是很难的,好在基础篇的教程最后还是坚持下来了,自己收获也不少,很多基础知识在自己整理的过程中又加深了一遍印象,同时作为一种个人经历,我也想把这些文档放到个人的文库里。

关于进阶篇,没有继续更新,因为整理的太细,课程耗时会很久,就采用了另一种速成的方式教他们了,所以文档本身到基础篇就断掉了。

阅读全文 »
0%