V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
youyoumarco
V2EX  ›  DevOps

初创公司 web 服务器组建问题,请教

  •  
  •   youyoumarco · 2015-07-08 15:36:26 +08:00 · 6740 次点击
    这是一个创建于 3425 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司属于初创公司,所以在财力方面比较在乎,但是最近想上线web服务器,初期考虑到网站的访问量可能不会很高,所以暂时决定高买两台服务器,主要考虑到以下问题:安全问题,就是web和数据库分离,但是要动静分离的话是不是只能nginx+tomcat在一台服务器,数据库安装到另一台服务器。那如果要考虑数据库高可用的话,在现有的情况下怎样做能达到相对好的效果?
    请各位伟大的V友支招啊,小弟不胜感激~~

    30 条回复    2015-07-13 10:58:59 +08:00
    davidyang013
        1
    davidyang013  
       2015-07-08 15:44:05 +08:00   ❤️ 1
    如果考虑高可用和成本的话,可以直接用云,AWS就很好。
    holyzhou
        2
    holyzhou  
       2015-07-08 15:45:27 +08:00
    没量的不要自己卖服务器,用用国内的云好了
    maemual
        3
    maemual  
       2015-07-08 15:46:54 +08:00
    1、初创公司的话,建议上云。AWS、青云或者阿里云之类的。
    2、你提的安全问题,动静分离,说实话不清楚你在担心什么。
    3、数据库高可用,网站规模不大就不要想太多了。或者直接使用这些云提供的数据库服务。
    hylent
        4
    hylent  
       2015-07-08 15:48:11 +08:00
    用云服务器比自己买成本低
    只有两台服务器 还要高可用。。 要不试试虚拟化技术?
    youyoumarco
        5
    youyoumarco  
    OP
       2015-07-08 16:06:41 +08:00
    @davidyang013 @holyzhou @hylent 现在已经买了两台阿里云服务器,决定上云了,但是程序员那边建议不采用云数据库
    @maemual 动静分离的话考虑一下服务器的压力,因为图片比较多,怕tomcat撑不住,所以想nginx来处理静态的资源,tomcat负责静态的资源
    不知道我这样安排是否合理。还请各位指教。
    maemual
        6
    maemual  
       2015-07-08 16:10:15 +08:00
    @youyoumarco 嗯,一般情况下确实不推荐使用云数据库,除非你非要强调高可用。
    nginx+tomcat,本来就是让 nginx 处理静态资源,很符合实际的做法。不知道有啥问题?
    youyoumarco
        7
    youyoumarco  
    OP
       2015-07-08 16:16:13 +08:00
    @all 感谢大家
    hylent
        8
    hylent  
       2015-07-08 16:16:59 +08:00
    静态资源的话 可以考虑cdn啊
    如果你自己的服务器内存可以的话 可以考虑使用varnish缓存静态资源 不过这个会受到带宽的限制吧
    welsmann
        9
    welsmann  
       2015-07-08 16:18:31 +08:00
    静态资源丢CDN撒,服务器能有多大带宽啊,图片这种耗带宽的资源果断走CDN
    neoblackcap
        10
    neoblackcap  
       2015-07-08 16:36:02 +08:00
    业务量不大也要考虑高可用?
    我给的建议是头有多大就戴多大的帽子,高可用有高可用要付出的代价,你们确定要给了吗?不是说你上了云就可以了,有机房光纤被挖的,这个时候要异地容灾。
    不过我没用过云数据库,若是有用过的童鞋,我想问问云数据库是不是跨机房的?我的意思是云服务商是不是跨区域组网,要不然还是得容灾啊
    chendao
        11
    chendao  
       2015-07-08 16:46:26 +08:00 via Android
    呵呵
    langker
        12
    langker  
       2015-07-08 16:57:24 +08:00
    同意楼上观点建议用云,我们之前部署的也是直接买的阿里云的服务器;楼上提到的云服务商可能得看具体的了,每家情况都不一样,之前是用 MONGOLAB.
    FifiLyu
        13
    FifiLyu  
       2015-07-08 17:00:46 +08:00
    只有两台服务器,搞高可用和动静分离毫无意义。

    初步设想:
    数据库+静态文件 放在服务器A。nginx处理静态文件请求。比如img.abc.com 之类的
    动态文件 放在服务器B,tomcat处理动态文件。比如www.abc.com/test.jsp 之类的

    建议暂时不做高可用,这样非常合适了。


    如果只有两台服务器,还要做web高可用、数据库高可用,而且相互之间交叉放在AB上,会带来很多运维风险。一定要三思!


    为什么数据库不要放在云?因为会带来额外的风险,比如云服务商硬盘故障、网络故障、各种故障。
    至少从我的经验来看,现在大部分云现在是不可靠的,不稳定的。
    FifiLyu
        14
    FifiLyu  
       2015-07-08 17:02:32 +08:00
    所有数据要备份!数据要备份!要备份!
    重要的事情说三次!
    alansalexer
        15
    alansalexer  
       2015-07-08 17:52:13 +08:00
    @maemual 可以说下为什么不建议用云数据库吗?谢谢
    beneo
        16
    beneo  
       2015-07-08 17:56:41 +08:00
    三个字,阿里云
    beneo
        17
    beneo  
       2015-07-08 17:57:33 +08:00
    阿里云,一万块一年,够了。这点钱都没有还创个毛
    catface
        18
    catface  
       2015-07-08 17:59:28 +08:00
    @FifiLyu 数据怎么备份比较好呢?
    boter
        19
    boter  
       2015-07-08 23:46:46 +08:00 via iPad
    额,知乎都用的AWS,现在很少自己买服务器了吧
    realpg
        20
    realpg  
       2015-07-08 23:55:51 +08:00
    为了安全问题而把web和数据库放到不同的物理机里
    好吧,为什么不是ops好好做策略保证安全性,程序员好好写程序避免出现漏洞呢?

    另外,你说的程序员不建议用云数据库,论据呢?
    vibbow
        21
    vibbow  
       2015-07-09 04:22:58 +08:00
    珍爱生命,远离阿里云。
    xingtian
        22
    xingtian  
       2015-07-09 05:11:27 +08:00
    那些介绍你购买阿里云的那些人很多是他们的员工或者是他们的水军出来瞎宣传,那些所谓的云服务器价格贵不说,硬盘的读写速度慢,带宽死贵不说,还动不动出问题,还不如去购买一台VPS呢,阿里云那些东西吹牛逼跟你说是云服务器。其实他们都不是云服务器,说白了就是拿一台vps以云服务器的幌子高价出售给你们,忽悠你们一群小白
    jsthon
        23
    jsthon  
       2015-07-09 08:00:58 +08:00 via Android   ❤️ 1
    青云 或 Windows Azure CN

    弄个正经点的备案,妥妥的
    jsthon
        24
    jsthon  
       2015-07-09 08:11:05 +08:00 via Android   ❤️ 1
    虽然阿里云网络速度的确快,但对用户来说云ECS和VPS没什么两样,计费不灵活,以 月/年 为单位计费,稳定性来说,和VPS差不多,该故障的时候还是得故障,对了,还要忍受那SD卡般的I/O,新上市了SSD没有用过,不作评论。
    FifiLyu
        25
    FifiLyu  
       2015-07-09 08:59:08 +08:00
    @catface
    一般都是用linux+rsync 或 windows+cwrsync 做文件增量备份。
    数据库可以做主从,做实时数据库备份。固定时间在从库dump一次db全库,结合bin日志,做增量备份。
    publicID001
        26
    publicID001  
       2015-07-09 09:37:44 +08:00 via Android
    不要用阿里云!不要用阿里云!不要用阿里云!

    很重要所以说三次
    阿里云非 SSD 机器的 IO 性能差得惊人(我司用 Mongo 几乎天天报警)
    SSD 机器死贵
    不支持热升级到带 SSD 的机器
    单机 SSD 最大只能 1TB
    简单说就是各种问题,各种不灵活,根本配不上云服务器这个名称
    inter
        27
    inter  
       2015-07-09 09:39:32 +08:00
    @FifiLyu 云数据库这些常见问题扛不住还玩个毛。别人家我没用过,但是阿里云rds只要光纤不断,ha方案是有的
    FifiLyu
        28
    FifiLyu  
       2015-07-09 09:47:22 +08:00   ❤️ 1
    @inter 你没遇见不代表没有。用云出现故障的几率个人感觉是大于自己上托管服务器的。
    当然,前提是有好的运维。云无非就是省掉大部分运维风险和请运维的钱钱!

    不可能仅仅因为要用数据库专门请运维。已经有运维,当然自己上托管。真心话!
    loveminds
        29
    loveminds  
       2015-07-11 19:42:24 +08:00
    @boter AWS北京还好吧,光环新网的线路
    inter
        30
    inter  
       2015-07-13 10:58:59 +08:00
    @FifiLyu 这个要看服务商的。找个不靠谱的服务商,比如像我几年前前用的盛大云,丫比托管累多了。但是找到靠谱的,还是能替你做很多事情的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3641 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:18 · PVG 18:18 · LAX 02:18 · JFK 05:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.