Architectur
所有优秀的互联网技术都有“architecture”——一种将各种实体联系在一起进行沟通合交流的方式。比如说万维网(the World Wide Web)是由无数的运行着apache的服务器,与不计其数的运行类似Firefox的客户端,通过使用标准的协议和数据格式如HTTP和HTML一起组成的。另一个例子是,电子邮件基础设施是由无数的运行着Postfix的服务器,与不计其数的运行着Thunderbird软件的客户端,共同使用标准的如SMTP,POP,IMAP的协议组成的。
同样的,像即时通信和其他实时交流的日渐由运行着Jabber或Openfire的服务器与百万计的运行着Adium、Gajim,Pidgin等客户程序的客户端,通过标准的协议联系在一起,我们称之为XMPP。
XMPP技术使用类似于万维网与电子邮件的分布式架构。图2-1是一个简易的树形服务器与各自的树形客户端。
使用分布式架构的好处是它可以实现可关注的智能型分离(客户端开发可以将关注的重点放在客户体验上,服务端可以将关注的重点放到可用性与扩扩展性上),