问题一:服务器的这个扩展性和可靠性应该考虑哪⼏⽅⾯?
扩展性:
- 存储扩展
- 网络扩展
- 弹性计算能力
- 水平扩展与垂直扩展
可靠性:
- 硬件故障频率:
- 冗余设计
- 系统稳定性
- 实时监控与日志记录
- 专业支持团队
问题二:两个机房之间,如果通信延迟⽐较⼤,那这你的排查思路是什么?
分层排查:
- 物理层与链路层
检查物理连接(光纤、网线、接口指示灯状态)
- 网络层
路由分析(traceroute 追踪数据包在两个机房之间的传输路径)
检查网络设备
- 传输层与应用层
利用netperf
测试两个机房之间的实际传输速度。
服务器和数据库服务器的性能和负载情况,确认无过载现象
问题三:二层交换机和三层交换机的区别
- 二层交换机:主要工作在OSI模型的第2层,即数据链路层。它专注于处理数据帧(Frame),根据数据帧中的MAC地址进行转发,二层交换机的性能通常较高,转发速度较快。
- 三层交换机:则工作在网络层(OSI模型的第3层)。它不仅能够处理数据帧,还能够根据数据包中的IP地址进行路由决策,实现不同子网之间的通信,了支持物理层和数据链路层协议外,还支持网络层协议。由于集成了路由功能,三层交换机的性能可能略低于纯粹的二层交换机,但其综合性能(包括转发速度和路由能力)仍然非常出色。
问题四:TCP/UDP的区别 (极为重要)
一、连接性
- TCP:是一种面向连接的协议。在数据传输之前,通信双方必须先建立TCP连接,通过三次握手过程确认双方的连接状态。数据传输完毕后,还需要通过四次挥手过程来释放连接。这种连接机制确保了数据传输的可靠性和有序性。
- UDP:是一种无连接的协议。发送数据之前不需要建立连接,直接发送数据报即可。因此,UDP的开销较小,传输效率较高,但可能面临数据丢失、乱序等问题。
二、可靠性
- TCP:提供可靠的服务。它使用确认应答机制来确保每个发送的数据包都能被对方正确接收。如果数据包在传输过程中丢失或出错,TCP会重新发送该数据包,直到对方确认收到为止。此外,TCP还通过流量控制、拥塞控制等机制来避免网络拥塞和数据丢失。
- UDP:不提供可靠的服务。它不保证数据包的顺序性、完整性和正确性。如果数据包在传输过程中丢失或出错,UDP不会进行任何重传或纠错操作,而是直接丢弃该数据包。因此,UDP适用于对数据可靠性要求不高的应用场景。
三、传输效率
- TCP:由于需要建立连接、确认应答和重传控制等机制,TCP的传输效率相对较低。尤其是在网络拥塞时,TCP会主动降低发送速率以避免进一步加剧拥塞。
- UDP:没有连接建立和确认应答的开销,也不受拥塞控制的限制。因此,UDP的传输效率通常比TCP更高。但是,在高丢包率的网络环境下,UDP的性能可能会受到影响。
四、数据包大小
- TCP:将数据划分为较小的数据包进行传输,并根据网络状况动态调整数据包的大小。这种机制有助于减少网络拥塞和数据丢失的风险。
- UDP:允许发送方一次性将多个数据包打包成一个较大的数据报进行传输。数据报的大小通常由应用层自行决定,不受传输层协议的限制。但是,过大的数据报可能会增加网络拥塞和数据丢失的风险。
五、适用场景
- TCP:适用于对数据可靠性要求较高的应用场景,如文件传输、电子邮件和网页浏览等。在这些场景中,数据的完整性和正确性至关重要。
- UDP:适用于对数据实时性要求较高的应用场景,如音频和视频流传输、网络游戏和实时通信等。在这些场景中,即使偶尔出现数据丢失或乱序的情况,也不会对用户体验造成太大影响。