×

Loading...

Topic

  • 工作学习 / IT杂谈 / How to design high performance system--My lesson
    本文发表在 rolia.net 枫下论坛When I was in China, I toook park in a project to develop a high performance server system which can support several thousands of concurrent connections on Windows NT platform. My team leader is a senior C++ programmer, he wanted to use Microsoft's MFC to finish it.

    Of course MFC is a good class library to write GUI program for Windows, moreover there are TCP/IP socket classed in MFC. But these socket classes in MFC are based on Windows message mechanism, I don't believe it is the best choice to write high performance server systems with these classes.

    My team leader knows C++ very well, but I'm afraid he doesn't know how to design. He is a good developer but not a good architect. He only know MFC well but don't know there are some other technologies can be used to develop this project. But he is team leader!

    So you can image what happened. This is the worst project I have ever developed. The server can't support more than 800 concurrent users!

    What I want to say is that to be a good software designer/developer, good design is same important as good programming skills.更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • To be a good architect, ....
      To be a good architect, one needs to know more than a down-to-earth programmer. In other words, one must be very knowledgebale. In addition, one must be good at corporate politics.

      Right now, many projects are being built simply because Java is hot. The philosophy is: Since all of the companies are trying to be Java-enabled, we should use Java. This
      offers a good opportunity for new Java guys.
    • Your project leader ignored one factor in his system architecture---- scalability.
      Generally speaking. Microsoft technologies are good as load is low. For instance, you can create an Ecommerce site using ASP, but its performance drops rapidly as the hit becomes high. In such a case, it is very difficult to expand your server's ability. In English, it is said to lack scalability. I have ever asked about 5 Chinese IT professionals, one of them gave me the correct answer. I learnt this thing from him.
      I hope all the IT friends can understand this word now.