
.png)
Messages pass directly between the publisher and the subscribers, rather than moving into and out of a centralized server. Publish-subscribe model: In the publish-subscribe communications model ( Figure 10), computer applications (nodes) “subscribe” to data they need and “publish” data they want to share. The time between when the information is available on the server, and when the client asks and receives it adds a variable latency to the system.

This approach is inefficient and precludes deterministic communications, since the client does not know when new information is available. However, if information is being generated at multiple nodes, a client-server architecture requires that all information are sent to the server for later redistribution to the clients.


The client-server network architecture works best when information is centralized, such as in databases, transaction processing systems, and file servers. In other words, each client makes a request (order) and each reply (pizza) is made for one specific client in mind. As a result, the response can be tailored to each request. In the client-server model, each response is tied to a prior request. After the order (request), the parlor asks the client where the response (pizza) should be sent. The parlor can handle many orders without knowing ahead of time where people (clients) are located. Clients must know the phone number of the pizza parlor to place an order. Ordering pizza over the phone is an example of client-server communication. Client-server networks designate one special server node that connects simultaneously to many client nodes, as illustrated in Figure 9.Ĭlient-server is many-to-one communications.Ĭlient-server is a "many-to-one" architecture. To address the scalability issues of the Point-to-Point model, developers turned to the Client-Server model. Point-to-point is one-to-one communication. While it provides reliable, high-bandwidth communication, TCP is cumbersome for systems with many communicating nodes. TCP is a point-to-point network protocol designed in the 1970s. The telephone is essentially one-to-one communication. However, the telephone does not work as well if you have to talk to many people at the same time. Once a connection is established, you can have a reasonably high-bandwidth conversation. To use a telephone, you must know the address (phone number) of the other party. The telephone is an example of an everyday point-to-point communications device. Point-to-point is the simplest form of communication, as illustrated in Figure 8. This section describes three main types of network communications models: Different communications models are better suited to handle different classes of application domains. Unfortunately, there is no “one size fits all” approach to distributed applications. The communications model impacts the performance, the ease to accomplish different communication transactions, the nature of detecting errors, and the robustness to different error conditions. The communications model underlying the network middleware is the most important factor in how applications communicate.
