新手想建个 B2C 站,可能上万并发,求经验。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
benmaowang
V2EX    程序员

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

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

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

    还有,电商网站备案跟一般企业网站有没什么不一样的地方?
    第 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  
    PRO
       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  
    PRO
       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  
    PRO
       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  
    PRO
       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  
    PRO
       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 &bsp;
       2015-08-29 12:46:56 +08:00   1
    嗯我觉得上面说得挺清楚了。
    随便开发个商城只要 1000 就够了。
    开发个能顶 1 万并发的商城,哪怕是一年加一起只用 24 小时的,设计费用就已经很惊人了。
    这不是说买服务器的问题。(这种时候服务器都是小问题,钱能花个几万了不起了)
    首先你系统先要设计架构成不会垮。(外包团队应该也不用考虑了,很多都做不到这个水平)
    然后你还要保证数据正确。
    嗯百万的价格并不高啊?

    @realpg 太强大,受我一拜
    realpg
        42
    realpg  
    PRO
       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  
    PRO
       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  
    PRO
       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     Solana     5210 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 09:31 PVG 17:31 LAX 02:31 JFK 05:31
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86