先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
-
Keepalived软件起初是为管理及监控LVS集群中各节点状态而设计的,后来加入了VRRP功能,可以为其他服务解决高可用问题。
-
Keepalived软件主要通过VRRP协议实现高可用功能。
-
VRRP协议是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,目的是为解决静态路由单点故障。
-
官方网站:http://www.keepalived.org
-
管理LVS负载均衡软件
-
实现对LVS集群节点健康检查功能(healthcheck)
-
作为系统网络服务的高可用功能(failover)
Keepalived高可用服务通过VRRP来实现故障切换转移。
VRRP协议工作原理
-
VRRP协议是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,目的是为解决静态路由单点故障。
-
VRRP通过竞选协议机制来决定路有任务运行在哪台主机上。
-
VRRP用IP多播方式(默认多播地址224.0.0.18)实现高可用对之间通信的。
-
工作时主节点向备节点发包,当某时刻备节点接收不到数据包的时候,会启动接管程序接管主节点资源。
-
备节点可以有多个,通过优先级竞选,但在工作中通常还是一对居多。
Keepalived服务工作原理
-
Keepalived高可用服务通过VRRP协议进行通讯,通过竞选机制确定主备。
-
工作时主节点优先获得资源,备节点等待,当主节点出现故障时,备节点主动接管主节点资源,继续对外提供服务。
-
主节点向备节点发送VRRP广播包,告诉备节点自己的存活,当备节点接收不到来自主节点的广播包时,就会主动接管资源,继续提供服务,接管速度最快可以小于1秒。
=============================================================
实践部分从Keepalived的搭建、配置文件、高可能配置上说明。
环境搭建
这里先用一台主机搭建Keepalived服务
- 环境准备
cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
uname -r
3.10.0-693.el7.x86_64
- 安装Keepalived服务(采用yum安装方式)
yum -y install keepalived
- 启动服务及查看状态(默认启动三个进程三个VIP)
systemctl start keepalived
ps -ef | grep keepalived | grep -v grep
root 1662 1 0 09:53 ? 00:00:00 /usr/sbin/keepalived -D
root 1663 1662 0 09:53 ? 00:00:00 /usr/sbin/keepalived -D
root 1664 1662 0 09:53 ? 00:00:00 /usr/sbin/keepalived -D
- 关闭服务
systemctl stop keepalived
配置文件说明
yum安装的keepalived版本为v1.3.5,如果想要更新的版本甚至2.x版本的话请使用编译安装
Keepalived服务高可用功能的配置文件包含两个重要模块:全局定义部分和VRRP实例定义区块部分
yum安装的配置文件位置为/etc/keepalived/keepalived.conf
这部分内容为全局定义模块:
1 ! Configuration File for keepalived
2
3 global_defs {
4 notification_email {
5 acassen@firewall.loc
6 failover@firewall.loc
7 sysadmin@firewall.loc
8 }
9 notification_email_from Alexandre.Cassen@firewall.loc
10 smtp_server 192.168.200.1
11 smtp_connect_timeout 30
12 router_id LVS_DEVEL
13 vrrp_skip_check_adv_addr
14 vrrp_strict
15 vrrp_garp_interval 0
16 vrrp_gna_interval 0
17 }
以上内容含义分别为:
-
第一行:注释,定义这个keepalived服务配置文件
-
第四~八行:定义服务故障报警的邮箱地址(基本不用)
-
第九行:指定邮箱的发件人
-
第十行:指定发送邮箱的SMTP服务区
-
第十一行:连接SMTP的超时时间
-
第十二行:Keepalived的服务标识,同一局域网,标识唯一
-
第十三行:检查收到的 VRRP 广告中的所有地址
-
第十四行:强制执行严格的 VRRP 协议合规性
-
第十五行:接口上发送的免费 ARP 消息之间的延迟
-
第十六行:在接口上发送的未经请求的 NA 消息之间的延迟
这部分内容为VRRP实例定义区块:
19 vrrp_instance VI_1 {
20 state MASTER
21 interface eth0
22 virtual_router_id 51
23 priority 100
24 advert_int 1
25 authentication {
26 auth_type PASS
27 auth_pass 1111
28 }
29 virtual_ipaddress {
30 192.168.200.16
31 192.168.200.17
32 192.168.200.18
33 }
34 }
以上内容含义分别为:
-
第十九行:定义这是一个vrrp_instance实例,名字为VI_1
-
第二十行:表示角色状态为MASTER,备机为BACKUP
-
第二十一行:表示对外提供服务的网络端口,注意多网卡时要选对网卡
-
第二十二行:虚拟路由ID标识,一个高可用集群中标识相同
-
第而十三行:优先级,数字越大优先级越高
-
第二十四行:MASTER与BACKUP之间通信检查的时间间隔,默认1秒
-
第二十五~八行:权限认证配置,一个实例中主备认证相同,密码建议4位数字
-
第二十九~三十三行:定义虚拟ip,可以有多个,最好指明子网掩码和绑定网卡
更多配置说明请访问官方文档地址:https://www.keepalived.org/manpage.html
-
准备两台装着相同Keepalived服务的主机,安装方式上面有
-
lb01主机上的配置(MASTER)
! Configuration File for keepalived
global_defs {
router_id lb01
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.100/24 dev eth0 label eth0:3
}
}
- lb02主机配置,由于配置类似,只说不同点(BACKUP)
4 router_id lb02
8 state BACKUP
11 priority 50
- 两台主机启动服务
systemctl start keepalived
- 此时MASTER节点能看到VIP,BACKUP节点看不到为正常
inet 192.168.100.100/24 scope global eth0:3
- 测试:关闭MASTER节点服务,VIP是否漂移到BACKUP节点
分享
首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:
(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)
其次分享一些技术知识,以截图形式分享一部分:
Tomcat架构解析:
算法训练+高分宝典:
Spring Cloud+Docker微服务实战:
最后分享一波面试资料:
切莫死记硬背,小心面试官直接让你出门右拐
1000道互联网Java面试题:
Java高级架构面试知识整理:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
oud+Docker微服务实战:
[外链图片转存中…(img-OyOhlOMF-1713422432366)]
最后分享一波面试资料:
切莫死记硬背,小心面试官直接让你出门右拐
1000道互联网Java面试题:
[外链图片转存中…(img-O4DG3ePL-1713422432366)]
Java高级架构面试知识整理:
[外链图片转存中…(img-sMgkXmtb-1713422432367)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-8BiODRLZ-1713422432367)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!