感觉api网关的功能和springmvc的controller的功能差不多啊nginx+controller所在服务的集群可以负载均衡controller可以实现登录和权限控制controller可以实现服务路由
2 回答
临摹微笑
TA贡献1982条经验 获得超2个赞
我的理解是网关的目标是将权限控制,路由,负载均衡等所有的与业务开发无关的部分提炼出来。我们通常用spring开发java应用,在单应用的时代网关和业务代码杂糅在一起,问题不大。但是在分布式业务开发的场景下,我们的应用通常会部署在不同机房不同的机器上,每个应用可能会存在成百甚至上千的实例。这时候如果再将网关和应用绑定,二者之间的强耦合可能会大大降低应用的可维护性,比如网关的升级可能需要所有的应用实例也同时更新,这样明显非常不方便。因此我们会专门将网关部分的业务提炼出来,单独管理,单独维护。springcloud也有自己的网关实现,可以看看
慕斯709654
TA贡献1840条经验 获得超5个赞
controller确实可以做登录和鉴权,其次更主要的是业务逻辑但是如果有api网关的话,登录和鉴权可以放到网关层来做,controller只负责具体业务逻辑,有利于代码分层隔离。也有利于解耦
添加回答
举报
0/150
提交
取消