NIMM简介(二)

作者:kan

1. NIMM地址

上篇文章我们介绍了NIMM的架构。今天我们介绍一下NIMM的细节, 包括NIMM地址, NIMM消息分发方式以及NIMM的传输方式。

 

 

NIMM地址是由4段组成, 每段都是一个数字:

<Domain ID><IDC ID><ServerID><SocketID>

下面是每段的具体含义:

Domain ID:域ID。长度4B。应用域的编号。一个大型的网站可能多个应用,每个应用一个域,比如news 服务,编号是1; blog 服务,编号是2

IDC ID:数据中心ID。长度2B 数据中心的编号。该大型网站可能有多个数据中心。比如北京移动数据中心的编号是1,上海移动数据中心的编号是2

Server ID 服务ID。长度2B。同一个程序可能有多个实例运行着,比如说3个,可以将第一个编号为100,第二个编号为101,第三个编号为102

Socket ID 套接字ID。长度2B。套接字编号。

 

 

2. NIMM 消息分发方式

NIMM的消息分发方式分为三种: Unicast, Anycast, Multicast. 下面分别进行介绍:

Unicast: 单播。发送端只给唯一的一个接收端发送消息;

Anycast: 任播。发送端会给多个接收端发送消息,但是最多只有一个消息接收端会收到消息;

Muliticast: 多播。发送端会给多个接收端发送消息,并且每个接收端都会接收到消息。

 

通过设置接收端的NIMM地址,发送端就可以决定消息的分发方式:

ServerID 1~65534之间,表示单播

serverID 0 表示任播

serverID65535,表示多播。

 

举个例子:

1.1.100.1,是个单播地址

1.1.0.1,是一个任播地址

1.1.65535.1,是一个多播地址

 

3. NIMM 消息的传输方式

NIMM分别提供了两种传输方式

1)  不可靠传输,又叫NIMM Socket。发送端将消息发送给消息服务器后,消息服务器会将消息发给接收端。也就是说,每个消息的发送,发送端不会收到消息服务器的一个确认消息。类似于TCP/IP协议栈里德UDP协议。

2)  可靠传输,又叫NIMM Session。发送端将消息发送给消息服务器后,消息服务器会将消息发给接收端,接收端收到消息后,会给消息服务器发送一个确认消息,消息服务器再给发送端发送一个确认消息。也就是说,每个消息的发送,发送端都会收到消息服务器的一个确认消息。类似于TCP/IP协议栈里德TCP协议

你可能感兴趣的:(server,socket,session,服务器,domain,数据中心)