Question: How would you implement such a system? Distributed systems are difficult to implement but they are even more difficult to test! Suppose somebody wants you
How would you implement such a system?
Distributed systems are difficult to implement but they are even more difficult to test! Suppose somebody wants you to implement a news aggregator application. The application is a client- server application in which the client and the server communicate through a socket-based HTTP- like protocol. The server aggregates news from news-producing servers and shows the latest news to the client upon request. The protocol between the server and news servers is such that the server will know once news servers have new information. The list of news servers on the server can be appended with other news servers that the client wants to observe. How would you implement such a system? In your answer, you will want to consider the following questions: What is the communication protocol between the client and server? What requests will the client perform? What will the server reply? What is the communication protocol between the server and the news servers? How will the server know that there is new information on any of the news servers? Is it a push mechanism or a pull mechanism? Why? How will you ensure that your application can sustain more than one client? Say you've implemented the above application. How will you test it? In your answer, you will want to consider the following questions What is the normal operation mode for this application? In a single-client mode, what are the possible breaking points in your application? In a multiple-client mode, what are the possible breaking points in you application? How will you reproduce them? What is the pseudo-code for your testing harness
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
