| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 项目二--02.基于Nginx、keepalived的高可用集群之数据的走向以及数据一致性问题 -> 正文阅读 |
|
[系统运维]项目二--02.基于Nginx、keepalived的高可用集群之数据的走向以及数据一致性问题 |
文章目录集群中数据的走向— FULLNAT从用户的客户端机器,到我们的负载均衡器,再到我们的后端真实机器这个过程中,数据是如何走向的呢?用一副图来为你详细介绍这个过程(我们从数据封装角度来看,考虑到数据的mac地址以及IP地址): 解决后端服务器不知道客户端IP地址的方法方法一:在后端backend server上不使用realip模块步骤1:在负载均衡器上修改http请求报文头部字段,添加一个X-Real-IP字段
步骤2:在后端backend server上使用X_Real_IP这个字段, 方法二:后端backend server使用realip模块前提条件:需要在backend server编译安装nginx的时候,需要接–with-http_realip_module,开启realip这个功能
set_real_ip_from 192.168.2.43是告诉本机的nginx,192.168.2.43是负载均衡器,不是真正的client 集群中保障数据一致性问题-- NFS集群中使用nfs,让backend服务器都到nfs服务器里获取数据,这样就可以达到数据一致性,随便访问哪台后端服务器看到的内容都是一样的 实现步骤1.搭建nfs服务器
2.backend服务器挂载到nfs共享的目录取数据
NFS是实现数据一致性的好方法吗?看到使用nfs服务器来实现数据的一致性,你肯定会觉得很low,的确,使用nfs来解决数据一致性确实不是一个最佳答案,但是使用nfs,你只需要一台廉价的服务器(或者虚拟机)以及一个免费的nfs-utils软件就能实现,这虽然不是最佳答案,但也是我们学生最便捷、经济的方式了。 如果你认为nfs比较差,以及你不差钱,那么我推荐你使用一下方式: NFS的工作原理NFS是通过网络来进行服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有想对应的网络端口,NFS服务器到底使用哪个端口来进行数据传输呢? 因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS服务器端的相关端口才能建立连接进行数据传输,而RPC就是用来统一管理NFS端口的服务,并且统一对外的端口是111,RPC会记录NFS端口的信息,如此我们就能够通过RPC实现服务端和客户端沟通端口信息。PRC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,记客户端可以连接到正常端口上去。 那么RPC又是如何知道每个NFS功能的端口呢? 首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端。如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了。 提示:在启动NFS SERVER之前,首先要启动RPC服务(即portmap服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。特别注意:一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行/etc/init.d/nfs reload或exportfs –rv即可使修改的/etc/exports生效。 NFS服务器端和NFS客户端的通讯过程:1)首先服务器端启动RPC服务,并开启111端口 2)服务器端启动NFS服务,并向RPC注册端口信息 3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口 4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。 5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 9:55:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |