Analyzed e-commerce websites from technical perspectives such as architecture, search, and performance

1. The architecture of a good e-commerce website must be an architecture that is easy to expand and
        maintain 80%-90% of the time. Therefore, only a framework with high flexibility, strong scalability and easy maintenance can meet the requirements of e-commerce website development.
        The architecture with the above characteristics usually has the following characteristics:
       1. It is a loosely coupled architecture. Layering is necessary, usually refers to the common three-layer architecture, and each layer can also be subdivided according to needs.
       2. Some suitable design patterns are adopted. A good architecture must use some design patterns in it, of course, the reverse is not necessarily true.
         The j2ee community has provided us with excellent design patterns for our reference:
         (1) j2ee core design patterns
             http://java.sun.com/blueprints/corej2eepatterns/Patterns/
          (2) martinfowler's Patterns of Enterprise Application Architecture.
            http://www.martinfowler.com/eaaCatalog/
         You can find among these patterns design patterns that meet your needs. In short, in a word, don't model for the sake of the model, the key is to understand each model (when and how) and use it flexibly.
        3. Provides certain infrastructure and reusable components. Only such an architecture can improve development efficiency, reduce duplication of code, and respond quickly to changes in customer needs. Currently I think SOA (Service Oriented Architecture) is the architecture that best fits this requirement.
        There are many articles about SOA on the Internet. Developerworks has a special area for SOA and Web services to introduce SOA related knowledge.
 The following article I saw not long ago, I think it is well written, there are certain lessons, you can read it.
 Designing an Enterprise Application Framework for Service-Oriented Architecture
 
 
Second, a search engine
        An excellent e-commerce website will provide a lot of goods or information. In order to help customers find what they want, it is necessary to provide customers with an excellent search engine for them to find.
       Such a search engine must solve the following two key problems:
       1. Indexing and retrieval of large amounts of data.
       2. Quickly and accurately return the information the user wants to search for.
 
         Lucene is a Java-based full-text indexing toolkit that already has versions in other languages. For e-commerce companies that have no technical accumulation in search, Lucene is a better choice and a way to learn. Now luckene has become a top-level subproject of apache.
  http://lucene.apache.org/
  http://www.lucene.com.cn/Learn
 Lucene, Lucene in Action This book is a must read.
 
3. Interactive access to large amounts of data.
        For e-commerce websites where users interact more with the website, the performance bottleneck of the application is usually the database. Especially as the amount of data grows, the pressure on the database will become more and more obvious.
        There are various methods for database optimization. DBAs and development engineers have their own requirements. For example, developers are required to use bind variables when writing SQL statements, and all SQL must be submitted to DBA for review. These works are of great help to the optimization of the database.
        However, the growth of data in the database is an inevitable trend. I think the ultimate solution is to reduce the amount of data to be accessed by adopting appropriate strategies according to actual needs. This is the kingly way.
  
        In short, an e-commerce website with a large amount of information, fast access speed, safety and convenience is always the first choice of customers. In order to create the best customer experience, website developers (here I mainly refer to the technical department) need to make greater efforts in the above areas. Learning and innovation are the rules that engineers should keep in mind.

For an imperfect technology, it is always easy to criticize it; if there is no more constructive solution, then criticism can only be called cheap criticism.
"Although you are a programmer, you can't just think of yourself as a programmer. You can also think about your boss and the company. But it's not that everything will be fine if you find a problem. Any company is never short of picky people. Because what you see The problem, you may not know how many people have complained about it before! So instead of just running to the boss and it doesn't help, you might as well investigate and go to the boss with a solution. This is the best policy. Only one pointed out Only employees who have come up with effective solutions to core problems will gain the attention and trust of their bosses.【Tang Junyu】


In the cooperation with the bank, we encountered many difficulties. But precisely because of the difficulties, the whole thing has more operational value and significance. If this thing is done in three days, then I am definitely not interested in this matter. [Ma Yunyu]
Digression:
For technical issues, it is too simple to indicate that there is no technical content.
For business problems, too simple is easy to imitate without core competitiveness.

What am I doing this company to sell? I don't buy products, I don't buy companies, I sell myself. As long as you make others feel that you are trustworthy, then any product can be sold.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324482758&siteId=291194637