写点什么

Cinchcast 如何支持每日发布 1500 小时的视频内容

  • 2012-08-29
  • 本文字数:1462 字

    阅读完需:约 5 分钟

Dr. Aleksandr Yampolskiy,作为 Cinchcast 和 BlogTalkRadio 的首席技术官,在近期的一篇文章中从 Cinchcast 的软硬件系统、技术选型以及经验教训等方面分享了他们在扩展自己的平台时的一些经历和决策。(Cinchcast 公司提供的解决方案让客户能够基于创建、分享音频内容等服务来吸引和联系他们重要的业务干系人。)

整篇文章主要分为如下几部分:

一、统计数据概况

  • 浏览量每月超过 5000 万
  • 创建了 50000 小时的音频内容
  • 1500 万个流媒体
  • 175,000,000 次广告展示
  • 峰值每秒 40000 并发请求
  • MSSQL、Redis、ElasticSearch 集群中存储的数据达到每天数 TB,
  • 10 人工程师团队
  • 生产环境大概有 100 左右的硬件节点

二、数据中心

线上网站是在布鲁克林的数据中心运行,考虑到可控性,生产环境并没有用到云,但 QA 和 Staging 环境则使用了 Amazon EC2 实例,这一点值得我们参考, 因为测试环境就算不稳定也不会有什么大的风险,而生产环境则不同,大部分公司都愿意把控在自己的运维人员手中。

三、硬件

  • 大概有 50 台 Web 服务器
  • 15 台 MS SQL 数据库服务器
  • 2 台 Redis 的 NoSQL 的键值服务器
  • 2 台 NodeJS 服务器
  • 2 台 弹性搜索集群服务器

四、开发工具

  • NET 4 C#:ASP.NET 和 MVC3
  • IDE 用的是 Visual Studio 2010 Team Suite
  • 用 StyleCop、ReSharper 来强化代码标准
  • 使用敏捷。其中大的功能用 Scrum,小任务则通过看板任务墙管理
  • 测试和持续集成使用 Jenkins + Nunit
  • 自动化测试则是 Selenium 和 Sauce On Demand

五、软件和使用的技术

  • Windows Server 2008 R2 的 64 位操作系统
  • 基于微软 Windows Server 2008 Web 服务器下运行的 SQL Server 2005
  • 负载均衡是 EQL(Equalizer load balancers)
  • Redis 作为分布式缓存层和消息分发队列
  • NodeJS 用来进行实时分析和更新仪表盘
  • 搜索用得是 ElasticSearch,日志分析是通过 Sawmill+ 自定义分析器脚本

六、监测

  • NewRelic:性能监控
  • 性能对 KPI(转换率,页面浏览量)的影响:Chartbeat:
  • Gomez,WhatsupGold,Nagios 等用来各种预警和报警
  • SQL Server monitoring 的监控:来自 Red Gate 的 SQL Monitor

七、处事方法论

  • 尊重他人的时间。不要带着问题来,要拿出解决办法。
  • 不要去追逐当下的热点技术,先实现基本功能,然后再做锦上添花的。务实是最重要的。
  • 成为一个“如何做”的团队而不是总是说“不”的团队
  • 预先处理总比亡羊补牢要好,把安全植入到软件开发生命周期中,通过培训开发人员如何写出安全的软件并把它从一开始就作为业务优先考虑之处。

八、 架构

  • 所有的 Javascript, CSS 和图片都缓存在 CDN,通过 cookie 来区分常规用户和广告用户的请求,并分别指向不同的服务器集群。
  • 向 SOA 架构进行迁移,系统中的关键部分,如搜索、认证、缓存都是用不同语言实现的 RESTFUL 服务。
  • Redis NOSQL 的键值存储(redis.io)被用来作为一个数据库调用之前的缓存层。

九、经验教训

  • SQL Server 数据库中的文本搜索不好用,经常出现 CPU 阻塞,所以他们切换到 ElasticSearch,一个 Lucene 的衍生工具。
  • 微软内置的会话模块容易出现死锁,他们用 AngiesList 会话模块取代了它,并把数据存储到 Redis。
  • 日志是发现问题的关键。
  • 重新发明轮子,有时候也可以是一件好事。例如,在一个供应商的提供的 JS / CSS 的产品导致性能问题的时候,他们通过重写显著改善了网站的性能。
  • 并不是所有的数据都是关系型的。
  • 在开发中不使用指标检测就像在风暴中不参考高度表来降落飞机,因此整个开发过程中,一定要通过网站吞吐量,解决错误的时间、代码覆盖率,等指标来衡量你的效率。 总的来说,对于日 PV 百万级的网站来说,Cinchcast 的架构、研发、运维等层面的技术选型和经验值得学习和参考。
