我理解中的SLB最大的几个问题
最近云服务器打折,所以一口气买了十几台,打算把公司的相关的业务转移到SLB上。
但是昨天看了SLB的产品经理的集中答复之后,我觉得SLB的易用性还是存在很大的问题。
我觉得基于HTTP协议或者HTTPS协议的应用在SLB上给我的感觉是,只能搞个静态网站。
我为什么会这样觉得?首先,既然上了SLB那肯定就要用OSS和RDS了,否则附件和数据库连接是个大问题,这个我能接受,花点钱也没什么。
SLB会给你分配一个公网IP,你的域名解析到公网IP上,他进行转发到后端服务器,那么这个环节我的应用就出现了大问题,因为我的应用是需要上传文件的,而且文件比较大,20-50M,这些文件存在OSS,但是存入OSS的前提是,先上传到服务器,上传到服务器的前提是,大文件要分块上传然后合并成目标文件。
但是问题来了,SLB有可能会把分块上传请求给转发到不同的后端服务器,那么最后文件块散落在不同的后端上,如何拼合?(SLB的产品经理和工单回复已经明确说不支持分块上传)
我目前规划的解决方案是:买一台0带宽服务器,不入SLB,然后这个服务器配置成iSCSI存储服务器,然后所有的SLB里的后端服务器挂载存储服务器作为一个虚拟磁盘,并且使用统一的盘符。所有的临时分块文件存在虚拟磁盘里,然后拼合的时候从虚拟磁盘拼合并上传OSS。
我遇到的第二个问题,我的应用(WEB)需要请求外部数据的,但是问题来了,SLB只将统一请求分别转发,而内部的ECS出口走的是ECS本身的公网带宽,看懂了吗?也就是说SLB只管入,不管出。这样的话直接结果就是,你买了一大堆0带宽的后端服务器,却无法向外部请求一个天气预报的数据。
我目前能想到的解决方案是:SLB里至少一台服务器要有公网带宽,然后这个服务器做个VPN,其他后端服务器拨入这台有公网带宽的ECS,并且能够通过他向外请求数据,因为走的是隧道协议,应该是能通外网的,具体是没实施,只是构想。
所以我才说,SLB只是为基于端口的应用或静态网站或简单WEB应用准备的东西,至少很多东西它自己还没想透彻。SLB很美好,但是没有一定的技术能力,这个东西就永远也普及不开。还剩下一大堆的问题,反馈了半年的问题,也只是说考虑而不是尽快去实现。逼着大家都去自己研究变通方法,相比于阿里云其他的产品迭代速度,SLB明显落后很多。
-------------------------
-------------------------
引用第1楼mayle于2015-01-31 11:58发表的 :
第一个问题确实存在,其实主要是因为OSS机制不完善造成的,不然可以直接上传到OSS即可。如果你上传是保持一个长连接传,那让SLB保持会话就可以了,应该不会传到不同的后端ECS上
-------------------------
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。