最后
由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。
本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。
PEERDNS:如果BOOTPROTO的值为“dhcp”,YES将允许dhcp server分配的dns服务器信息直接覆盖至/etc/resolv.conf文件,NO不允许修改resolv.conf
动态配置
DEVICE=ethX
HWADDR=0:02:8A:A6:30:45
BOOTPROTO=dhcp
ONBOOT=yes
Type=Ethernet
静态配置
DEVICE=ethX
HWADDR=0:02:8A:A6:30:45
**IPADDR=192.168.0.123
NETMASK=255.255.255.0
GATEWAY=192.168.0.254**
ONBOOT=yes
Type=Ethernet
DNS1=8.8.8.8
2.路由相关的配置文件:
/etc/sysconfig/network-scripts/route-IFACE
3.DNS配置
在网卡中配置dns会自动同步到 /etc/resolv.conf
Search在ping是自动补全 后面的内容
默认在配置文件中的DOMAIN中
最多设置两个DNS
公开的服务器
阿里的dns:223.5.5.5
中国的: 114.114.114.114
谷歌的:8.8.8.8 8.8.4.4
澳大利亚:1.1.1.1
百度的:180.76.76.76
3.centos6配置当前主机的主机名:
/etc/sysconfig/network
命令:hostname 名字
建议把改过的文件写在/etc/hosts文件中
类似于dns把ip地址和名字进行解析
可以吧这个写到/etc/hosts中,那么在ping这个地址时,就会优先出现这个地址,也就是说/etc/hosts的优先级比/etc/resolv.conf高
更改这俩个的优先级(hosts 和 resolv.conf)
files说的是hosts文件
dns,和files谁在前,谁的优先级高
4.ping命令接收广播
/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
如果为1 不回复
广播
改为0的话他就会回复广播
=============================================================================
可以把多块网卡绑定到一块使用—相当于一个新的网卡
挺高
Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup)一个主,一个备份
活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast)广播模式
广播策略:在所有的slave接口上传送所有的报文,提供容错能力
active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特
殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需
要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和
EtherChannel
mode=4,(IEEE 802.3ad 动态链接聚合)
特点:创建一个聚合组,它们共享同样的速率和双工设定。将多个slave工作在同一个激活的聚合体下。外出流量的slave选举是基于传输hash策略
必要条件:
条件1:ethtool支持获取每个slave的速率和双工设定
条件2:需要交换机开启lacp
条件3:配置为主动(active)模式
mode=5,(适配器传输负载均衡)
特点:不需要任何特别的switch(交换机)支持的通道bonding。
在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。
必要条件:ethtool支持获取每个slave的速率。
mode=6,(适配器适应性负载均衡)
特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。而且不需要任何switch(交换机)的支持。
注意:做网卡绑定
必须安装bridge-utils
包---->brctl
命令(配置文件就是根据这个命令来做网卡绑定的)
创建bonding设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0”
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
查看bond0状态:/proc/net/bonding/bond0
miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测
一次链路连接状态,如果有一条线路不通就转入另一条线路
删除bond0
ifconfig bond0 down
rmmod bonding
一个虚拟机上配置两块相同的网卡(必须在同一路由)不然绑定不到一块(一个主,一个备用)
创建文件:/etc/sysconfig/network-scripts/ifcfg-bond0
更改原来的网卡
/etc/sysconfig/network-scripts/ifcfg-eth0和eth1
加入
MASTER=bond0
SLAVE=yes
配置完后
这两个网卡的配置都有bond0决定,原本的配置都是失效
然后重新启动服务service network restart
这样在其他主机上就可以ping通
并且这俩个网卡,共用同一个mac
重启服务
出现重复数据报
两个网卡都会收到,都会回复
首先分配足够多的网卡
安装包
yum install bridge-utils -y
先创建bond0配置
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-bond0
cat ifcfg-bond0 #内容如下:
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
BONDING_MASTER=yes
BONDING_OPTS=“mode=1 miimon=100” #指定绑定类型为1及链路状态监测间隔时间
BRIDGE=br0 #桥接到br0
配置桥接网卡 br0:也就是最终由eth1----eth2生成的网卡
vim ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
#DEFROUTE=yes
#PEERDNS=yes
#PEERROUTES=yes
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=X.X.X.X
NETMASK=255.255.255.0
GATEWAY=X.X.X.X
eth0和eth1配置: 不需要ip
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
#NM_CONTROLLED=no #NetworkManger服务的参数,配置修改后无重启立即生效
MASTER=bond0
#USERCTL=no #是否允许普通用户控制此设备
SLAVE=yes
如果出问题就注释掉上面的两行
重启网络服务
查看bonding状态
cat /proc/net/bonding/bond0
==============================================================================
出现网络故障:与远程主机不能通信
解决办法:
先看网关,ping网关
看网卡是不是处于down状态
路由表是不是出问题
出现两条默认路由
Ping另外一个网段的主机
Ping不通说明路由器出问题
Ping通,可能是DNS出问题
==================================================================================
mac地址会冲突,(对文件)
网卡名:由/etc/udev/rules.d/70-persistent-net.rule
原本的mac地址,配置会保留,只需要将它删掉,
并且把下面的eth0改为eth1就好了
总结
大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。
麻烦帮忙转发一下这篇文章+关注我
===
mac地址会冲突,(对文件)
网卡名:由/etc/udev/rules.d/70-persistent-net.rule
原本的mac地址,配置会保留,只需要将它删掉,
并且把下面的eth0改为eth1就好了
总结
大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。
麻烦帮忙转发一下这篇文章+关注我
[外链图片转存中…(img-Ezt3ciMZ-1715701707682)]