当前位置:首页 > 知识库 > 正文

快手赞卡盟 -快手无限播放量免费 - 抖音直播人气软件

客服   快手赞卡盟 -快手无限播放量免费 - 抖音直播人气软件  第1张 拼多多砍价dy抖音ks快手 自助商城点击进入

应用拆分和协调

一个大型网站系统会有很多接口,把它们都塞进一个后端应用程序里是很不理智的行为。这样做的话,无论是在开发阶段还是运营阶段,都会存在很大的麻烦。因此网站的技术架构,后端应用程序需要拆分成独立的模块,拆分后端应用程序可以根据业务架构划分,如划分成用户模块和发布模块等。除了按功能划分以外,应用拆分还需要考虑权限分类(普通用户和管理员)及并发压力(高并发接口和普通接口)等因素。

拆分和整合后端应用程序很难在项目初期就一次性确定好,需要经常在开发过程中或者在调优过程中不断做调整。如果做好了前面强调的“限制函数调用层级”和“公共模块”,那么拆分或整合后端应用程序会变得非常简单,如图4.58所示。其中,公共模块是通用的,没有业务代码,接口迁移过去后可直接使用。

图4.58 对垂直切分的后端应用程序做接口拆分

从技术层面上讲,每个接口请求都是完全独立的,在拆分应用后网站的技术架构,后端应用程序可以正常运行在不同的Web应用服务器里。也就是说,从“正常运行”角度讲,后端应用程序之间可以不用考虑相互协调的问题。

不过,一般情况下,大部分的接口都需要做用户鉴权,而用户信息一般会记录在上节中介绍的Session当中。因此,我们需要做Session共享,而Session共享需要解决两个问题:

在同一个Web应用服务器(Tomcat)下,不同的后端应用程序共享Session。默认情况下,Session是不能跨后端应用程序使用的,所以需要通过设置让Session支持跨后端应用程序使用。

在不同的Web应用服务器下,后端应用程序共享Session。Session是被存储在Web应用服务器上的(Tomcat程序内),默认情况下,Session是不能跨Web应用服务器使用的。因此,需要设置一个共用的Session数据存储中心,一般使用Redis作为Session的存储中心。

以上这两个设置都只需要在后端应用程序的配置文件(默认是application.properites)中设置即可,无须在代码中做其他修改。配置文件中的设置如代码4.31所示,其中redis的连接IP和端口需要根据实际情况修改。

代码4.31配置文件中的Session相关设置

本文给大家讲解的内容是大型网站架构的技术细节:后端架构规整化应用拆分和协调

下篇文章给大家讲解的内容是大型网站架构的技术细节:后端架构规整化java日志框架

感谢大家的支持

发表评论

最新文章

推荐文章