学成在线第6天讲义-页面发布课程管理1页面发布1.1技术方案本项目使用MQ实现页面发布的技术方案如下:技术方案说明:1、平台包括多个站点,页面归属不同的站点。2、发布一个页面应将该页面发布到所属站点的服务器上。3、每个站点服务部署cmsclient程序,并与交换机绑定,绑定时指定站点Id为routingKey。指定站点id为routingKey就可以实现cmsclient只能接收到所属站点的页面发布消息。4、页面发布程序向MQ发布消息时指定页面所属站点Id为routingKey,将该页面发布到它所在服务器上的cmsclient。路由模式分析如下:发布一个页面,需发布到该页面所属的每个站点服务器,其它站点服务器不发布。比如:发布一个门户的页面,需要发布到每个门户服务器上,而用户中心服务器则不需要发布。所以本项目采用routing模式,用站点id作为routingKey,这样就可以匹配页面只发布到所属的站点服务器上。北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090页面发布流程图如下:1、前端请求cms执行页面发布。2、cms执行静态化程序生成html文件。3、cms将html文件存储到GridFS中。4、cms向MQ发送页面发布消息5、MQ将页面发布消息通知给CmsClient6、CmsClient从GridFS中下载html文件7、CmsClient将html保存到所在服务器指定目录1.2页面发布消费方1.2.1需求分析功能分析:创建CmsClient工程作为页面发布消费方,将CmsClient部署在多个服务器上,它负责接收到页面发布的消息后从GridFS中下载文件在本地保存。需求如下:1、将cmsClient部署在服务器,配置队列名称和站点ID。2、cmsClient连接RabbitMQ并监听各自的“页面发布队列”3、cmsClient接收页面发布队列的消息4、根据消息中的页面id从mongodb数据库下载页面到本地北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090调用dao查询页面信息,获取到页面的物理路径,调用dao查询站点信息,得到站点的物理路径页面物理路径=站点物理路径+页面物理路径+页面名称。从GridFS查询静态文件内容,将静态文件内容保存到页面物理路径下。1.2.2创建CmsClient工程1、创建maven工程pom.xml
xc‐framework‐parentcom.x...