JAVA multi-user mall system source code, java multi-user source code
Recently, the company was engaged in a mall, which asked me to consult from multiple parties. I finally read a lot, either because the code is not fully annotated, the bug is too large, or the document is missing. Finally, I decided to develop a mall by myself.
The following are some experiences of development. You can record them and record them for yourself.
Website: www.redpigmall.net. QQ: 4407509. If you have any questions, contact me.
We have been engaged in e-commerce-related and Internet Financial Development and processed hundreds of millions of data records. Therefore, this company is currently focusing on this issue.
As JAVA is open-source, hadoop and other open-source products have become more and more mature in recent years and are based on JAVA, the final background development language of JAVA is selected, now, the front-end is the JS written by the front-end engineer. Later, the preparation is changed to PHP, And the GO language is used in the middle. The back-end server is JAVA, because PHP is very powerful in front-end writing, but this is also later.
In addition, the struts series, spring Series, jsp/freemarker/velocity and so on in JAVA are all very good, but at present, we mainly need to quickly develop and complete functions, so SpringMVC is selected currently, the ORM chooses mybatis, because the online evaluation of velocity is good, and it is mainly convenient for development, so it is selected first.
In addition, lucene is recommended for search, because it is convenient for development and encapsulation. The permission framework currently uses springSecurity. Because the team is familiar with security, I prefer shiro later.
Let's sort out the entire architecture:
Display Layer/control layer: springMVC, read/write separation in spring
Persistent layer: mybatis
Database: mysql, supporting master-slave replication and multi-host backup
Cache Mechanism: redis/memcache, CDN image cache, also supports hot backup, high concurrency
Static mechanism: velocity
Security Framework spring security
Search engine: Lucene
Chinese Word Segmentation: IKAnalyzer
Server: linux
Middleware: tomcat, nginx, and other indirect software that supports cluster deployment N are not listed one by one.
Image server: Unified upload through nginx and SFTP
Cluster solution: multi-host tomcat, unified seesion management, and unified picture management. These require a set of solutions.
Server Requirements: linux/windows, 4 GB memory, 20 GB or more
Finally, the development of JAVA marketplace is in fact in PHP ,. NET language, there are already many mature similar products, such as shopnc and ecshop, but PHP logic is written in front-end files, this is the same as the logic in JAVA written in JSP. Although it is easy to develop, it is inconvenient for secondary development and maintenance in the later stage. In addition. everyone knows about the NET language. It is not open-source. I don't think it can be used. If you encounter a fatal bug one day, you won't be able to troubleshoot it from the bottom layer, this is why many industries such as banking, finance, and e-commerce do not use this language.
In addition, for JAVA Development, if there is a good architecture, JAVA programmers only write logic, the front end only writes the front end, and the database DBA only pays attention to the DBA. In this way, the development will be very convenient. Our team has also spent a long time, drawing on a lot of mature frameworks, and developed a set of architectures suitable for mall development. In the future, we will have the opportunity to open the source to everyone.
Website: www.redpigmall.net. QQ: 4407509. If you have any questions, contact me.