欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从一个简单的网站解说现最流行的构架

程序员文章站 2022-03-02 16:33:19
...

        本人JAVA工程师一枚,最近帮深圳一个公司写了一个深圳废品回收www.xfhuishou.cn的网站。有兴趣的可以去看看,网站,http://www.xfhuishou.cn/ ,当然有移动版www.xfhuishou.cn的.
       言归正传,先说说这个网站的构架吧,网站选用了现最流行的springMVC,MONGODB,REDIS,nginx ,一个企业简单的网站,就需要用最轻量的免费框架。SPRING MVC不用多说,简单易用,MONGODB我使用了morphia框架,API一样简单易用。有人说为什么用nginx,企业网站这点流量,没必要吧。其实,这个企业网站流量确实不是挑战,使用它,只要是它放在我自己的服务器上,而这个服务器上面放了几个其他企业的网站,这样,我可以使用它的反向代理功能配置不同URL映射到不同企业网站去

         还有,REDIS其实也不是必要的,毕竟流量那么小,没必要用CACHE.本人用CACHE,只要用REDIS自己实现了自己的SESSION,当然一个TOMCAT这样用有装B的嫌疑.其实程序员就是要我装装B才能进步嘛

当然,小网站大家多会开发,但如果流量上来了,怎么解决才是重点。其实这套架构很容易拓展。在服务层再加一个DUBBO,服务化。因为一个请求响应,大部分压力都在数据库层,服务化以后,可以部署多个服务层的应用。然后就是重要数据CACHE,REDIS就很好用,特别是它的原子性操作,用来做分布式锁也是不错的,我自己在DAO上实现了一个可缓存的CACHE层,底层是用REDIS。再加上NIGINX的反向代理功能,把请求分发到不同的应用服务器上去,解决流量大的问题。其实,CACHE很好解决N+1搜索的问题,尽量不要关联表,先把一个表的结果搜索出来,然后关联的数据到CACHE去找,性能会好很多。

       当然,流量大的以后,后面面对的问题就是数据量大,MONGODB某些文档表应该加索引的还是要加索引,但要知道,索引不要乱加,乱码也没用,毕竟MONGODB每次查询只能使用一个索引,MONGODB的自动分表功能也挻好用的,只要内存够大,用起来还是很爽。 

      深圳废品回收www.xfhuishou.cn