分布式页面静态化

为什么要做页面静态化?
提高页面的响应速度。


可以做页面静态化的情况:
1、页面并发高
2、页面数据不会频繁改变


页面静态化相关数据库设计

1、Nginx站点表
2、页面模板信息表
3、页面静态化日志表(每生成一次都要记录)


业务流程:

页面静态化微服务:1、模板的CRUD。2、页面静态化
1、添加模板:向Fastdfs上传模板,同时添加页面到数据库。
2、微服务:页面数据发生改变触发页面静态化,查询数据,存储到Redis,
把Redis的key和t_pager作为参数,调用页面静态化微服务。
3、页面静态化微服务:获取到t_pager的name找到t_pager对象,找到模板路径下载模板。
根据Redis数据的key获取数据。
4、模板和数据都拿到,使用模板引擎合并模板,输出html,将html上传到Fastdfs。
5、html需要自动输出到Nginx。页面数据需要关联(Nginx)站点域名和站点的物理路径。
将html输出到Nginx流程:在Nginx端写一个代理微服务,页面静态化微服务MQ(routingkey为站点名)发消息给Nginx代理微服务,消息包含站点物理路径以及html在Fastdfs下载路径
6、Nginx代理微服务监听MQ,拿到消息从Fastdfs下载html,把html拷贝到Nginx对应的物理路径。


使用RabbitMQ的原因
1、页面静态化微服务和Nginx部署在不同的地方,Java代码无法直接将文件写过去,所以需要使用中间服务器。
2、前台站点不止一个,也就是Nginx不止一个,RabbitMq可以让消息发送到指定的Nginx代理微服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值