Recently the company to engage in shopping malls, let me consult, finally read a lot, or code comments are not complete, or is a bug, or the document is missing, finally decided to develop a set of mall.
The following is the development of some experience, right vote record down, to make a record of their own.
Website: www.redpigmall.net, I qq:4407509, have a problem can contact me
has been engaged in e-commerce-related and Internet financial development, the processing of billions of data volume, so the current company value.
Because Java is open source, in recent years, Hadoop and other open source products more and more mature, and is based on Java, so finally choose Java Final Background development language, now the front end is his front-end engineer to write JS, later prepared to change to the front end is PHP, the middle is the go language, Background server is Java, because PHP writing front-end is very powerful, but this is also late.
In addition, the Struts series in Java, Spring Series, jsp/freemarker/velocity, etc. are very good, but at present we mainly need to develop quickly, complete the function, so at present is the choice Springmvc,orm choose MyBatis, Because the online evaluation of the velocity is good, and mainly for the convenience of development, so first select it.
In addition, for the search, choose Lucene Good, the reason is also convenient development, the package is better, the permission framework is currently used springsecurity, because the team has a familiar with security, later I tend to Shiro.
Let's organize the whole structure below:
Presentation layer/Control layer: SPRINGMVC, read/write separation in spring
Persistence layer: MyBatis
Database: MySQL, support master-slave replication, multi-machine backup
Caching mechanism: REDIS/MEMCACHE,CDN image cache, also supports hot backup, high concurrency
Static mechanism: Velocity
Safety Framework Spring Security
Search Engine: Lucene
Chinese word breaker: Ikanalyzer
Server: Linux
Middleware: Tomcat, Nginx, and other N-more installed indirect software to support cluster deployment, do not enumerate
Image server: Via Nginx, SFTP Unified upload
Cluster solution: Multi-machine tomcat,seesion Unified management, Picture Unified management. These require a set of solutions.
Server requirements: linux/windows,4g memory, Space 20G or more
Finally, the Java Domain Mall development, in fact, in PHP,. NET language, there have been a lot of mature similar products, such as SHOPNC, Ecshop and so on, but the logic of PHP is written in the foreground file, this is the logic in Java is written in the same JSP, this is easy to develop, but later two times development, maintenance is inconvenient. Other than that. NET language we all know, it is not open source, this I do not dare to use, which day you encounter a fatal bug, can not be cleared from the bottom, this is why banks, finance, e-commerce Many industries do not use this language reason.
In addition to Java development, in fact, if there is a good architecture, Java programmer only write logic, front-end only the front-end, database DBAs only focus on the DBA, so that the development will be very convenient. Our team has also spent a long time, but also borrowed a lot of mature framework, developed a set of architecture suitable for the development of the mall. Wait until later have the opportunity to open source to everybody.
Website: www.redpigmall.net, I qq:4407509, have a problem can contact me
Java multi-user marketplace system source code