proxy中间件引入使得RDS除了具备必要的高可用能力,还能实现更多的高级功能,包括读写分离,连接池,防SQL注入,防闪断等,这部分能力的获取是通过牺牲一定RT来获得的。实际上,中间件有两种模式,一种是client模式,一种是server模式,集团的TDDL和云上的Proxy就是两种典型代表。client模式要求与语言强绑定,比如TDDL中间件以jar包的模式打进用户的应用,只支持JAVA语言,这对于云上业务肯定是不可行的,毕竟现在用PHP,Python写后端的应用也非常多。另外一点是,client模式会导致连接数随着client的个数同比例增加,这带来的影响是到后端DB的连接数增加,client模式的好处是不用经过proxy这一跳,RT更好;而server模式则能有效控制到后端DB的连接数,但是整个链路增加了一层,也就增加了一层风险,Proxy自身的高可用也需要严格保证,确保整个链路的可用性。至于功能层面的,比如读写分离,连接池,防SQL注入等功能,两种都是可以实现的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。