背景
目前我们组开发的所有官网咨询类项目,开发方式全部是采用调用后端Java RestfulApi接口,然后ajax渲染页面,这种开发方式就功能而言,是没有任何问题的,但在SEO这方面,ajax不是很友好,又因为是官网这种性质的网站,SEO无可避免的会被提及,所以目前考虑的技术方案是既要保证在满足解决SEO的大前提下,又不会破坏我们目前的开发方式,对我们开发模式影响降到最低,发挥前后端开发人员的开发效率
解决方案
在希望前后端开发模式变动很小的前提下,引入nodejs技术,前端负责URL Design,并写路由控制,原来ajax异步调用的方式,多加一层MVC层中的C层代码,访问方式变成同步访问
前端的同学们现在要开始学习nodejs了!!!
以后官网的开发基本都会走这种开发模式,wap、微信类还是可以继续保留老的方式,不走nodejs
示例
技术架构
设计架构图如下:
Nginx:web服务器
Node1: 前端nodejs应用服务器,通过nginx负载均衡,可以代理多台nodejs应用
Java Restful Api:Java后端接口服务器,前端nodejs调用接口获取数据
Redis:后期用到,所有session会话存入session,前端获取用户资料不在从Java接口获取,而是直接调用Redis获取当前会话值,Java后端提供接口供node接口调用将用户session值存入Redis数据库中
技术参考
下面几篇博客很有参考意义,大家可以看下
7.关于大型网站技术演进的思考(十四)–网站静态化处理—前后端分离—上(6)
8.关于大型网站技术演进的思考(十五)–网站静态化处理—前后端分离—中(7)