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

新手想建个 B2C 站,可能上万并发,求经验。

  •  
  •   benmaowang · 2015-08-28 23:46:56 +08:00 · 7655 次点击
    这是一个创建于 3358 天前的主题,其中的信息可能已经有所发展或是发生改变。
    帮朋友做的。需求很简单,就一件商品,顶多有几个颜色之类的属性可选,用户选好后可以支付宝、微信在线支付。后台要能管理商品和订单。不需要发货,所以无需管理物流状态。
    这种需求基于哪种开源项目开发比较方便?如果要外包的话大概什么价位?要是不贵那就直接建议他找外包好了,我不是这行的估计强行上马也做不好。可能会有人推荐淘宝开店卖商品,这个不是太适合。

    另外,可能每个月有那么几天会高并发(运气好时,并不一定有),其余时间大多空闲,这样的情况用什么云服务比较划算?能撑住峰值上万并发,最少需要什么样的服务器资源?

    还有,电商网站备案跟一般企业网站有没什么不一样的地方?
    第 1 条附言  ·  2015-08-29 08:32:22 +08:00
    大家想复杂了。。。我承认这个标题有点骇人听闻了,其实没什么严重。
    打个比方,就好比我要卖一款手机,只有两个颜色可选,每年只卖一次,开卖那几小时内可能会高并发,之后就闲置一年。
    跟这场景是类似的,并不是真的时时有上万并发。而且也不重要,如果成本太高就算了,体验不好而已,不影响销售。
    不提并发的话,这个需求真的很复杂吗?朋友也是问了别人报价都是几十万、百万的报,当时就吓晕了。于是作为好朋友我想帮他一下,毕竟我也个“搞电脑的”(在他眼里),当然是自带干粮帮忙,现在他还是土作坊没什么钱,真的哪天发达了我再去抱大腿。。。
    用 zencart 、 opencart 、 magento 等来改方便吗?哪个坑少?
    第 2 条附言  ·  2015-08-29 21:28:37 +08:00
    感谢大家的热心解答。感觉大有收获。特别鸣谢 @realpg !
    61 条回复    2016-04-05 13:57:05 +08:00
    SquirrelMAN
        1
    SquirrelMAN  
       2015-08-28 23:48:42 +08:00
    上万并发。。。
    yexm0
        2
    yexm0  
       2015-08-29 00:03:47 +08:00
    这个网站肯定很出名.
    ipconfiger
        3
    ipconfiger  
       2015-08-29 00:14:28 +08:00   ❤️ 2
    每秒上万的 connection ,按照每个请求在 5 秒内处理完成,那么每秒要处理 2000 个请求,这个当成每日的峰值来计算的话,每日按照 16 个小时,峰值 1 个小时, 50%压力 7 个小时, 20%压力闲时 8 小时计算,每日 pv 约等于 5KW 的样子, 已经是个不小的站了,估计拿投资不成问题
    quella
        4
    quella  
       2015-08-29 00:15:20 +08:00
    10000/秒 还是? 如果是每秒那还真有点麻烦的,如果资金充足也不是不行的。
    kchum
        5
    kchum  
       2015-08-29 00:16:19 +08:00 via iPhone
    先能撑到 10000 PV 再到 10000 IP ,再说吧
    这个距离 10000 并发还远着呢
    manhere
        6
    manhere  
       2015-08-29 00:21:08 +08:00   ❤️ 1
    听描述应该是灰色收入;既然 SPU 少就几个种类产品,就做几个定额支付按钮跳转到支付平台就行了,完全可以不用什么电商系统。
    fkbd
        7
    fkbd  
       2015-08-29 00:21:16 +08:00
    要 B2 备案的 上万并发。靠谱的外包加后期维护的价格 1000k 左右,我只是估价,不敢接。
    x86
        8
    x86  
       2015-08-29 00:24:05 +08:00
    「帮朋友做的。需求很简单」 ... 朋友给了你几百?
    arnofeng
        9
    arnofeng  
       2015-08-29 00:30:56 +08:00 via iPad
    每次听到特别简单 我就很想吗 然后看到我不是这行的 呵呵
    arnofeng
        10
    arnofeng  
       2015-08-29 00:31:11 +08:00 via iPad
    @arnofeng 骂 打错
    PHPwind
        11
    PHPwind  
       2015-08-29 01:27:31 +08:00 via iPhone
    楼主连基本东西都不清楚就想建阿里巴巴
    lightforce
        12
    lightforce  
       2015-08-29 02:33:48 +08:00
    眼高手低的货
    msg7086
        13
    msg7086  
       2015-08-29 03:32:22 +08:00
    区区一百万楼主的朋友应该还是能出得起的吧。
    pubby
        14
    pubby  
       2015-08-29 04:47:37 +08:00
    个人经验
    ssd mysql
    memcache
    3 台跑 golang 写的简单业务逻辑(之前用 php 的话机器数量还得乘 x10 )
    CDN 静态资源
    日 pv 3KW

    楼主的问题不是简单开源代码拿过来改改就能搞定的。
    qiayue
        15
    qiayue  
       2015-08-29 07:54:00 +08:00
    楼主是不是想说的是每天上万访问
    imnpc
        16
    imnpc  
       2015-08-29 07:55:14 +08:00
    ecshop 吧 简单易用 加上 CDN
    benmaowang
        17
    benmaowang  
    OP
       2015-08-29 08:38:15 +08:00
    @ipconfiger
    @pubby
    @quella
    多谢分析。不过没这么严重。就是每个月只有一两个小时可能会有几万 IP ,平时的 PV 几乎为 0 。
    benmaowang
        18
    benmaowang  
    OP
       2015-08-29 08:39:32 +08:00
    @qiayue 不是每天。是集中在每个月的某一两个小时。
    benmaowang
        19
    benmaowang  
    OP
       2015-08-29 08:39:55 +08:00
    @imnpc 谢谢。这个也准备试下。
    boter
        20
    boter  
       2015-08-29 08:47:31 +08:00
    额,这是伪需求吧,你还是直接开个淘宝店吧,
    mclxly
        21
    mclxly  
       2015-08-29 08:52:34 +08:00   ❤️ 1
    如果真的只是销售一件商品,网站前后台 5w ,调优(高并发) 5w 。

    这种需求用 zencart 、 opencart 、 magento 这些太笨重,直接用 web 框架二次开发。
    nevin47
        22
    nevin47  
       2015-08-29 09:02:14 +08:00
    难道是买美版港版手机的?
    zado
        23
    zado  
       2015-08-29 09:05:11 +08:00   ❤️ 1
    服务器的话,我觉得选青云非常合适。不过青云也比最开始时慢了,可能是用户多了的缘故。
    gamexg
        24
    gamexg  
       2015-08-29 09:09:24 +08:00   ❤️ 1
    楼主想要简单的?
    楼主直接弄个静态的企业网站,付款走支付宝接口,订单信息直接备注到支付宝付款信息里面。客户下订单时网站别维护订单信息,订单信息用支付宝管理。
    这样前台部分就完全是静态内容了,多机负载均衡、 CDN 都好处理些。

    对了,有用过 SAE 之类的云服务的吗?感觉这种需求扔给 SAE 之类的更合适。
    realpg
        25
    realpg  
       2015-08-29 09:21:17 +08:00   ❤️ 8
    做过三次这种项目。

    1.卖产品的类似小米那种,不过一年抢购一两次的,不抢购期人都没有。
    2.上大学时候给学校改的选课系统,一年两次几万并发整站崩溃,平时访问量 0 。
    3.跟大型电商对接的他们导入流量我们抢购产品的一个系统。有活动就一堆人薅羊毛,没活动都没人来。

    对于这种项目给你建议是:
    二次开发就算了,那些重型商城扛不住这么高的访问量,必须一次开发否则都不匹配这种场景。找个轻量框架直接开发往死里优化就行了。

    架构上:
    现在有云服务,这是很大的优势,以前搞这玩意才头疼。
    反正就几个小时,以阿里云为例,买一个最低配的机器,买一个最低配的 RDS ,然后上个 redis 做缓存做队列,把结构搭起来。

    然后等快开抢的几个小时时候,按小时付费买十台服务器,一个负载均衡,买一个内存 48G 的 RDS , REDIS 买大容量,布置一个集群顶住这几个小时

    结束后,直接把数据 dump 出来或者订单导出 EXCEL ,恢复到平时的最低配机器维持网站存在就行了……

    程序逻辑上,如果想进一步降低硬件需求,可考虑 node.js 什么的做异步通知结果的,甚至做队列做排队反正不实时的结合缓存就能降低很多硬件需求了。

    做这个 如果数据库优化好,缓存用得好,难度并不大。
    wy315700
        26
    wy315700  
       2015-08-29 09:25:20 +08:00
    这个问题的难点在并发一万,而不是商城。
    em70
        27
    em70  
       2015-08-29 09:25:26 +08:00 via Android
    被媒体各种创业英雄报道给毒害了,动不动把自己想成武侠小说的主角。网站建设都是小事情,你从来没考虑推广,就认为成千上万的人会蜂拥而至,推广成本可能数十倍于网站,而且 90%可能花了钱也没有人来。

    无论从哪方面说,对做生意都毫无经验,先好好打工吧。
    free9fw
        28
    free9fw  
       2015-08-29 09:35:55 +08:00
    做个淘宝页面简单,做个 1W 并发就呵呵哒了
    initdrv
        29
    initdrv  
       2015-08-29 09:48:07 +08:00
    @realpg 感觉说得很具体,很专业,这是经验之谈,感谢分享!
    frankzeng
        30
    frankzeng  
       2015-08-29 09:54:39 +08:00
    做好静态的展示页面,要买跳去淘宝店买,让淘宝帮你搞定这 1 万并发加支付吧。
    kalintw
        31
    kalintw  
       2015-08-29 10:00:12 +08:00   ❤️ 1
    楼主是想,在某个时间点,搞类似小米抢购之类的吧?
    既然业务和产品单一。做个静态的 landing page ,抽出、精化、压缩业务,让需要动态调用后台的逻辑尽量少。这样,网站程序会很简单,应付并发,你只需在负载均衡和服务器数量上下功夫。
    realpg
        32
    realpg  
       2015-08-29 10:12:59 +08:00   ❤️ 11
    @initdrv
    其实吧,学校选课那个才逗比呢……
    校内系统没有按小时付费的硬件……那时候也没有云服务。

    原来是个 JAVA 的外包的本地大软件开发商做的程序,我们的光荣记录是早晨 8 点开始选课,不限登陆不限访问选完为止,到晚上 9 点还没选完……一天系统基本都是崩溃着了,学校也就万八千人,但是大家拼命 F5 的压力也很变态。
    后来用世界上最好的语言,挂了个轻型框架给改写了,但是仍然模拟测试压不住这么大访问量,学校也不可能给这个一年两次的项目上个八台机器的集群。

    有一次看到那种触摸屏一体机,里面是个 CF 卡固化个写死的 LINUX 镜像,释放到 RAMDISK ,然后只要 CF 卡不断克隆出来的都一样得到灵感。

    固化了一个精简的基于某种学校采购了很多的 DELL 服务器硬件的 LINUX-RAMDISK 系统到 U 盘启动运行(这不是我的能力,学校的某个老师帮我实现的),里面内置一个 webserver 和 php ,数据库固化连接到总 MYSQL ,然后在校内 DNS 坐了 N 个
    xuanke*.*.edu.cn


    等到开始选课之前,网络中心下了个通知(老师跟我关系好没说的),选课时校园网拥堵厉害,趁着这个时间学校机房进行网络改造,内部系统停用,然后借机征用机房的一堆各种乱七八糟三十多台 DELL 服务器用 U 盘启动那个 LINUX 自带了 webserver ,相当于做了个多机负载,那时候还不会做负载分配器……

    在校园网总入口作了 30 个入口, xuanke1~xuanke30

    然后学校有史以来第一次,选课只用了 50 分钟就全校搞定了……

    这 TMD 是不是按需使用的云服务的雏形……
    ljbha007
        33
    ljbha007  
       2015-08-29 10:43:01 +08:00
    @realpg 人肉负载均衡 哈哈哈哈
    subpo
        34
    subpo  
       2015-08-29 10:45:56 +08:00
    有赞啊,一分钱不要
    jakehu
        35
    jakehu  
       2015-08-29 10:50:41 +08:00   ❤️ 1
    php + mysql + redis 做个类似小米或者魅族排队抢购 妥妥的
    lovedboy
        36
    lovedboy  
       2015-08-29 11:11:44 +08:00
    @realpg 教务系统几万并发,是在选课的时候吗?大学多少人?
    initdrv
        37
    initdrv  
       2015-08-29 11:13:58 +08:00
    @realpg 大牛,你们已经走在云的最前端了!以后是云技术的中坚力量,加油!
    yuewolf
        38
    yuewolf  
       2015-08-29 12:17:54 +08:00
    单品的话,就自己写吧,用现成的 CMS 不太好。

    @lovedboy 选课 F5 厉害,有 BT 按着几分钟不动。越慢在线人越多……
    gs038538
        39
    gs038538  
       2015-08-29 12:39:05 +08:00
    估计楼主搞错了并发的意思。
    楼主确认是同事有 1W 人访问么?
    还是一天有 1W?
    realpg
        40
    realpg  
       2015-08-29 12:41:58 +08:00   ❤️ 2
    @lovedboy 大学一万五千多人,最后选课的学生数当时有个统计好像是一万一也不一万二左右,记不清了,肯定是超过一万一点。
    关键是这帮 F5 党要了亲命了……稍微卡一点没看到界面就 F5


    @yuewolf
    您是行家, F5 要命啊……
    当时还为了测试一下到底需要多少机器,是这么开放的
    首先 开放 10 个入口
    xuanke1~xuanke10

    xuanke11~xuanke30 随机 redirect 到 xuanke1~xuanke10

    然后发现不行爆卡,然后开放了 11~15 ,依然爆卡

    最后开到 30 才基本保证可用性,也有点坑,但是有一点运气就能报上课 后面实在没有机器了 就三五个低配置的做最后备份怕这些都挂了然后搞分段开放

    当时的 apache 还要经常性重启一下,总有被堆死的,但是也在 50 分钟后完成了全部任务
    到 50 分钟时候,基本就没大量访问量了,剩下的都是些不着急无所谓的人了,撤掉了全部临时机器,就剩一个机器就能正常运行了
    msg7086
        41
    msg7086  
       2015-08-29 12:46:56 +08:00   ❤️ 1
    嗯我觉得上面说得挺清楚了。
    随便开发个商城只要 1000 就够了。
    开发个能顶 1 万并发的商城,哪怕是一年加一起只用 24 小时的,设计费用就已经很惊人了。
    这不是说买服务器的问题。(这种时候服务器都是小问题,钱能花个几万了不起了)
    首先你系统先要设计架构成不会垮。(外包团队应该也不用考虑了,很多都做不到这个水平)
    然后你还要保证数据正确。
    嗯百万的价格并不高啊?

    @realpg 太强大,受我一拜
    realpg
        42
    realpg  
       2015-08-29 12:50:46 +08:00   ❤️ 1
    @msg7086

    其实我觉得他这个系统要是按照我设想那么干成本其实很低,只是这个思路值钱,但是思路卖不上价
    果断直接告诉他怎么干让他自己搞吧…………


    用阿里云的价格推导了一下,集群只用一天千八百块钱搞定了
    程序上就是网页静态静态静态尽量少动态,界面尽量简单,最后提交订单往集群上 POST 提交,只要集群不崩就完事,开发成本万八千的,要价十来万的事儿……
    msg7086
        43
    msg7086  
       2015-08-29 13:04:38 +08:00   ❤️ 1
    @realpg 是啊现在有云服务了轻松很多,开几台大机机就能搞下来了。
    我觉得 LZ 连商城都不用做,搞个专门购买付款的页面就好了……
    redis+php 走起,那叫一个快。
    aspirin2d
        44
    aspirin2d  
       2015-08-29 13:36:29 +08:00 via iPhone
    @realpg 说的很详细哟,赞一个
    cdffh
        45
    cdffh  
       2015-08-29 13:41:35 +08:00   ❤️ 1
    www.mikecrm.com 试试这个吧 表单里面可以加入商品支持支付宝微信
    branchzero
        46
    branchzero  
       2015-08-29 14:26:21 +08:00
    @realpg 思路很赞,简直机智啊。
    meng520
        47
    meng520  
       2015-08-29 16:23:25 +08:00
    成本最低的难道不是开个淘宝吗?需要自己域名可以考虑做个阿里巴巴企业官网
    xiangace
        48
    xiangace  
       2015-08-29 16:28:50 +08:00   ❤️ 1
    大多数时候,支持上万并发并没有什么卵用, 你只需要好好写逻辑代码,甚至用个开放的工具都行,
    其实当你想着上万并发这个事情,而且朋友还想让人帮忙的想法,实际上是不靠谱的事情, 上万的需求
    很可能是 YY 的.
    kslr
        49
    kslr  
       2015-08-29 16:49:15 +08:00   ❤️ 1
    话说我觉得楼主最好不要碰你朋友的这件事,最后会弄得麻烦。
    vincentqi
        50
    vincentqi  
       2015-08-29 17:08:31 +08:00
    都是对自己不熟悉的行业冷嘲热讽,特定时间高并发,不用发货,很有可能是外挂之类的产品
    2015813
        51
    2015813  
       2015-08-29 17:09:17 +08:00
    买个源代码系统。
    c742435
        52
    c742435  
       2015-08-29 17:17:02 +08:00   ❤️ 1
    @gamexg
    @realpg
    现在我们写的一个项目后端就一个人写了半年(游戏),压测阿里云 4 核能抗 1k~2kqps 。感觉要提高 qps 只要多开机器开牛逼的数据库就好了啊,楼主这个项目数据库没锁,应该问题不大吧。
    mlhorizon
        53
    mlhorizon  
       2015-08-29 17:46:10 +08:00
    应该是黑色产业,不能上淘宝。
    那就不缺钱的找人开发吧。
    arbipher
        54
    arbipher  
       2015-08-29 17:51:03 +08:00
    主楼虽然没什么意思,但是 @realpg 说的几件事情值得一看
    realpg
        55
    realpg  
       2015-08-29 17:59:17 +08:00
    @arbipher
    哈哈
    我别的没有,就是故事多……
    随时可分享各种 match 主题的故事……
    abelyao
        56
    abelyao  
       2015-08-29 22:40:46 +08:00
    如果楼主有兴趣找人一起做,可以联系我,邮件 YWJlbHlhb0BxcS5jb20=
    Jeremy1992
        57
    Jeremy1992  
       2015-08-30 10:09:09 +08:00
    @yuewolf 头像萌出血
    ctexlive
        58
    ctexlive  
       2015-08-30 11:14:09 +08:00 via Android
    @realpg MySQL 服务器一台就撑住了吗?这台服务器什么配置?这个选课系统瓶颈在于 web ( PHP )端扛不住压力,是否因为内存耗尽?
    realpg
        59
    realpg  
       2015-08-30 11:24:18 +08:00
    @ctexlive
    MYSQL 一台能抗住,就是个大内存(当年的大内存也就是 16GB )的机器, CPU 都是正常的当时的 771 双路吧。

    当时还在上学,研究不那么深刻,基本上主要的直接原因是 webserver ( apache2 )卡住,承载不了那么大并发。压上去 webserver 就死翘翘长时间失去响应了。具体是内存耗尽还是啥其他原因当时没深究过。

    不过当时倒是知道把静态内容分离到另外一个机器上去了,用的是学校公用 FTP (带 http index 那种的可以从 http 调用)
    ziyong1
        60
    ziyong1  
       2015-08-30 16:00:47 +08:00
    @realpg 大牛你好!!!
    wshcdr
        61
    wshcdr  
       2016-04-05 13:57:05 +08:00
    在校园网总入口作了 30 个入口, xuanke1~xuanke30
    @realpg 入口是什么啊?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3345 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:33 · PVG 19:33 · LAX 03:33 · JFK 06:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.