人妻少妇一区二区三区,国产熟妇久久777777,中文在线最新版天堂8,激情内射日本一区二区三区

行業(yè)新聞

行業(yè)新聞

如何在服務(wù)器群集中的服務(wù)器之間進(jìn)行通信?

發(fā)布時(shí)間:2020-07-15 點(diǎn)擊數(shù):15987

在建立服務(wù)器群集時(shí),群集中的服務(wù)器需要進(jìn)行通信。例如,Client1(簡稱C1)連接到Server1(簡稱S1),Client2連接到Server2,并且Client1需要向Client2發(fā)送消息。 S1不知道C2已連接到S2。

怎樣在集群服務(wù)器之間通信


我想到了兩個(gè)選擇:

方案A:采用組播(或廣播)。 S1收到C1消息后,發(fā)送廣播報(bào)文查詢C2所在服務(wù)器。此時(shí),S2回復(fù)S1,S1將消息發(fā)送到S2,S2將其轉(zhuǎn)發(fā)到C2,但是udp并不可靠,盡管服務(wù)器位于同一局域網(wǎng)中,如果消息丟失,則C2可以沒有收到C1的消息。

選項(xiàng)B:添加路由服務(wù)器,所有服務(wù)器都連接到路由服務(wù)器(tcp長連接),S1將消息轉(zhuǎn)發(fā)到路由服務(wù)器,路由服務(wù)器廣播到所有服務(wù)器,由每個(gè)服務(wù)器判斷,但是復(fù)雜度高程序數(shù)量的增加順便說一下,如果消息數(shù)量大量增加,則每個(gè)服務(wù)器將處理自身未處理的消息,并且路由服務(wù)器將成為瓶頸。

這不是消息隊(duì)列。簡單的可以使用zeromq來完成,稍微復(fù)雜的可以使用Rabbitmq / activemq / qpid和其他成熟的解決方案。

Rabbitmq

MQ被稱為消息隊(duì)列,消息隊(duì)列(MQ)是一種應(yīng)用程序到應(yīng)用程序的通信方法。應(yīng)用程序通過在隊(duì)列(應(yīng)用程序的數(shù)據(jù))之間讀取和寫入消息進(jìn)行通信,而無需專用連接來鏈接它們。消息傳遞是指通過發(fā)送消息中的數(shù)據(jù)進(jìn)行通信的程序,而不是通過直接相互調(diào)用來相互通信的程序,通常用于諸如遠(yuǎn)程過程調(diào)用之類的技術(shù)。排隊(duì)是指通過隊(duì)列進(jìn)行通信的應(yīng)用程序。隊(duì)列的使用消除了接收和發(fā)送應(yīng)用程序以同時(shí)執(zhí)行的需求。在更成熟的MQ產(chǎn)品中,有IBM WEBSPHERE MQ等。

ActiveMQ

1. ActiveMQ是一種消息排隊(duì)技術(shù),其誕生是為了解決高并發(fā)問題!

2. ActiveMQ生產(chǎn)者消費(fèi)者模型(生產(chǎn)者和消費(fèi)者可以跨平臺(tái)和系統(tǒng))

有中間平臺(tái)3,ActiveMQ支持兩種消息傳輸方式

1)隊(duì)列,隊(duì)列模式,生產(chǎn)者產(chǎn)生一條消息,該消息只能由一個(gè)消費(fèi)者使用

2)主題,發(fā)布/訂閱模型,生產(chǎn)者產(chǎn)生一條消息,可由多個(gè)消費(fèi)者使用

Qpid

AMQP是用于業(yè)務(wù)消息的開放網(wǎng)絡(luò)協(xié)議。他定義了一個(gè)二進(jìn)制的線級(jí)協(xié)議,該協(xié)議允許雙方執(zhí)行可靠的業(yè)務(wù)消息傳遞。該協(xié)議的目標(biāo)是成為所有消息中間件之間互操作性的標(biāo)準(zhǔn)協(xié)議。

消息隊(duì)列是進(jìn)程間通信線程之間或同一進(jìn)程的不同線程之間的通信方法。

Qpid是Apache開發(fā)的消息隊(duì)列,實(shí)現(xiàn)AMQP協(xié)議并支持多種語言和多種平臺(tái)。

零平方米

這是一系列類似于Socket的接口。它和Socket的區(qū)別在于普通套接字是端到端的(1:1關(guān)系),而ZMQ是N:M關(guān)系。您了解有關(guān)點(diǎn)對點(diǎn)連接的更多信息。點(diǎn)對點(diǎn)連接需要顯式建立連接,破壞連接,選擇協(xié)議(TCP / UDP)和處理錯(cuò)誤。 ZMQ屏蔽了這些細(xì)節(jié),使您的網(wǎng)絡(luò)編程更加輕松。 ZMQ用于節(jié)點(diǎn)與節(jié)點(diǎn)之間的通信。節(jié)點(diǎn)可以是主機(jī)或進(jìn)程。

引用官方聲明:“ ZMQ(ZeroMQ縮寫為ZMQ)是一個(gè)簡單易用的傳輸層。它是一個(gè)類似于框架的套接字庫。它使套接字編程更簡單,更簡潔并且具有更高的性能。它是一個(gè)消息處理隊(duì)列庫,可以在多個(gè)線程,核心和主機(jī)盒之間靈活伸縮。ZMQ的明確目標(biāo)是“成為標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議棧的一部分,然后進(jìn)入Linux內(nèi)核?!彼麄冞€沒有看到他們的成功,但是,毫無疑問,這是極其有希望且要求更高的BSD套接字上的封裝層。ZMQ使編寫高性能網(wǎng)絡(luò)應(yīng)用程序變得極為輕松和有趣。

這不只是一個(gè)消息隊(duì)列嗎?簡單的可以使用zeromq完成,稍微復(fù)雜的可以使用Rabbitmq / activemq / qpid和其他成熟的解決方案


希望全網(wǎng)數(shù)據(jù)小編的方法對大家有用,全網(wǎng)數(shù)據(jù)為大家提供專業(yè)的深圳服務(wù)器托管,深圳服務(wù)器租用,深圳主機(jī)托管,云服務(wù)器租用等服務(wù)器資源,詳情歡迎咨詢客服了解。

?

用戶至上,用心服務(wù)

全網(wǎng)數(shù)據(jù)以"用戶至上,用心服務(wù)每一位用戶"為宗旨,您可以把您的應(yīng)用放心的交給我們,全網(wǎng)數(shù)據(jù)為您提供完美解決方案和數(shù)據(jù)中心服務(wù)。

免費(fèi)咨詢