问题:
近日,在pc端中需要开发一个新功能,因公司pc端是老系统,所有东西都在一个项目里,性能和扩展都不好,维护性也比较差,项目组就有了重构pc端的想法,但重构是一个费时费力的活,而且业务还在不端增长,这就有了一个矛盾,如果全身投入重构,那必定会耽搁业务,这是不允许的,但如果业务仍然在老系统里开发,那会使之后的重构难度越来越大,老系统也会越来越臃肿。由于我们app项目生产上已经在用springboot、dubbo的架构体系,而且pc端的很多功能和app端是一样的,对于后台来说,接口其实是可以共用的,所以想着把pc端进行前后端分离,后端接入springboot、dubbo的架构体系,使公司整体项目实现服务化,而不是之前的各管各的一套。
解决思路:
前端静态页面nginx部署,老系统pc端就做个入口跳转到静态页面,然后静态页面对接springboot、dubbo的架构体系,这样慢慢的将pc端老系统迁入到服务化架构体系中。
这样的架构,session就变成了限制因素,由于我们pc端老系统,静态页面nginx部署以及app端,采用的是不同的二级域名,但都是在同一个一级域名下,这也就让cookie共享成为可能。
代码:
pc端:
nginx配置:
服务化平台接口层:
按照上面的设置,cookie就可以共享,session可以用redis方案解决。