新聞中心
深入了解linux中的rpc服務(wù)

南城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
Remote Procedure Call(遠(yuǎn)程過程調(diào)用,簡稱RPC)是一種分布式計(jì)算機(jī)之間進(jìn)行通信的技術(shù),它使得一臺計(jì)算機(jī)上的程序能夠在另一臺遠(yuǎn)程計(jì)算機(jī)上執(zhí)行。在Linux操作系統(tǒng)中,RPC服務(wù)是重要的一環(huán),為各種應(yīng)用程序提供了高效、安全的通信機(jī)制。本文將深入探討Linux中的RPC服務(wù)。
RPC服務(wù)概述
RPC是一種通信協(xié)議,用于在不同的操作系統(tǒng)、應(yīng)用程序之間傳輸數(shù)據(jù)。通過RPC,程序能夠調(diào)用另一臺計(jì)算機(jī)上的程序,就好像他們在同一臺計(jì)算機(jī)上一樣,因此RPC是一種分布式計(jì)算機(jī)通信的重要手段之一。
在Linux中,RPC服務(wù)是通過oncrpc模塊來實(shí)現(xiàn)的。oncrpc模塊為用戶層應(yīng)用程序提供了完整的RPC功能,并在操作系統(tǒng)內(nèi)核中提供了充分的支持,使得各種應(yīng)用程序能夠直接使用RPC服務(wù)。在Linux系統(tǒng)中,oncrpc模塊主要包含以下組件:
– RPC Port Mapper:RPC端口映射服務(wù),可以將RPC服務(wù)映射到網(wǎng)絡(luò)端口上。
– RPC Bindings:RPC綁定服務(wù),用于確認(rèn)RPC客戶端和服務(wù)器的位置,并為它們分配唯一的網(wǎng)絡(luò)地址。
– RPC Protocols:RPC協(xié)議服務(wù),支持TCP和UDP兩種協(xié)議,并為應(yīng)用程序提供了高效、可靠的通信機(jī)制。
RPC服務(wù)用途
在Linux中,RPC服務(wù)主要應(yīng)用于以下場景:
– 分布式系統(tǒng):RPC服務(wù)是一種典型的分布式系統(tǒng)通信方式,適用于不同的操作系統(tǒng)、應(yīng)用程序之間的通信。通過RPC服務(wù),不同的應(yīng)用程序可以協(xié)同工作,共享資源、數(shù)據(jù)等。
– 數(shù)據(jù)庫管理:RPC服務(wù)也廣泛應(yīng)用于數(shù)據(jù)庫管理,可以實(shí)現(xiàn)不同計(jì)算機(jī)之間的數(shù)據(jù)共享和分布式數(shù)據(jù)庫管理。例如,分布式文件系統(tǒng)nfs在Linux中就是通過RPC來進(jìn)行通信和操作的。
– 網(wǎng)絡(luò)通信:RPC服務(wù)還被廣泛應(yīng)用于網(wǎng)絡(luò)通信,例如遠(yuǎn)程監(jiān)控、遠(yuǎn)程控制、遠(yuǎn)程教育、遠(yuǎn)程會(huì)議等。
RPC服務(wù)優(yōu)缺點(diǎn)
RPC服務(wù)有以下優(yōu)點(diǎn):
– 可靠:RPC服務(wù)使用標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議,具有可靠性和穩(wěn)定性。
– 簡單:RPC服務(wù)可以讓程序員將網(wǎng)絡(luò)通信的細(xì)節(jié)隱藏起來,只需對接口進(jìn)行編程,就可以完成網(wǎng)絡(luò)通信的功能。
– 易用:RPC服務(wù)支持多種語言,便于不同語言的程序員使用。
同時(shí),RPC服務(wù)也有以下缺點(diǎn):
– 復(fù)雜:RPC服務(wù)需要掌握一定的網(wǎng)絡(luò)知識,因此對于初學(xué)者來說可能較為復(fù)雜。
– 安全:RPC服務(wù)的安全性較低,容易受到網(wǎng)絡(luò)攻擊和安全漏洞的威脅。
RPC服務(wù)的實(shí)現(xiàn)
在Linux中,RPC服務(wù)的實(shí)現(xiàn)主要分為以下兩種方式:
– 傳統(tǒng)的RPC服務(wù)實(shí)現(xiàn)方式是通過編寫IDL(Interface Description Language,接口描述語言)文件,然后通過RPC生成器生成客戶端和服務(wù)器的代碼,最后再編寫應(yīng)用程序。但是,這種方式需要編寫IDL文件,處理較為繁瑣,不利于快速開發(fā)。
– 基于XML-RPC的RPC服務(wù)實(shí)現(xiàn)方式是將函數(shù)的調(diào)用參數(shù)和返回值編碼為XML格式,通過HTTP協(xié)議進(jìn)行傳輸。這種方式不需要IDl文件,操作簡單,適合快速開發(fā),但因?yàn)槭褂昧薍TTP協(xié)議,會(huì)帶來一定的性能損失。
RPC服務(wù)是分布式系統(tǒng)中的重要組成部分,提供了高效、安全的通信機(jī)制,廣泛應(yīng)用于數(shù)據(jù)庫管理、網(wǎng)絡(luò)通信、遠(yuǎn)程教育等領(lǐng)域。在Linux系統(tǒng)中,RPC服務(wù)通過oncrpc模塊實(shí)現(xiàn),并包含RPC Port Mapper、RPC Bindings、RPC Protocols等主要組件。目前,基于XML-RPC的RPC服務(wù)實(shí)現(xiàn)方式越來越受到開發(fā)者的青睞,將會(huì)成為未來RPC服務(wù)的重要發(fā)展方向。
相關(guān)問題拓展閱讀:
- Linux系統(tǒng)服務(wù)進(jìn)程
- Linux 環(huán)境下搭建NFS服務(wù)
Linux系統(tǒng)服務(wù)進(jìn)程
服務(wù)名稱 功能 默認(rèn) 建議 備注說明
NetworkManager 用于自動(dòng)連接網(wǎng)絡(luò),常用在Laptop上 開啟 關(guān)閉 對服務(wù)器無用
abrt-ccpp 開啟 自定 對服務(wù)器無用
abrt-oops 開啟 自定 對服務(wù)器無用
abrtd 開啟 自定 對服務(wù)器無用
acpid 電源的開關(guān)等檢測管理,常用在Laptop上 開啟 自定 對服務(wù)器無用
atd 在指定時(shí)間執(zhí)行命令 開啟 關(guān)閉 如果用crond,則可關(guān)閉它
auditd 審核守護(hù)進(jìn)程 開啟 開啟 如果用selinux,需要開啟它
autofs 文件系統(tǒng)自動(dòng)加載和卸載 開啟 自定 只在需要時(shí)開啟它,可以關(guān)閉
avahi-daemon 本地網(wǎng)絡(luò)服務(wù)查找 開啟 關(guān)閉 對服務(wù)器無用
bluetooth 藍(lán)牙無線通訊 開啟 關(guān)閉 對服務(wù)器無用
certmonger 關(guān)閉 關(guān)閉
cpuspeed 調(diào)節(jié)cpu速度用來省電,常用在Laptop上 開啟 關(guān)閉 對服務(wù)器無用
crond 計(jì)劃任務(wù)管理 開啟 開啟 常用,開啟
cups 通用unix打印服務(wù)
開啟 關(guān)閉 對服務(wù)器無用
dnasq dns cache 關(guān)閉 關(guān)閉 DNS緩存服務(wù),無用
firstboot 系統(tǒng)安裝后初始設(shè)定 關(guān)閉 關(guān)閉
haldaemon 硬件信息收集服務(wù) 開啟 開啟
ip6tables ipv6防火墻 開啟 關(guān)閉 用到ipv6網(wǎng)絡(luò)的就用,一般關(guān)閉
iptables
ipv4防火墻 開啟 開啟 ipv4防火墻服務(wù)
irqbalance cpu負(fù)載均衡 開啟 自定 多核cup需要
kdump 硬件變動(dòng)檢測 關(guān)閉 關(guān)閉 服務(wù)器無用
lvm2-monitor lvm監(jiān)視 開啟 自定 如果使用LVM邏輯卷管理就開啟
matahari-broker 關(guān)閉 關(guān)閉 此服務(wù)不清楚,我關(guān)閉
matahari-host 關(guān)閉 關(guān)閉 此服務(wù)不清楚,我關(guān)閉
matahari-network 關(guān)團(tuán)姿禪閉 關(guān)閉 此服務(wù)不清楚,我關(guān)閉
matahari-service 關(guān)閉 關(guān)閉 此服務(wù)不清楚,我關(guān)閉
matahari-sysconfig 關(guān)閉 關(guān)閉 此服務(wù)不清楚,我關(guān)閉
mdmonitor 軟raid監(jiān)視 開啟 自定
messagebus 負(fù)責(zé)在各個(gè)系統(tǒng)進(jìn)程之間傳遞消息 開啟 開啟 如停用,haldaemon啟動(dòng)會(huì)失敗
netconsole 關(guān)閉 關(guān)閉
netfs 系統(tǒng)啟動(dòng)時(shí)自動(dòng)掛載網(wǎng)絡(luò)文件系統(tǒng) 開啟 關(guān)閉 如果使用塌塵nfs服務(wù),就開啟
network 系統(tǒng)啟動(dòng)時(shí)激活所有網(wǎng)絡(luò)接口 開啟 開啟 網(wǎng)絡(luò)基礎(chǔ)服務(wù),必需!
nfs 網(wǎng)絡(luò)文件系統(tǒng) 關(guān)閉 關(guān)閉 nfs文件服務(wù),用到就開啟
nfslock nfs相關(guān) 開啟 關(guān)閉 nfs相關(guān)服務(wù),用到就開啟
ntpd 自動(dòng)對時(shí)工具 關(guān)閉 自定 網(wǎng)絡(luò)對時(shí)服務(wù),用到就開啟
ntpdate 自動(dòng)對時(shí)工具 關(guān)閉 關(guān)閉
oddjobd 與D-BUS相關(guān) 關(guān)閉 關(guān)閉
portreserve RPC 服務(wù)相關(guān) 開啟 自定 可以關(guān)閉
postfix 替代sendmail的郵件服務(wù)器 開啟 自定 如果無郵件服務(wù),可關(guān)閉
psacct 負(fù)荷檢測 關(guān)閉 關(guān)閉 可以關(guān)閉
qpidd 消息通信 開啟 開啟
quota_nld 關(guān)閉 關(guān)閉 可以關(guān)閉
rdisc 自動(dòng)檢測路由器 關(guān)閉 關(guān)閉
restorecond selinux相關(guān) 關(guān)閉 關(guān)閉 如果開啟了selinux,就需開啟
rpcbind 開啟 開啟 關(guān)鍵的基礎(chǔ)服務(wù),nfs服務(wù)和桌面環(huán)境都依賴此服務(wù)!相當(dāng)于CentOS 5.x里面的portmap服務(wù)。
rpcgssd NFS相關(guān) 開冊消啟 關(guān)閉 NFS相關(guān)服務(wù),可選
rpcidmapd RPC name to UID/GID mapper 開啟 關(guān)閉 NFS相關(guān)服務(wù),可選
rpcsvcgssd NFS相關(guān) 關(guān)閉 關(guān)閉 NFS相關(guān)服務(wù),可選
rsyslog 提供系統(tǒng)的登錄檔案記錄 開啟 開啟 系統(tǒng)日志關(guān)鍵服務(wù),必需!
saslauthd sasl認(rèn)證服務(wù)相關(guān) 關(guān)閉 關(guān)閉
artd 硬盤自動(dòng)檢測守護(hù)進(jìn)程 關(guān)閉 關(guān)閉
spice-vdagentd 開啟 開啟
sshd ssh服務(wù)端,可提供安全的shell登錄
開啟 開啟 SSH遠(yuǎn)程登錄服務(wù),必需!
sssd 關(guān)閉 關(guān)閉
sysstat 開啟 開啟 一組系統(tǒng)監(jiān)控工具的服務(wù),常用
udev-post 設(shè)備管理系統(tǒng) 開啟 開啟
wdaemon 關(guān)閉 關(guān)閉
wpa_supplicant 無線認(rèn)證相關(guān) 關(guān)閉 關(guān)閉
ypbind network information service客戶端 關(guān)閉 關(guān)
Linux 環(huán)境下搭建NFS服務(wù)
NFS(Network File System),網(wǎng)絡(luò)文件存儲(chǔ)系統(tǒng),它最早是由 Sun 公司開發(fā)的,也是 FreeBSD 支持的文件系統(tǒng)中的一個(gè),它允許網(wǎng)絡(luò)中的計(jì)算機(jī)之間通過TCP/IP 網(wǎng)絡(luò)共享資源。通過 NFS 協(xié)議,我們本地 NFS 的客戶端應(yīng)用可以透明的讀寫位于服務(wù)端 NFS 服務(wù)器上的文件,就像訪問本地文件一樣方便。簡單的理解,NFS 就是可以透過網(wǎng)絡(luò),讓不同的主機(jī),不同的操作系統(tǒng)可以共享存儲(chǔ)的服務(wù)。
NFS 在文件傳送或信息傳送過程中依賴 RPC(Remote Procedure Call)協(xié)議,即遠(yuǎn)程過程調(diào)用,NFS的各項(xiàng)功能都必須向 RPC 來注冊,如此一來 RPC 才能了解 NFS 這服務(wù)的各項(xiàng)功能 Port,PID,NFS 在服務(wù)器所監(jiān)聽的 IP 等,而客戶端才能透過 RPC 的詢問找到正確對應(yīng)的端口,所以 NFS 必須要有 RPC 存在是才能成功的提供服務(wù),簡單的理解二者關(guān)系:NFS 是一個(gè)文件存儲(chǔ)系統(tǒng),而 RPC 是負(fù)責(zé)信息的傳輸。
通過上面的簡介,我們知道 NFS 服務(wù)需要依賴 RPC 服務(wù),所以這里 NFS 服務(wù)端需要安裝 rpcbind 和 nfs-utils ,客戶端只需要安裝 nfs-utils 即可,由于我們選用 CentOS 系統(tǒng),所以可以使用 yum 快速的安裝。
然后安裝 NFS 服務(wù)
另:Ubuntu 16.04 安裝命令
我們在服務(wù)端創(chuàng)建一個(gè)共享目頃困錄 /data/share ,作為客戶端掛載在遠(yuǎn)端入口,然后設(shè)置權(quán)限
然后,修改 NFS 配置文件 /etx/exports
說明一下,這里配置后邊有很多參數(shù),每個(gè)參數(shù)有殲陸不同的含義,具體可以參考下邊。此處,我配置了將 /data/share 文件目錄設(shè)置為允許IP為 192.168.0.0/24 區(qū)間的客戶端掛載。然后,如果客戶端IP不在該區(qū)間也想要掛載的話,可以設(shè)置IP區(qū)間更大或者設(shè)置為 * 即允許所有客戶端掛載,例如: /home *(ro, sync,insecure,no_root_squash) 設(shè)置 /home 目錄允許所有客戶端只讀掛載。
接下來,我們先啟動(dòng) RPC 服務(wù)
我們發(fā)現(xiàn),啟動(dòng)了 NFS 服務(wù)后,RPC 注冊的端口列表明顯增多?,F(xiàn)在服務(wù)端都啟動(dòng)起來了,在服務(wù)端看下是否正確加載了設(shè)置的 /etc/exports 配置
最后,在另一臺Linux虛擬機(jī)上測試一下,是否能夠正確掛載。首先,我們可以在客戶端查看下NFS服務(wù)端設(shè)置可共享的目錄信息
然后,在客戶端創(chuàng)建掛載目錄/share
最后,掛載遠(yuǎn)端目錄到本地 /share 目錄
可以看到,可以正確將遠(yuǎn)端 NFS 目錄掛載到本地。注意:掛載點(diǎn) /share 目錄必須已經(jīng)存在,而且目錄中沒有文件或子目錄
最后,我們在 NFS 服務(wù)端 /data/share 目錄下創(chuàng)建一個(gè)文件,看下客戶端能否正確讀取并修改
都可以了,這里因?yàn)樯厦嬖O(shè)置了 NFS 遠(yuǎn)端目錄權(quán)限為 rw 擁有讀寫權(quán)限,如果設(shè)置為 ro ,那么客戶端只能讀取,不能寫入。根據(jù)實(shí)際應(yīng)用場景合理配置。
NFS 默認(rèn)使用 UDP協(xié)議進(jìn)行掛載,為了提供 NFS 的穩(wěn)定性,可以使用 TCP 協(xié)議掛載,那么客戶端掛載氏乎頃命令如下:
最后,卸載命令
關(guān)于linux中的rpc服務(wù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站設(shè)計(jì)制作選創(chuàng)新互聯(lián),專業(yè)網(wǎng)站建設(shè)公司。
成都創(chuàng)新互聯(lián)10余年專注成都高端網(wǎng)站建設(shè)定制開發(fā)服務(wù),為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計(jì),成都網(wǎng)站設(shè)計(jì)服務(wù);成都創(chuàng)新互聯(lián)服務(wù)內(nèi)容包含成都網(wǎng)站建設(shè),小程序開發(fā),營銷網(wǎng)站建設(shè),網(wǎng)站改版,服務(wù)器托管租用等互聯(lián)網(wǎng)服務(wù)。
分享名稱:深入了解linux中的rpc服務(wù) (linux中的rpc服務(wù))
當(dāng)前路徑:http://www.dlmjj.cn/article/cdddsci.html


咨詢
建站咨詢
