Open pengkobe opened 5 years ago
原文: The basic architecture concepts I wish I knew when I was getting started as a web developer
这篇文章浅析了网站架构中的一些基本概念,以一个用户搜索的案例开始阐述,然后对其中的各个概念进行了讲解。
一个 key-value 系统,用来找到域名与 IP 的对应关系
应用服务器,一般需要 2 台以上(支持负载均衡),搭建与语言相关的环境(JAVA/.NET/NodeJS),并与数据库、缓存、任务队列、微服务、日志系统等建立关联
分为关系型数据库和非关系型数据,两类数据库在横向和纵向拓展各有优势
缓存那些经常访问需要复杂计算的内容,最常用的两类缓存服务器是 Redis 和 Memcache
一般在后台默默的运行着,为业务提供支撑,如谷歌的爬虫服务,以及业务系统内常用的图片视频处理,csv 文件生成、邮件发送、用户统计类信息等
几个常用的有: Elasticsearch \ Sphinx \ Apache Solr
一般单独开发,单独管理,故事墙这个应用就会涉及到几个基本的服务
这里面有几个流程 收集数据 --> 对数据进行初步处理( Kafka ) --> 存入云 --> 导入数据仓库( 用于数据分析: Redshift )
收集数据 --> 对数据进行初步处理( Kafka ) --> 存入云 --> 导入数据仓库( 用于数据分析: Redshift )
亚马逊云和阿里云等,能够解决数据运维的难题
让用户更快的获取数据,一般用于静态资源
可以查看作者的其它文章 https://engineering.videoblocks.com/@jonathan_fulton?source=post_header_lockup
原文: The basic architecture concepts I wish I knew when I was getting started as a web developer
DNS
一个 key-value 系统,用来找到域名与 IP 的对应关系
Load Balancer (负载均衡)
Web Application Servers (应用服务器)
应用服务器,一般需要 2 台以上(支持负载均衡),搭建与语言相关的环境(JAVA/.NET/NodeJS),并与数据库、缓存、任务队列、微服务、日志系统等建立关联
Database Servers( 数据库服务 )
分为关系型数据库和非关系型数据,两类数据库在横向和纵向拓展各有优势
Caching Service ( 缓存服务 )
缓存那些经常访问需要复杂计算的内容,最常用的两类缓存服务器是 Redis 和 Memcache
Job Queue & Servers (任务队列)
一般在后台默默的运行着,为业务提供支撑,如谷歌的爬虫服务,以及业务系统内常用的图片视频处理,csv 文件生成、邮件发送、用户统计类信息等
Full-text Search Service (全文索引服务)
几个常用的有: Elasticsearch \ Sphinx \ Apache Solr
Services (服务)
一般单独开发,单独管理,故事墙这个应用就会涉及到几个基本的服务
Data (数据)
这里面有几个流程
收集数据 --> 对数据进行初步处理( Kafka ) --> 存入云 --> 导入数据仓库( 用于数据分析: Redshift )
Cloud storage (云存储)
亚马逊云和阿里云等,能够解决数据运维的难题
CDN (内容分发网络)
让用户更快的获取数据,一般用于静态资源
更多
可以查看作者的其它文章 https://engineering.videoblocks.com/@jonathan_fulton?source=post_header_lockup