开发者社区> 问答> 正文

我理解中的SLB最大的几个问题

我理解中的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明显落后很多。





展开
收起
lxepoo 2015-01-31 11:51:19 10740 0
5 条回答
写回答
取消 提交回答
  • 回5楼lxepoo的帖子
    嗯,你的这个问题,和SLB不支持FTP协议是一个道理;
    你的多次上传都是独立的请求,不是一个长连接,所以SLB识别不了你这100次请求其实是做的同一件事~

    -------------------------

    Re我理解中的SLB最大的几个问题
    楼主有研发能力,那么上传大文件到OSS为何不直传OSS,而要通过ECS转发呢?

    -------------------------

    回8楼lxepoo的帖子
    OSS早已支持web端直传OSS啊,你研究一下post方式
    呵呵
    2015-02-03 21:14:46
    赞同 展开评论 打赏
  • 成都瑞小博科技有限公司 www.rippletek.com
    Re我理解中的SLB最大的几个问题
    阿里云的SLB本身技术上已非常成熟,配合RDS和OSS,可以构建出各种高可用的的webapp。具体可以看一下:
    http://bbs.aliyun.com/read/179606.html?spm=5176.7189909.0.0.qFN0Du

    如果不想让同一个终端上传的文件被分块到不同的后端服务器,打开SLB的会话保持功能就OK了。
    2015-02-02 14:06:44
    赞同 展开评论 打赏
  • mai
    Re我理解中的SLB最大的几个问题
    引用第1楼mayle于2015-01-31 11:58发表的  :
    第一个问题确实存在,其实主要是因为OSS机制不完善造成的,不然可以直接上传到OSS即可。如果你上传是保持一个长连接传,那让SLB保持会话就可以了,应该不会传到不同的后端ECS上




    这个顶多就是%95可能成功 如果一台ECS突然挂掉了,SLB他不还得自动转到其他ECS上
    2015-01-31 22:42:34
    赞同 展开评论 打赏
  • 回1楼mayle的帖子
    好,我去申请VPC看下,谢谢您。

    -------------------------

    回4楼rippletek的帖子
    SLB的产品经理都说不支持分块上传了,这个和是否保持回话应该没多大关系,一个文件100M,每个块1M,也就是说,上传需要请求100次,又不是长连接,你如何保证每个块都在一个后端服务器上?

    -------------------------

    回7楼云立方的帖子
    只能说,上传到OSS的前提是,先到ECS,WEB客户端没办法直接上传到OSS的,OSS机制决定的。所以没办法直传OSS的,又不是七牛,没有这功能。
    2015-01-31 12:03:29
    赞同 展开评论 打赏
  • 第一个问题确实存在,其实主要是因为OSS机制不完善造成的,不然可以直接上传到OSS即可。如果你上传是保持一个长连接传,那让SLB保持会话就可以了,应该不会传到不同的后端ECS上

    至于第二个问题,就属于你理解偏差了,按你那个说法,你需要的是VPC,SLB只是一个负载分发服务,负载分发本就是处理进入的流量而已,阿里云的VPC已经内测了,VPC具备完整SLB功能的基础上还有很多更高级的东西,你可以提个工单测试下
    2015-01-31 11:58:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《应用型负载均衡ALB产品解读》 立即下载
阿里云网络-SLB负载均衡产品介绍 立即下载
负载均衡SLB热点问题解答 立即下载