Message 1 to consider a large commercial system. remote access. Consider the client and server-side connection logic. Includes distribution requests, parameter proxy, etc. 2. Load balancing. The client must connect to the server using the smallest load. If a server is loaded, it is too heavy, and the selection is another server side. 3. Transaction failed to restore. If a server is collapsed, or the network crashes, you should consider whether the client can re-route other servers without interrupting the service? If you can, if you make a quick recovery? What is your business can accept? One second? Still a minute? 4. Integrated legacy system. The code must be able to synthesize the existing legacy system, but also write a durable business data to the database. 5. Transaction. What happens when the two clients access the database at the same time? Or what happens when the database crashes? The transaction will free from the above distress. 6. Cluster. What is the status of the server container when the server crashes? Is all the servers reply to this state, so all clients can use different services? 7. Dynamically released. How do you update software during your site run? Do you need to make the machine's weight? 8. Smoothing stops. How to smoothly stop a client is using the server, do not interrupt the service? 9. recording. If it is wrong, is there information records with errors? A record is to help us debug problems to solve problems 10. System Management. Who will manage the system after a catastrophic error? When the disaster occurs, we should use administrators to manage system 11. Thread. When there are many clients connected to the server side, this requires the server to have the ability to process the simultaneous requests of multiple clients. This requires server-side capabilities with multiple threads. 12. Middleware original information. When the client is loosely coupled to the server, some types of requests have information communication. This requires the basic information. 13. Entity lifecycle. When the client grows, when eliminating, the entity in the server has the life cycle of generation, destruction. 14. Resource Sharing. When a client is currently no longer using the server, the valuable resources in this server will return to the resource pool and provide it to other clients. 15. Safety. The server side needs to be protected from the database. Users can only do their permissions. 16. Cache. When there are some data sharing all clients, it is better than a public item blue, and it is necessary to avoid a server to read this data from the database. These data can be temporarily stored in the server-side memory, avoiding network blockages and database samples.