微服务、API 网关、集中中心,这些都会遇到耦合的设计,在不同场景下,耦合级别会有什么样的差别?
可以举两个例子,一个是服务注册发现,一个是 API 网关。
服务注册发现只是将服务名称和物理 IP 地址强绑定,通过建立一层抽象映射给它解耦开来。这是我们认为比较合理的方式。
而 API 网关,理想的情况下,我们应该只是做一些横切层的处理,比如说是做一些 API 认证、授权、限流这样的功能。
但是在现实生活中,人们往往会往 API 网关中添加太多职责。其中的驱力动往往是一些厂商为了去卖自己的 API 网关产品,往往把 API 网关的功能做的很强大,甚至包含了智能路由业务逻辑编排等。这可能会引诱开发团队,把更多的业务逻辑和代码放到 API 网关里实现,形成对 API 网关产品的锁定。
这个时候就形成了我们说的一个反模式,叫做 Over ambitious API Gateway,它其实反而会增加复杂度带来不必要的耦合。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。