Several technical problems that must be solved by e-commerce websites
Copyright Disclaimer: If you have a reprinted request, please indicate the source:Http://blog.csdn.net/yzhzYang Zheng
This article analyzes several key issues to be solved by e-commerce websites from the perspectives of architecture, search, and performance, and provides some suggestions and solutions.
1. The architecture of a good e-commerce website must be a scalable and maintainability architecture.
One of the biggest features of an e-commerce website is that the business logic is complex and the demand changes rapidly, Code The maintenance and function expansion of the application usually take up 80%-90% of the entire application lifecycle. Therefore, only an architecture with high flexibility, strong scalability, and convenient maintenance can adapt to the requirements of the development of e-commerce websites.
Architectures with the above features generally have the following features:
1. It is a loosely coupled architecture. Layering is required. Generally, it refers to a common three-tier architecture. The layers can also be subdivided based on requirements.
2. Some suitable design modes are adopted. A good architecture must use some design patterns. Of course, the opposite is not necessarily true.
J2EECommunity We have provided us with excellent design patterns for our reference:
(1) Core J2EE design model
Http://java.sun.com/blueprints/corej2eepatterns/Patterns/
(2) patterns of enterprise application architecture of martinfowler.
Http://www.martinfowler.com/eaaCatalog/
You can find the desired design patterns in these patterns. In a word, the key is to understand each mode (when and how) and use it flexibly.
3. Provides certain infrastructure and reusable components. Only such an architecture can improve the development efficiency, reduce repetitive code, and quickly respond to changes in customer needs. Currently, I think SOA (Service-Oriented Architecture) is the most compliant architecture.
Introduction to SOA Article There are many other topics. developerworks has a dedicated SOA and Web Services area to introduce SOA-related knowledge.
I have seen this article later. I think it is well written and can be used for reference.
Designing an enterprise application framework for service-oriented architecture
2. Search Engine
An excellent e-commerce website provides a large amount of goods or information. To help customers find the products they want, they must provide them with an excellent search engine.
Such a search engine must solve the following two key problems:
1. indexing and retrieval of large data volumes.
2. Return the user's search information quickly and accurately.
Lucene is a full-text indexing toolkit based on Java, which has Versions in other languages. Lucene is a good choice and learning method for e-commerce companies that have no technical accumulation in search. Now luncene has become a top-level sub-project of Apache.
Http://lucene.apache.org/
Http://www.lucene.com.cn/
Learning Lucene and Lucene in action must be taken into consideration.
3. interactive access with large data volumes.
For e-commerce websites with many interactions between users and websites, the performance bottleneck of applications is usually in the database. Especially as the data volume increases, 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 must bind variables when writing SQL statements, all SQL statements must be submitted to the dBA for review. These work are of great help to database optimization.
However, the growth of data in the database is an inevitable trend. I think the final solution is to adopt appropriate policies based on actual needs to reduce the amount of data to be accessed. This is King.
In short, an e-commerce website with a large amount of information, fast access, security, and convenient use will always be the customer's first choice. To create the best customer experience, website developers (here I mainly refer to the Technical Department) need to make greater efforts in the above aspects. learning and innovation are the rules that engineers should keep in mind.