跳至主要內容
Cinchcast 的架构

Cinchcast 的架构

Cinchcast 提供的解决方案允许公司创建、共享、衡量和货币化音频内容,以接触和吸引对其业务最重要的人。我们的技术将会议桥接器与实时音频流相结合,以简化在线活动并增强参与者的参与度。 Cinchcast 技术还用于为全球最大的音频社交网络 Blogtalkradio 提供动力。今天,我们的平台每天制作和分发超过 1,500 小时的原创内容。在本文中,我们描述了我们为扩展平台以支持这种规模的数据而做出的工程决策。

统计数据

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

钝悟...大约 4 分钟设计架构解决方案架构解决方案
README

解决方案

📖 内容

知名系统架构

类型 细分类型 系统 资料
Data processing MapReduce - Google 的分布式数据处理 research.google.com
Data processing Spark - Databricks 的分布式数据处理 slideshare.net
Data processing Storm - Twitter 的分布式数据处理 slideshare.net
分布式存储 Nosql Bigtable - Google 的列式数据库 harvard.edu
分布式存储 Nosql HBase - Bigtable 的开源实现 slideshare.net
分布式存储 Nosql Cassandra - Facebook 的列式数据库 slideshare.net
分布式存储 Nosql DynamoDB - Amazon 的文档数据库 harvard.edu
分布式存储 Nosql MongoDB - 文档数据库 MongoDB
分布式存储 Nosql Spanner - Google 的全球分布数据库 research.google.com
分布式存储 Nosql Memcached - 分布式内存缓存系统 slideshare.net
分布式存储 Nosql Redis - 能够持久化及具有值类型的分布式内存缓存系统 Redis
分布式存储 文件系统 Google File System (GFS) - 分布式文件系统 research.google.com
分布式存储 文件系统 Hadoop File System (HDFS) - GFS 的开源实现 apache.org
分布式中间件 Chubby - Google 的分布式系统的低耦合锁服务 research.google.com
分布式中间件 Dapper - 分布式系统跟踪基础设施 research.google.com
分布式中间件 MQ Kafka - LinkedIn 的发布订阅消息系统 Kafka
分布式中间件 分布式协调 Zookeeper - 集中的基础架构和协调服务 ZooKeeper

钝悟...大约 2 分钟设计架构解决方案架构解决方案
亚马逊的架构

亚马逊的架构

摘录的要点

可扩展:添加资源,性能成正比提升

分布式、去中心化

隔离性:面向服务,聚合数以百计的服务,对外统一提供服务

同时支持 REST 和 SOAP

团队在精不在多,节省沟通成本

状态管理是大规模系统的核心问题,如分布式 Session 等

设计应尽量简单,很多问题可以用业务逻辑去解决,而不是通过技术

参考资料


钝悟...小于 1 分钟设计架构解决方案架构解决方案
海量数据处理

海量数据处理

如何从海量的 URL 中找出相同的 URL?

问题描述

给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。

解决思路

每个 URL 占 64B,那么 50 亿个 URL 占用的空间大小约为 320GB。

5,000,000,00064B5GB64=320GB 5,000,000,000 * 64 B ≈ 5 GB * 64 = 320 GB


钝悟...大约 17 分钟设计架构解决方案架构解决方案
电商

电商

基本业务架构

img
img

订单

订单服务一般不主动调用其他服务

订单服务不负责和第三方集成

订单服务不提供优惠计算或成本分摊逻辑

订单信息管理


钝悟...小于 1 分钟设计架构解决方案架构解决方案
低代码平台

设计一个低代码平台

本文目标是设计一个用于提高开发人员开发效率的低代码平台,这里会采用系统解决方案设计的一般思路来逐步探寻设计方案。

业务分析

低代码平台是什么

广义上的低代码平台包括低代码平台和零代码平台,它们都属于 APaaS(Application Platform as a Service 应用平台即服务),两者的主要区别在于对代码的依赖程度:

  • 低代码平台:通过自动代码生成和可视化编程,只需要少量代码,即可快速搭建各种应用。
  • 零代码平台:零开发经验的业务人员通过拖拽等方式,无需编写代码,即可快速搭建各种应用。

钝悟...大约 6 分钟设计架构解决方案架构解决方案
秒杀系统设计

秒杀系统设计

秒杀系统所要应对的场景就是:瞬时海量请求

秒杀系统的难点

  • 高并发:秒杀系统是极致的高并场景发自不用说。其高并发可以细分为二:
    • 并发读:主要是读取剩余库存量以及商品信息
    • 并发写:主要是下单后,系统写入订单记录
  • 超卖:秒杀系统中售卖的商品一般都是性价比很高,不怎么赚钱,甚至赔钱赚哟喝的商品。一旦出现超卖现象,会给商家带来巨大的经济损失。从系统层面来看,比如某秒杀商品本来库存 100 件,但是在高并发场景下,瞬时下单量超过 100 件,处理不当,让这些下单都成功了,就会出现超卖。
  • 恶意请求:有些人为了低价购入秒杀商品,通过在多台机器上跑脚本,模拟大量用户抢商品的请求(走自己的路,让别人无路可走)。
  • 数据库崩溃:海量请求下,如果没有 MQ 削峰,没有过载保护,让所有请求都打到数据库,那么数据库基本就挂了。数据库如果挂了,也会波及其他业务,从而可能让整个系统、网站陷入瘫痪。
  • 对现有业务造成冲击

钝悟...大约 5 分钟设计架构解决方案架构解决方案