按照分层的设计理念,互联网应用一般分为多个层
- 接入层:一般是负载均衡器或者Nginx,是流量的入口,按照特定的规则,转发流量到内部服务器。
- web层:用户登录的验证、鉴权等,和具体的业务解耦,业务实现则由服务层完成。一般的原则是:web层不依赖于数据库。Tips:在前后端分离的开发模式下,web层的项目,可以用nodejs开发,由前端工程师维护;也可以采用的后端技术栈开发,由后端工程师维护。我们团队采用的是后者,web层的项目由SpringBoot技术开发。
- 服务层:根据业务实际,划分成多个独立的服务,每个服务独立承担一项业务职责。
当然还有数据层、缓存层等,因为和此文章无关,不做详细描述。
![f6fa9a56a595b389bac63f385f0efef0.png](https://i-blog.csdnimg.cn/blog_migrate/d85294b4a26ccd895dc9bf08f6f3c591.jpeg)
图1 - 互联网应用分层架构
从这个部署架构图上可知,浏览器的所有接口访问请求,都需要通过web层的转发,才能调用到内部的具体业务实现。
web层调用内部的业务接口,主要有两种实现的方案
方案一:单独实现。对浏览器提供的每一个接口,在web层中定义controller,组装参数后调用服务层的接口,然后把结果返回给浏览器。
- 优