2012-08-29 03:202289
用户头像

发布了 42 篇内容, 共 20.2 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

3.1.8<3.2.0<3.3.1,Apache DolphinScheduler集群升级避坑指南

白鲸开源

开源 大数据任务调度 Apache DolphinScheduler 集群部署 版本升级

AI+硬件豪华嘉宾阵容!Plaud、Rokid、Folotoy、RockAI、小米、声网都来了丨Convo AI&RTE2025

RTE开发者社区

Axure RP 9 for Mac(交互式产品原型设计工具)中文

春天的风暖暖的

Commander One for Mac(双窗口文件管理器)

春天的风暖暖的

AI 智能体开发框架

北京木奇移动技术有限公司

AI智能体 AI技术开发 软件外包公司

AI智能体的开发流程

北京木奇移动技术有限公司

AI智能体 AI技术开发 软件外包公司

Tampermonkey for Mac(油猴Safari浏览器辅助插件)

春天的风暖暖的

Audition 2025 for Mac(au 2025)

春天的风暖暖的

Affinity Designer for Mac(强大的矢量图设计软件)

春天的风暖暖的

给敏捷模式做下体检——多方位TIDB敏捷模式和MySQL的性能测试(下)

TiDB 社区干货传送门

平凯数据库敏捷模式

sublime text for Mac(代码编辑器)

春天的风暖暖的

2026杭州国际智慧城市与物联网展览会

AIOTE智博会

物联网展览会 智慧城市展会 物联网展 智慧城市展 智慧城市博览会

应用自更新功能丨开发加油站

荣耀开发者服务平台

荣耀开发者服务平台 功能实现 荣耀HONOR 荣耀应用市场

Ample Sound Ample Guitar L for mac(经典吉他音源插件)

春天的风暖暖的

第五届智慧交通与城市工程国际学术会议 (STCE 2025)

搞科研的小刘

前沿技术 学术会议 智慧交通与城市

9 月热搜精选

KaiwuDB

数据库

【仓储RFID通道机推荐】如何选到识别精准、适合出入库的设备?

斯科信息

斯科信息 RFID通道机 RFID仓储批量盘点

高客单价 VS 低客单价产品,达人营销的打法差异有多大?

Wolink

跨境电商 出海 海外营销推广 沃链Wolink 达人营销

AI智能体的开发流程

北京木奇移动技术有限公司

AI智能体 AI技术开发 软件外包公司

欢迎提报!「2025 龙蜥社区年度优秀贡献者」评选正式启动

OpenAnolis小助手

操作系统 龙蜥社区 年度评选 优秀贡献者

Termius for Mac(SSH客户端)中文

春天的风暖暖的

CST软件的电磁+热一体化仿真

思茂信息

cst CST软件 CST Studio Suite

微课:如何运用 Scrum 打造一个高绩效的团队

ShineScrum

《Confidential MaaS 技术指南》发布,从 0 到 1 构建可验证 AI 推理环境

OpenAnolis小助手

操作系统 龙蜥社区 Confidential MaaS 机密计算技术

ShareMouse for mac(跨平台鼠标和键盘共享软件)

春天的风暖暖的

Navicat for MySQL Mac(数据库管理开发工具)

春天的风暖暖的

【五邑大学主办】第五届电子信息工程与计算机技术国际学术会议(EIECT 2025)

搞科研的小刘

数据 电子信息工程 计算机技术

Ableton Live 12 Suite for mac(音乐制作工具)

春天的风暖暖的

Acrobat Pro DC 2024 for mac (领先的PDF编辑转换器)

春天的风暖暖的

MAMP PRO for Mac(专业的Web开发环境)

春天的风暖暖的

传统DNS解析技术存在的七大弊端

防火墙后吃泡面

Cinchcast如何支持每日发布1500小时的视频内容_架构_晁晓娟_InfoQ精选文章