手把手教你构建一个高性能、高可用的大型分布式网站
本文是学习大型分布式网站架构的技术总结,对构建一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。
文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。
大型分布式网站架构技术
大型网站的特点
大型网站一般有如下特点:用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费体验大型网站架构目标
大型网站的架构目标有如下几个:
高性能:提供快速的访问体验。高可用:网站服务一直可以正常访问。可伸缩:通过硬件增加/减少,提高/降低处理能力。扩展性:方便地通过新增/移除方式,增加/减少新的功能/模块。安全性:提供网站安全访问和数据加密、安全存储等策略。敏捷性:随需应变,快速响应。大型网站架构模式
如上图是大型网站的架构模式:
分层:一般可分为应用层、服务层、数据层、管理层与分析层。分割:一般按照业务/模块/功能特点进行划分,比如应用层分为首页、用户中心。分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。缓存:将数据放在距离应用或用户最近的位置,加快访问速度。异步:将同步的操作异步化。客户端发出请求,不等待服务端响应,等服务端处理完毕后,使用通知或轮询的方式告知请求方。一般指:请求——响应——通知模式。冗余:增加副本,提高可用性、安全性与性能。安全:对已知问题有有效的解决方案,对未知/潜在问题建立发现和防御机制。自动化:将重复的、不需要人工参与的事情,通过工具的方式,使用机器完成。敏捷性:积极接受需求变更,快速响应业务发展需求。高性能架构
高性能的架构是以用户为中心,提供快速的网页访问体验,主要参数有较短的响应时间、较大的并发处理能力、较高的吞吐量与稳定的性能参数。
可分为前端优化、浏览器优化、应用层优化、代码层优化与存储层优化:
前端优化:网站业务逻辑之前的部分。浏览器优化:减少 HTTP 请求数,使用浏览器缓存,启用压缩,CSS JS 位置,JS 异步,减少 Cookie 传输;CDN 加速,反向代理。应用层优化:处理网站业务的服务器。使用缓存,异步,集群。代码优化:合理的架构,多线程,资源复用(对象池,线程池等),良好的数据结构,JVM调优,单例,Cache 等。存储优化:缓存、固态硬盘、光纤传输、优化读写、磁盘冗余、分布式存储(HDFS)、NoSQL 等。高可用架构
大型网站应该在任何时候都可以正常访问,正常提供对外服务。因为大型网站的复杂性,分布式,廉价服务器,开源数据库,操作系统等特点,要保证高可用是很困难的,也就是说网站的故障是不可避免的。
如何提高可用性,就是需要迫切解决的问题。首先,需要从架构级别考虑,在规划的时候,就考虑可用性。
行业内一般用几个 9 表示可用性指标,比如四个 9(99.99),一年内允许的不可用时间是 53 分钟。
不同层级使用的策略不同,一般采用冗余备份和失效转移解决高可用问题:
应用层:一般设计为无状态的,对于每次请求,使用哪一台服务器处理是没有影响的。一般使用负载均衡技术(需要解决 Session 同步问题)实现高可用。服务层:负载均衡,分级管理,快速失败(超时设置),异步调用,服务降级,幂等设计等。数据层:冗余备份(冷,热备[同步,异步],温备),失效转移(确认,转移,恢复)。数据高可用方面著名的理论基础是 CAP 理论。(持久性,可用性,数据一致性[强一致,用户一致,最终一致])可伸缩架构
伸缩性是指在不改变原有架构设计的基础上,通过添加/减少硬件(服务器)的方式,提高/降低系统的处理能力:
应用层:对应用进行垂直或水平切分。然后针对单一功能进行负载均衡(DNS、HTTP[反向代理]、IP、链路层)。服务层:与应用层类似。数据层:分库、分表、NoSQL 等;常用算法 Hash,一致性 Hash。可扩展架构
可以方便地进行功能模块的新增/移除,提供代码/模块级别良好的可扩展性:
模块化,组件化:高内聚,低耦合,提高复用性,扩展性。稳定接口:定义稳定的接口,在接口不变的情况下,内部结构可以“随意”变化。设计模式:应用面向对象思想,原则,使用设计模式,进行代码层面的设计。消息队列:模块化的系统,通过消息队列进行交互,使模块之间的依赖解耦。分布式服务:公用模块服务化,提供其他系统使用,提高可重用性,扩展性。安全架构
对已知问题有有效的解决方案,对未知/潜在问题建立发现和防御机制。对于安全问题,首先要提高安全意识,建立一个安全的有效机制,从政策层面,组织层面进行保障。
比如服务器密码不能泄露,密码每月更新,并且三次内不能重复;每周安全扫描等。
以制度化的方式,加强安全体系的建设。同时,需要注意与安全有关的各个环节。
安全问题不容忽视,包括基础设施安全,应用系统安全,数据保密安全等:
基础设施安全:硬件采购,操作系统,网络环境方面的安全。一般采用正规渠道购买高质量的产品,选择安全的操作系统,及时修补漏洞,安装杀毒软件防火墙。防范病毒,后门。设置防火墙策略,建立 DDOS 防御系统,使用攻击检测系统,进行子网隔离等手段。
应用系统安全:在程序开发时,对已知常用问题,使用正确的方式,在代码层面解决掉。防止跨站脚本攻击(XSS),注入攻击,跨站请求伪造(CSRF),错误信息,HTML 注释,文件上传,路径遍历等。
还可以使用 Web 应用防火墙(比如:ModSecurity),进行安全漏洞扫描等措施,加强应用级别的安全。
数据保密安全:存储安全(存储在可靠的设备,实时,定时备份),保存安全(重要的信息加密保存,选择合适的人员复杂保存和检测等),传输安全(防止数据窃取和数据篡改)。常用的加解密算法(单项散列加密[MD5、SHA],对称加密[DES、3DES、RC]),非对称加密[RSA]等。
敏捷性
网站的架构设计,运维管理要适应变化,提供高伸缩性,高扩展性。方便的应对快速的业务发展,突增高流量访问等要求。
除上面介绍的架构要素外,还需要引入敏捷管理,敏捷开发的思想。使业务,产品,技术,运维统一起来,随需应变,快速响应。
大型架构举例
以上采用七层逻辑架构:
第一层客户层:支持 PC 浏览器和手机 App。差别是手机 App 可以直接通过IP访问,反向代理服务器。第二层前端层:使用 DNS 负载均衡,CDN 本地加速以及反向代理服务。第三层应用层:网站应用集群;按照业务进行垂直拆分,比如商品应用,会员中心等。第四层服务层:提供公用服务,比如用户服务,订单服务,支付服务等。第五层数据层:支持关系型数据库集群(支持读写分离),NOSQL 集群,分布式文件系统集群;以及分布式 Cache。第六层大数据存储层:支持应用层和服务层的日志数据收集,关系数据库和 NOSQL 数据库的结构化和半结构化数据收集。第七层大数据处理层:通过 Mapreduce 进行离线数据分析或 Storm 实时数据分析,并将处理后的数据存入关系型数据库。(实际使用中,离线数据和实时数据会按照业务要求进行分类处理,并存入不同的数据库中,供应用层或服务层使用)
大型电商网站系统架构演变过程
一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的。
在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。
所以成熟的系统架构是随着业务的扩展而逐步完善的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点。
例如淘宝,要解决海量的商品信息的搜索、下单、支付;例如腾讯,要解决数亿用户的实时消息传输;百度要处理海量的搜索请求。
他们都有各自的业务特性,系统架构也有所不同。尽管如此,我们也可以从这些不同的网站背景中,找出其中共用的技术。
这些技术和手段广泛运用在大型网站系统的架构中,下面就通过介绍大型网站系统的演化过程,来认识这些技术和手段。
最开始的网站架构
最初的架构,应用程序、数据库、文件都部署在一台服务器上,如下图:
应用、数据、文件分离
随着业务的扩展,一台服务器已经不能满足性能需求,所以将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。
利用缓存改善网站性能
在硬件优化性能的同时,也通过软件进行性能优化,在大部分的网站系统中,都会利用缓存技术改善系统的性能。
使用缓存主要源于热点数据的存在,大部分网站访问都遵循 28 原则(即 80% 的访问请求,最终落在 20% 的数据上),所以我们可以对热点数据进行缓存,减少这些数据的访问路径,提高用户体验。
缓存实现常见的方式是本地缓存、分布式缓存。当然还有 CDN、反向代理等。
本地缓存,顾名思义是将数据缓存在应用服务器本地,可以存在内存中,也可以存在文件,OSCache 就是常用的本地缓存组件。
本地缓存的特点是速度快,但因为本地空间有限所以缓存数据量也有限。
分布式缓存的特点是,可以缓存海量的数据,并且扩展非常容易,在门户类网站中常常被使用,速度按道理没有本地缓存快,常用的分布式缓存是 Memcached、Redis。
使用集群改善应用服务器性能
应用服务器作为网站的入口,会承担大量的请求,我们往往通过应用服务器集群来分担请求数。
应用服务器前面部署负载均衡服务器调度用户请求,根据分发策略将请求分发到多个应用服务器节点。
常用的负载均衡技术硬件的有 F5,价格比较贵,软件的有 LVS、Nginx、HAProxy。
LVS 是四层负载均衡,根据目标地址和端口选择内部服务器,Nginx 和 HAProxy 是七层负载均衡,可以根据报文内容选择内部服务器。
因此 LVS 分发路径优于 Nginx 和 HAProxy,性能要高些;而 Nginx 和 HAProxy 则更具配置性,如可以用来做动静分离(根据请求报文特征,选择静态资源服务器还是应用服务器)。
数据库读写分离和分库分表
随着用户量的增加,数据库成为最大的瓶颈。改善数据库性能常用的手段是进行读写分离以及分库分表,读写分离顾名思义就是将数据库分为读库和写库,通过主备功能实现数据同步。
分库分表则分为水平切分和垂直切分,水平切分是对一个数据库特大的表进行拆分,例如用户表。
垂直切分则是根据业务的不同来切分,如用户业务、商品业务相关的表放在不同的数据库中。
使用 CDN 和反向代理提高网站性能
假如我们的服务器都部署在成都的机房,对于四川的用户来说访问是较快的,而对于北京的用户访问是较慢的。
这是由于四川和北京分别属于电信和联通的不同发达地区,北京用户访问需要通过互联路由器经过较长的路径才能访问到成都的服务器,返回路径也一样,所以数据传输时间比较长。
对于这种情况,常常使用 CDN 解决,CDN 将数据内容缓存到运营商的机房,用户访问时先从最近的运营商获取数据,这样大大减少了网络访问的路径。比较专业的 CDN 运营商有蓝汛、网宿。
而反向代理,则是部署在网站的机房,当用户请求达到时首先访问反向代理服务器,反向代理服务器将缓存的数据返回给用户。
如果没有缓存数据才会继续访问应用服务器获取,这样做减少了获取数据的成本。反向代理有 Squid、Nginx。
使用分布式文件系统
用户一天天增加,业务量越来越大,产生的文件越来越多,单台的文件服务器已经不能满足需求,这时就需要分布式文件系统的支撑。常用的分布式文件系统有 GFS、HDFS、TFS。
使用 NoSQL 和搜索引擎
对于海量数据的查询和分析,我们使用 NoSQL 数据库加上搜索引擎可以达到更好的性能。并不是所有的数据都要放在关系型数据中。
常用的 NoSQL 有 MongoDB、HBase、Redis,搜索引擎有 Lucene、Solr、Elasticsearch。
将应用服务器进行业务拆分
随着业务进一步扩展,应用程序变得非常臃肿,这时我们需要将应用程序进行业务拆分,如百度分为新闻、网页、图片等业务。
每个业务应用负责相对独立的业务运作。业务之间通过消息进行通信或者共享数据库来实现。
搭建分布式服务
这时我们发现各个业务应用都会使用到一些基本的业务服务,例如用户服务、订单服务、支付服务、安全服务,这些服务是支撑各业务应用的基本要素。
我们将这些服务抽取出来利用分步式服务框架搭建分布式服务。阿里的 Dubbo 是一个不错的选择。
一张图说明电商架构
大型电商网站架构案例
采用电商案例的原因
分布式大型网站,目前看主要有几类:
大型门户,比如网易,新浪等。SNS 网站,比如校内,开心网等。电商网站,比如阿里巴巴,京东商城,国美在线,汽车之家等。大型门户一般是新闻类信息,可以使用 CDN,静态化等方式优化,开心网等交互性比较多,可能会引入更多的 NoSQL,分布式缓存,使用高性能的通信框架等。
电商网站具备以上两类的特点,比如产品详情可以采用 CDN,静态化,交互性高的需要采用 NoSQL 等技术。因此,我们采用电商网站作为案例,进行分析。
电商网站需求
客户需求:
建立一个全品类的电子商务网站(B2C),用户可以在线购买商品,可以在线支付,也可以货到付款。用户购买时可以在线与客服沟通。用户收到商品后,可以给商品打分,评价。目前有成熟的进销存系统;需要与网站对接。希望能够支持 3~5 年,业务的发展。预计 3~5 年,用户数达到 1000 万。定期举办双 11、双 12、三八男人节等活动。其他的功能参考京东或国美在线等网站。客户就是客户,不会告诉你具体要什么,只会告诉你他想要什么,我们很多时候要引导,挖掘客户的需求。好在提供了明确的参考网站。
因此,下一步要进行大量的分析,结合行业,以及参考网站,给客户提供方案。
需求功能矩阵
这是需求管理传统的做法,会使用用例图或模块图(需求列表)进行需求的描述。
这样做常常忽视掉一个很重要的需求(非功能需求),因此推荐大家使用需求功能矩阵,进行需求描述。
本电商网站的需求矩阵如下:
网站初级架构
一般网站,刚开始的做法,是三台服务器,一台部署应用,一台部署数据库,一台部署 NFS 文件系统。
这是前几年比较传统的做法,之前见到一个网站 10 万多会员,垂直服装设计门户,N 多图片。
使用了一台服务器部署了应用,数据库以及图片存储。出现了很多性能问题,如下图:
但是,目前主流的网站架构已经发生了翻天覆地的变化。一般都会采用集群的方式,进行高可用设计。
至少是上面这个样子:
使用集群对应用服务器进行冗余,实现高可用。(负载均衡设备可与应用一块部署)
使用数据库主备模式,实现数据备份和高可用。
系统容量预估
预估步骤:
注册用户数-日均 UV 量-每日的 PV 量-每天的并发量。峰值预估:平常量的 2~3 倍。根据并发量(并发,事务数),存储容量计算系统容量。根据客户需求:3~5 年用户数达到 1000 万注册用户,可以做每秒并发数预估:
每天的 UV 为 200 万(二八原则)。每日每天点击浏览 30 次。PV 量:200*30=6000 万。集中访问量:24*0.2=4.8 小时会有 6000 万*0.8=4800 万(二八原则)。每分并发量:4.8*60=288 分钟,每分钟访问 4800/288=16.7 万(约等于)。每秒并发量:16.7万/60=2780(约等于)。假设:高峰期为平常值的三倍,则每秒的并发数可以达到 8340 次。1 毫秒=1.3 次访问。没好好学数学后悔了吧?!(不知道以上算是否有错误,呵呵~~)
服务器预估:(以 Tomcat 服务器举例)
按一台 Web 服务器,支持每秒 300 个并发计算。平常需要 10 台服务器(约等于);[tomcat 默认配置是 150],高峰期需要 30 台服务器。
容量预估:70/90 原则
系统 CPU 一般维持在 70% 左右的水平,高峰期达到 90% 的水平,是不浪费资源,并比较稳定的。内存,IO 类似。
以上预估仅供参考,因为服务器配置,业务逻辑复杂度等都有影响。在此 CPU,硬盘,网络等不再进行评估。
网站架构分析
根据以上预估,有几个问题:
需要部署大量的服务器,高峰期计算,可能要部署 30 台 Web 服务器。并且这三十台服务器,只有秒杀,活动时才会用到,存在大量的浪费。所有的应用部署在同一台服务器,应用之间耦合严重。需要进行垂直切分和水平切分。大量应用存在冗余代码。服务器 Session 同步耗费大量内存和网络带宽。数据需要频繁访问数据库,数据库访问压力巨大。大型网站一般需要做以下架构优化(优化是架构设计时,就要考虑的,一般从架构/代码级别解决,调优主要是简单参数的调整,比如 JVM 调优;如果调优涉及大量代码改造,就不是调优了,属于重构):
业务拆分应用集群部署(分布式部署,集群部署和负载均衡)多级缓存单点登录(分布式 Session)数据库集群(读写分离,分库分表)服务化消息队列其他技术网站架构优化
业务拆分
根据业务属性进行垂直切分,划分为产品子系统,购物子系统,支付子系统,评论子系统,客服子系统,接口子系统(对接如进销存,短信等外部系统)。
根据业务子系统进行等级定义,可分为:
核心系统,产品子系统,购物子系统,支付子系统。非核心系统,评论子系统,客服子系统,接口子系统。业务拆分作用:提升为子系统可由专门的团队和部门负责,专业的人做专业的事,解决模块之间耦合以及扩展性问题;每个子系统单独部署,避免集中部署导致一个应用挂了,全部应用不可用的问题。
等级定义作用:用于流量突发时,对关键应用进行保护,实现优雅降级;保护关键应用不受到影响。
拆分后的架构图:
参考部署方案 2:
如上图每个应用单独部署,核心系统和非核心系统组合部署。
应用集群部署(分布式,集群,负载均衡)
分布式部署:将业务拆分后的应用单独部署,应用直接通过 RPC 进行远程通信。
集群部署:电商网站的高可用要求,每个应用至少部署两台服务器进行集群部署。
负载均衡:是高可用系统必须的,一般应用通过负载均衡实现高可用,分布式服务通过内置的负载均衡实现高可用,关系型数据库通过主备方式实现高可用。
集群部署后架构图:
多级缓存
缓存按照存放的位置一般可分为两类本地缓存和分布式缓存。本案例采用二级缓存的方式,进行缓存的设计。
一级缓存为本地缓存,二级缓存为分布式缓存。(还有页面缓存,片段缓存等,那是更细粒度的划分)
一级缓存,缓存数据字典,和常用热点数据等基本不可变/有规则变化的信息,二级缓存缓存需要的所有缓存。
当一级缓存过期或不可用时,访问二级缓存的数据。如果二级缓存也没有,则访问数据库。
缓存的比例,一般 1:4,即可考虑使用缓存。(理论上是 1:2 即可):
根据业务特性可使用以下缓存过期策略:
缓存自动过期缓存触发过期单点登录(分布式 Session)
系统分割为多个子系统,独立部署后,不可避免的会遇到会话管理的问题。一般可采用 Session 同步,Cookies,分布式 Session 方式。电商网站一般采用分布式 Session 实现。
再进一步可以根据分布式 Session,建立完善的单点登录或账户管理系统。
流程说明如上图:
用户第一次登录时,将会话信息(用户 ID 和用户信息),比如以用户 ID 为 Key,写入分布式 Session。用户再次登录时,获取分布式 Session,是否有会话信息,如果没有则调到登录页。一般采用 Cache 中间件实现,建议使用 Redis,因此它有持久化功能,方便分布式 Session 宕机后,可以从持久化存储中加载会话信息。存入会话时,可以设置会话保持的时间,比如 15 分钟,超过后自动超时。结合 Cache 中间件,实现的分布式 Session,可以很好的模拟 Session 会话。
数据库集群(读写分离,分库分表)
大型网站需要存储海量的数据,为达到海量数据存储,高可用,高性能一般采用冗余的方式进行系统设计。一般有两种方式读写分离和分库分表。
读写分离:一般解决读比例远大于写比例的场景,可采用一主一备,一主多备或多主多备方式。
本案例在业务拆分的基础上,结合分库分表和读写分离,如上图:
业务拆分后:每个子系统需要单独的库。如果单独的库太大,可以根据业务特性,进行再次分库,比如商品分类库,产品库。分库后,如果表中有数据量很大的,则进行分表,一般可以按照 ID,时间等进行分表;(高级的用法是一致性 Hash)在分库、分表的基础上,进行读写分离。相关中间件可参考 Cobar(阿里,目前已不在维护),TDDL(阿里),Atlas(奇虎360),MyCat。
分库分表后序列的问题,JOIN,事务的问题,会在分库分表主题分享中介绍。
服务化
将多个子系统公用的功能/模块,进行抽取,作为公用服务使用。比如本案例的会员子系统就可以抽取为公用的服务。
消息队列
消息队列可以解决子系统/模块之间的耦合,实现异步,高可用,高性能的系统。它是分布式系统的标准配置。
本案例中,消息队列主要应用在购物,配送环节:
用户下单后,写入消息队列,后直接返回客户端。库存子系统:读取消息队列信息,完成减库存。配送子系统:读取消息队列信息,进行配送。
目前使用较多的 MQ 有 Active MQ、Rabbit MQ、Zero MQ、MS MQ 等,需要根据具体的业务场景进行选择,建议可以研究下 Rabbit MQ。
其他架构(技术)
除了以上介绍的业务拆分,应用集群,多级缓存,单点登录,数据库集群,服务化,消息队列外,还有 CDN,反向代理,分布式文件系统,大数据处理等系统。
架构汇总
大型网站的架构是根据业务需求不断完善的,根据不同的业务特征会做特定的设计和考虑。
本文只是讲述一个常规大型网站会涉及的一些技术和手段,希望能给大家带来启发。
作者:烂猪皮
简介:十余年工作经验,曾在 Google 等外企工作过几年,精通 Java、分布式架构、微服务架构以及数据库,最近正在研究大数据以及区块链,希望能突破到更高的境界。
原来响应式网站和自适应网站是这样来区分的
很长一段时间以来,都以为响应式网站就是自适应网站,这是两个一样的概念。后来机缘巧合认识了一位前端大拿,给我好好上了一课,终于能把这两种网站前端表现形式给讲透了。现摘录如下:
1、响应式网站由来
最开始网站都会被设计成固定宽度的页面,最开始的PC显示器的分辨率种类不多,因为当时电脑本来就少,即使有变化也是 800、900、1050、1200等几种。比如 GitHub的网页就是固定宽度为1020px来定制的。
后来随着显示器越来越多,以及笔记本的普及,这种方式的页面出现了问题。在大屏显示器上整个页面显的特别小,在小屏显示器上网页又出现滚动条导致用户体验极其的差。为了解决在各种不同大小和分辨率的设备上如何正确显示网站的问题,前前后后也出现了好多种方案。
提供不同版本:最开始的解决方法,是为不同的设备提供不同版本的网页。比如一个站点为PC、Mobile、Pad提供三个不同的版本。这样做固然保证了效果,但同时要维护好几个版本比较麻烦,而且网站有多个入口,会大大增加系统架构的复杂度。
自适应:后来人们就开始想能不能"一次设计,普遍适用",即让同一个页面自动适应不同大小的设备,从而解决为不同设备提供不同版本的页面问题。这就是所谓自适应布局解决方案。
响应式: 采用自适应布局的话,如果设备太小,就算网页能够根据屏幕大小进行适配,但是在太小屏幕显示内容过多会看不清楚。为了解决这个问题而衍生出来的一种新的布局方式,那就是响应式布局。
2、响应式和自适应的区别
先给出两个具体例子让大家直观感受一下两种的效果:
响应式网站:https://microsoft/zh-cn/
自适应网站:http://m.ctrip/html5/
响应式和自适应两种布局方式都是为了解决在不同大小和分辨率的设备上正确显示网页的问题。不同的是两种布局方式采取了不同的解决方法而矣。
最开始出现的一种新的布局方式其实是宽度自适应布局。我们平时谈论的自适应布局,大部分时候指的就是宽度自适应布局。 自适应是为了解决如何才能在不同大小和分辨率的设备上呈现同样的网页。在网页内容和布局主体保持基本不变的前提下,让同一张个页面自动适应不同大小和分辨率的设备,根据设备屏幕宽度,自动调整网页内容大小。 如下图所示:
自适应布局:网页内容和布局完全一样
从上图可以看出采用自适应布局的话,不管设备屏幕尺寸如何变化,打开同一个页面看到的内容和布局基本上是一样的,不同的只是内容的尺寸。
这样就会引发一个问题,那就是如果设备太小,就算网页能够根据屏幕大小进行适配,但是在太小屏幕显示内容过多会看不清楚,从而极大损害用户体验。
响应式布局正是为了解决这个问题而衍生出来的一种新的布局方式。它可以自动识别屏幕尺寸并做出相应调整的网页设计,页面布局和展示的内容可能会随着屏幕尺寸变化而有所变化。如下图所示:
响应式布局:网页内容和布局随着屏幕尺寸变化而变化
网络上也有网友用这么一张图来总结响应式和自适应的区别:
如上图所示,对于同一个页面(图中的Html),如果用响应式布局来处理的话,用不同设备(电脑、平板、手机)去访问此页面,最后看到的布局和内容有很大不同。
而如果用自适应布局去处理的话,那不管访问设备如何的不同(上图是三台尺寸不一样的手机),最后看到的页面内容和布局基本上还是一样的,就是尺寸略有不同。
进一步详细说明,如下图所示,屏幕宽度大于720像素,则4张图片并排在一行:
如果屏幕宽度在不大于720像素,则4张图片分成两行:
如果屏幕宽度在小于600像素话,网站主导航由平铺变成了下拉:
其实响应式和自适应两种布局方式从外观上很难分辨,但从技术角度来说他们运行的机理不同。所以最后从技术角度再来总结一下两者的区别:
响应式布局不管使用什么设备都是在服务器把数据推送到浏览器后,脚本或CSS自行检测设备屏幕大小后执行对应的样式表内容,并且一直通过本地脚本在监听屏幕大小的变化,随时做出样式响应的变化,这是主动的。
自适应是用户请求访问时会夹带设备信息,服务器据此做出判断并调适应对应设备样式文件+HTML内容+JS,返回给浏览器以这种方式响应不同设备。
中央美术学院网站改版全新上线
4月1日,伴随着校庆日活动的启动,改版一新的中央美术学院网站正式上线,为百年美院在数字时代再换新颜。
学校网站承载着对外展示形象、发布权威信息和提供信息查询服务,对内聚合二级网站和各业务系统等多重功能。此次改版由设计学院数码媒体实验室主持视觉设计,本着对网络形象进行优化,进一步服务中心工作和师生信息需求出发,注重用户体验,在原学校网站基础上,结合当前美院新的发展动态,进行了全面的内容整合和功能梳理,强调交互体验设计及视觉设计,建设了“学院概况、新闻动态、教育教学、招生导览、创作研究、校园文化”等六个主栏目以及“学生、教职工、家长与校友”四个用户分类,融合了新闻、教师、创作“”等特色板块。其中,新版网站建设采用现代视觉设计、响应式设计,视觉效果清新、简洁、大方,可以实现手机端、pc端、平板端自适应,有效提升了移动互联时代掌上阅读的体验。
同时,新版官网还将进一步关联学校各院系部门单位的数据信息,为实现艺术大数据做好积累,打好基础,切实承担起构建中央美术院师生在网上交流信息、生产知识、引领文化的作用。
网络信息中心/文图
cafa.edu
中央美术学院网站
全新的新闻频道,可以全面报道反映学校各项新闻活动、发布学校公告、刊载校报等
网站为学校每位老师建立独立的艺术工作室门户,提供一个线上“虚拟”工作室,全面的呈现每位老师在教学、创作、理论研究上的各项成果
全面展示学校在研究创作方面取得的重大成果
为国际合作、学生会、创客团队等提供线上展示空间,提供详细的信息展示
为国际合作、学生会、创客团队等提供线上展示空间,提供详细的信息展示
版权声明:如涉及版权问题,请作者持权属证明与本网联系
来源:中央美术学院
【读书笔记】《大型网站技术架构》网站架构的发展
对于一个网站来说,就和一个生命一样,一开始也许就是一个受精卵,只有简单的功能与需求,体积也非常的小,但是随着生命的发展,需求的增加,这个小小受精卵,就会慢慢变大,功能也会慢慢的细化,甚至会独立出来一些专门的器官,更甚者,还会组建一个组织,来完成一个复杂的功能。
对于一个网站架构来说也是一样最一开始只有一台服务器,应用程序、数据库、文件等所有资源都放在一台服务器上。通常的服务器操作系统是linux或者windows2004,应用程序使用PHP开发,然后部署在Apache上,数据库使用MySQL,汇集了各种免费开源软件及一台廉价服务器就可以开始网站的发展之路了。
初始阶段的网站架构
这一类型的网站架构适用于小微企业的官网部署。基本没有什么访问用户,也没有什么复杂的功能,只是满足企业在初始阶段的宣传推广作用。其实际功能就相当于一个企业的网上名片。
随着业务的发展,一台服务器逐渐不能满足需求,越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足。这时候需要将应用和数据分离,应用和数据分离后整个网站需要使用三台服务器:应用服务器、文件服务器和数据库服务器。功能不同,导致这三台服务器对硬件的要求是不同的,应用服务器需要处理大量的业务逻辑,因此需要更快更强大的CPU;数据库服务器需要快速磁盘检索和数据缓存,因此需要更快的硬盘和更大的内存;文件处理器需要储存大量的用户上传文件,因此需要更大的硬盘。
当业务再次发展的多一定规模,就需要使用缓存来改善网站的性能,这里就要引用一个定律就是二八定律,即80%的业务访问集中在20%的数据上,在网络上可以找到很多这样的例子,例如淘宝买家浏览的商品集中在少数成交量多,评价良好的商品上,百度搜索关键词集中在少数热门词汇上,所以说,在网络中,大部分业务都集中在一小部分上,那么如果把这一小部分数据缓存在内存中,就可以减小数据库的访问压力,提高整个网站的数据访问速度。
网站使用缓存
当我们的网站进一步发展,网站存在了高并发,海量数据的问题,那么我就得引用集群的概念,通过增加服务器的方式改善负载压力。其架构如图:
应用服务器集群部署
在网站使用缓存之后,使大部分数据读操作访问都可以不通过数据库就能完成,但是仍有一部分读操作和全部的写操作需要访问数据库,当用户达到一定规模之后,数据库的负载压力也是可以成为你网站发展的瓶颈。这时候就需要把读写进行分离。
随着网站业务不断发展,用户规模越来越大,不同地区的用户访问网站时候,速度差别极大,而现在互联网的发展导致消费者的选择越来越多,有研究表明,网站访问延和用户流失率成正相关,网站访问越慢,用户越容易失去耐心而离开。而网站发展到这个阶段,提高网站相应速度的手段主要有CDN和反向代理。
当网站发展到现在,这个网站已经由一个中小网站,逐渐转变成一个大型网站,但是还有一个坎儿,迈过去就可以称为一个大型网站了。任何一个强大的单一服务器都满足不了大型网站持续增长的业务需求,数据库经过读写分离后,从一台服务器拆分成两台服务器,凡是随着网站业务的发展依然是不能满足需求,这时候需要使用分布式数据库,文件系统也是一样,需要使用分布式文件系统。
在这里分布式我认为是一个网站的分水岭,当然我说肯定是业务发展到这一阶段必须使用分布式了,到这一阶段,平台的用户数量至少要达到十万级以上。否则就是没有必要,当然这个数量不是绝对的。当网站继续发展,业务越来越复杂,对数据的储存和检索需求也会越来越复杂,网站就需要引用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。
当网站发展到现在,我们的业务将会非常的庞大,网站为了应对日益复杂场景,通过使用分而治之的手段将整个网站业务分成不同的产品线,如淘宝,京东等大型交易网站就会将首页、店铺、订单、买家、卖家等拆分成不同的产品线,分归不同的业务团队负责。
随着业务拆分越来越小,储存系统越来越大,应用系统的整体复杂度呈指数级增加,部署维护越来越困难。由于所有应用要和所有数据库系统连接,在数万台服务器规模的网站中这些连接的数目是服务器规模的平方。这时候就需要把服务也进行分布式。
今天的内容摘抄书上的内容较多,主要是小编自己总结也差不多是这样的,还不一定有人家作者的全面。因为架构这东西偏技术,技术都是死东西,说不出花来。在文章的结尾,小编说一下自己的心得,在我们现实中的网站基本上都是第一种架构就够用了,最多发展到集群,很少用到分布式。所以拥有一个从初始经历到最后阶段的架构师就是一个公司的财富,很少有这种人才。而在我们工作中也一定要结合实际进行部署服务器。要通过调查,客户流失不一定就是网站性能不好,一定要灵活应对,本章列举的例子也不是标准。网站的技术团队是为业务服务的,一切都是市场说了算。
专注内饰30年?这三台法系车的内饰设计感爆棚
其实法系车身上的亮点不少的,比如大家津津乐道的底盘调教,用料也可以说是合资车里面比较靠谱的车系,然而这几年上市的法系车内饰也成为一大亮点,起码大胆的设计,天马行空的线条,总是会吸引那一批喜欢尝鲜的人。
来看看这三台法系车的内饰设计,确实可以说是同级别里最抢眼的。
雪铁龙DS5
虽然DS5的销量很差很差,但是依然没办法掩盖它内饰的牛逼,这也是我在同级别车型里基本上闻不到内饰异味的一款车型,D型的方向盘很运动很好看,缝线和皮质看起来都特别是有豪华感,飞行舱的风格,特别是顶棚上的按键设计,特别赞
三区仪表盘设计,信息读取特别的方便,也有多种组合,相对于整合式的仪表来说,确实这样的设计会适合驾驶。
按键的设计同样是用了飞行按钮的元素,质感特别好,车窗控制键放在这里并不是法系车的专属设计,之前桑塔纳2000就干过这个事了。
标致4008
标致4008的设计感真心是相当强大,整个内饰的风格就像未来穿越回来的一样,线条用得极其的大胆,层次感相当分明,加上一些银色的饰条,点缀得非常漂亮。
档案的设计形式也是极其新颖,而且手感特别好,加上非常有特色的按键样式,第一次看到它真心觉得很惊艳。
而且和以往的法系车不一样,人机工程学设计得还不错,各种按键的布局,阻尼手感都很到位,把未来感和实用性结合得相当好。
缺点是硬塑料件多了一些。
标致308
标致308作为一款10万出头的车型,能有这样的内饰设计,确实是相当不错了,最起码整体的质感要比朗逸和科鲁兹这样的车型好看多了。
线条用得非常凌厉,同是是层次非常分明,细长条的空调出风口很有未来感,方向盘的握感特别好,样式也很漂亮,包括仪表盘也是亮点之一。
细节方面的处理也很到位,包括一颗小小的运动模式按键都做出了形状,换成其他车型,基本上就是一颗方方正正的按钮而已,可见法国人确实在内饰设计上花了不少心思。
同级别里来说,308的用料也不算太差,起码软性材质还是挺多的。如果纯粹比拼内饰的话,我认为同级别里,308确实无人能挡。
我们买了三台高尔夫,然后撞烂,告诉大家这款车结构设计是否合理
本周,C-NCAP完成了第10期碰撞试验,测试车型为一汽-大众高尔夫,该车并非一汽-大众自愿申请,配置为1.4T 230TSI 自动舒适型,厂商指导价为15.49万元。作为大众品牌标杆产品,高尔夫一直被看客们称之为“神车”,那么它车体安全架构表现如何?本文角师傅为大家解读下……
如果国内销售高尔夫为7.5代车型,是2017年11月4日上市,时至今日刚好一年,距离第八代车型上市还有段时间。从主被动安全配置来看,高尔夫其实没有太多竞争力,其中AEB自动紧急制动系统全系都没有,这会影响到高尔夫安全辅助测试的分数,所以2018版C-NCAP新规下,高尔夫的碰撞星级拿到五星还是很难的。那么,这款车车架安全性如何?
正面100%碰撞解析:
正面100%碰撞对一些车型难度不大,在时速50公里下,只要车头缓冲区设计合理,被动安全充足,安全带束缚有效,基本上不会有太致命的问题出现。高尔夫由于属于紧凑型车身设计,车头吸能区域与结构区域之间的比例就要设计充分,在撞击瞬间,车头吸能区域必须吸收掉大部分动能,才不会对车内乘员构成伤害威胁。在测试中,高尔夫车头吸能区域设计充分,没有触及结构区域,发动机下沉过程中,有部分零件还是挤压到了前挡风,挡风玻璃从中央偏副驾一侧低端开裂,不过外观整体动能吸收还是合理的。内饰安全气囊顺利弹出,安全带束缚力度也有效,假人没有出现大幅度便宜。至于伤害系数还要等到成绩公布方可知晓。
侧面碰撞解析:
在2018版C-NCAP规则中,碰撞移动车质量提升至1400kg,模拟一台紧凑级家轿,碰撞速度还是50km/h,不过由于移动车质量增加,所以惯性动能也会加大。测试这款车为230TSI 自动舒适型是有前排侧气囊和前后侧气帘,而且气帘保护面积很大,在被动安全配置上还算厚道。车门采用钢板式防撞钢梁,前后门均有配备,而且防撞钢梁设计位置合理,撞击后虽然内凹明显,尤其后门处,但从内部表现看,肉眼观察假人受伤系数并不高,当然这需要数据支撑,等成绩公布方可知晓。
正面40%偏置碰撞:
前文角师傅已说,高尔夫车头吸能区域与结构区域设计相当不错,在时速64km/h偏置碰撞下,车头吸能区域已经化解了大部分碰撞动能,惯性动能并未触及结构区域,所以碰撞后前挡风没有出现裂纹。不过有一点值得一提,角师傅在现场发现,虽然四门均可正常开启,但碰撞结束后,车门并未落锁,只有主驾驶一次侧门可开启,其余三个车门均不能打开,需要从车内开启。如果实际生活中出现类似情况,会对救援工作造成阻碍,加大救援时间,虽然这不会对整体分数构成影响,但还是希望厂家能对此进行重视。车内情况来看,假人姿态都不错,但后排假人在撞击瞬间惯性作用下,头部还是与车内C柱一侧发生了触碰,所以会加大头部受伤风险系数。
角师傅总结:有人可能看不懂碰撞试验视频,角师傅就用文字帮助大家解读。本篇文章我们只聊车体结构,车内假人受伤系数还是建立在最终成绩基础之上,所以等成绩公布后,我们还有后续报道。从车体结构来看,高尔夫表现还不错,尤其在偏置碰撞情况下,吸能区域设计相对充分,没有对结构体造车影响。但角师傅也有担心之处,有两点:其一便是刚才所说的车门落锁情况,碰撞后只有主驾驶车门可开启,其余车门依然处于上锁状态。其二,40%偏置情况下虽然碰撞没有触碰结构区,但碰撞一侧缓冲区基本消失殆尽,所以更小的偏置碰撞可能会对A柱构成威胁,这就要看A柱以及前段钢结构强度了。从之前C-IASI测试途观L的成绩来看,担心还是有的。
垃圾再生|荷兰网络社群变废为创意设计
荷兰因创意设计公司而闻名全球。近年来,在全球可持续发展的思潮下,许多环境友好型设计涌现,垃圾的回收利用及再设计是其中热门。2018年荷兰设计周,就开设了“清洁革命”专展,展出了40余个荷兰设计师在回收利用和循环经济方面的丰硕成果。
据欧盟委员会的数据,荷兰是全欧洲废物回收利用最好的国家之一,每年有70%的废物会被回收和重复利用。据调查,90%以上的荷兰人日常会积极参与废物回收利用。笔者初到荷兰时,并不清楚荷兰废物回收方式,不止一次遇到好心人主动上前讲解帮忙。
随着网络社群遍地开花,更多的荷兰人开始用网络的强大传播力,将废物回收利用和设计结合起来,造福更广阔的人群。最简单的方式,便是在脸书、推特等社交媒体上自发分享经验。笔者加入了一个荷兰人创办的名叫“Re-use, Recycle, Re-invent”的脸书小组,这个小组成员定期分享各类废物回收利用的活动与新闻,也鼓励成员发布自己旧物翻新改造的作品。此外,荷兰也涌现出不少更专业、更有指向性的废物回收兼设计的网站。
Superuse:多功能废物回收+设计分享平台
Superuse Studios是由Césare Peeren和Jan Jongert两位荷兰设计师于1997年创立的公司,注重于可持续设计。与传统设计公司不同的是,Superuse开发了各类网络平台,给设计师、设计发烧友,甚至普通网友,提供了广阔空间,来相互分享各类废物回收利用设计的知识与创意。
首先,Superuse拥有两个知识分享型网站:Cyclifier.org与Insideflows.org,均注重废物回收和循环利用的设计。两个网站架构基本一致,用户注册后可自由上传各类设计项目,并标注此项目涉及哪几类的循环利用。从学生毕业论文,到个人概念设计,再到项目方案,甚至到已建成项目,无所不包。一些项目还附有详细的设计介绍和各类图纸,并附加相关链接供人拓展阅读。
Insideflows的网站界面
Superuse的主网站(superuse.org)则是一个设计成果分享平台。设计者通过简单注册即可发帖,展示自己用回收废物设计的各类产品,并可标上价格。产品包括媒体设计、物料设计、概念设计、产品设计、室内设计、建筑设计等多种门类。每个帖子中均包含产品描述、设计概念、作者姓名、个人网站和一系列的图片展示。用户可以对成品进行打分、评论、点赞,或分享到其他社交媒体,也可以直接联系作者,商量购买事宜。
网站自2007年上线,目前有1200余个作品在线展示。其中不乏令人眼前一亮的设计,如用旧电吹风改造的落地灯,用旧滑板做成的飞马雕塑等。
Superuse上的废物改造产品
Harvest Map是Superuse的另一个网络平台。Harvest Map,顾名思义,就是人们“收获”废品并让其焕发新生的平台。网站针对的是设计和建筑行业,涉及木材、塑料、钢铁、玻璃、石材等十余种不同材料,发布者将家中或工作中的剩余废料发布到网上,进行销售或免费送出。地图上的图标显示了废品的种类与其所在地,点击图标,便能看到具体的图片和简介。
Harvest map的网站界面
在浏览过商品详情,确认需要后,可以点击Source&Order,提供者的姓名电话和邮箱便会显示。笔者一个同为建筑系的朋友,今年年初需要廉价木材做实体搭建,联系过这个网站的一个发布者。据她回忆,这是一段奇妙又有趣的体验。她给发布者送去一封邮件后,对方热情地回复了她,给她展示了更详细的砖块实体图和尺寸资料,甚至给她的搭建设计提出了建议。虽然最终因为价格原因,交易没有成功,但这无疑让人看到了未来废物循环再利用的更多可能。
个人网络二手交易对大多数人来说早已不新鲜。国内有闲鱼网,国外则有亚马逊二手竞拍等。然而这些平台更多针对的是层层加工后的产品,对于未加工或粗加工的原材料,尚未有成熟的二手交易市场存在。
国内现有的二手原材料买卖网站,如二手建材网等,仅限于建材市场内部公司间的相互交易,并未普及到个人层面。这背后的道理显而易见,原材料都是经工厂大批量生产,价格低廉,质量有保障,消费者缺乏动机也没有渠道去个人卖家处购买废料。
以Harvest Map中的木料为例,某发布者发布了一个1200 mm x 800 mm x 200mm的旧红杉木的木制框架,单个售价8-11欧之间,而在荷兰购物网站Marktplaats上发布的新木材,制作同样规格的木框架是10欧,并且免费邮递。
然而,随着普通民众对循环经济的关注度逐日上涨,个人在原材料循环利用的过程中将有更高的参与度。
总而言之,Superuse作为一个综合型的网上社群,集学习、成果展示、个人废料交易于一体,为未来废料回收+设计的发展开拓了更多空间。虽然目前Superuse仍局限于小范围的设计圈内,却暗示了一个可能性:人人都是回收者,人人都可以做设计师,变废为宝绝非难事。
Precious Plastic:开源分享平台推动个体创业
Precious Plastic由荷兰设计师Dave Hakkens在2013年创立,旨在通过网上分享互助,在全球范围内开展塑料回收循环利用的活动。短短五年间,这个网站的线上/线下社群壮大至世界各地,拥有超过六千个常驻成员,遍布各国的重要城市,包括北京、上海、杭州等中国城市。这个网站不光提供论坛和讨论区,让人们分享新创意、新设计,更特别的是它的专业教程和开源分享。
Precious Plastic的logo
Preciousplastic的官网中,重点介绍了如何仅凭简单人力,便可搭建循环利用塑料的“工作空间(Workspace)”和建造一个小型塑料处理机(Machine)。为了人人可参与,Dave Hakkens和其他工作人员一起录制了通俗易懂的教学视频,共分八个章节。该教程从塑料的特性讲起,深入浅出地诠释了如何辨别不同种类的塑料,如何快速制造简易塑料处理机,如何用再生塑料制作各类工艺品,以及如何建立起一个小型塑料处理再利用工作室的全过程。
Dave以生动的讲解和简洁明了的机器操作演示向人们展示了一种新的可能性:塑料回收处理不再是政府或大型公司的责任,也不是一场为了环保的作秀,它可能在任何人的日常生活中发生,并且兼具效率、实用性和经济价值。
Precious Plastic的教程
而教程中最重要的一环——“机器”的制作,是完全公开的。Dave将自己多年的研究成果全部开放给所有人下载,包含了产品设计图、尺寸信息、所需材料等各项信息。
网站提供四种机器的样板,第一种用于粉碎废弃塑料,并生产出再生塑料,在此过程中,通过混合不同形状和颜色的废料,让再生材料更具美观和艺术性; 另外三种则是生产产品的机器,一台是塑料加热倒模机,一台是长条塑料挤压机,一台是烤箱压缩机。
将设计开源的另一个好处是能集思广益,群策群力,不断改进。目前,Precisou Plastic已经更新到了第三代。
Precious Plastic的处理机和三台制作机
从Precious Plastic的网站上下载的机器制作图纸,并附有CAD版本
Precious Plastic成功带动了一批小型创业者和设计师。从伦敦到卡萨布兰卡,再到首尔,各地的人们用自己建造的Precious Plastic处理机将塑料再生成各类产品,甚至以此盈利。
在斯洛伐克,双人设计师团队Umelohmotne用再生塑料生产出精美的挂钟和容器,受到国家电视台采访,甚至得到总统接见;在斯里兰卡,社区公益组织建立起小型塑料再生厂,生产钱包、钥匙扣等,帮助当地穷人改善生活条件,并向当地市场持续输入货源。
Precious Plastic上的产品
2017年,Dave Hakkens获得了麻省理工学院 Innovators Under 35的表彰。评选组委会一致认为,Dave在全球带动了更多个体创业者对塑料回收利用再设计的潮流。
笔者认为,Dave与他的Precious Plastic运动,昭示了未来废物回收利用将以小规模、普及化的形式,进入到人们的经济生活中。再生材料的设计产品,不再是人们仅在环保活动中见到的实用不足的新潮玩意,而是能被更多人生产和买卖,真正为人所用,为人所爱。
荷兰还有许多组织与个人,借助网上社群与平台,推动着废物回收利用再设计的进程。不得不说,荷兰环保事业的高度成就,和荷兰设计领域的常绿常新,靠的不仅是自上而下的政策规定,而更多是行业领军人物的敏锐嗅觉,和民众自下而上的环保设计热情。
参考资料
https://ddw.nl/en/programme/282/clean-revolution-dutch-design-for-a-better-world
https://waste-management-world/a/dutch-successes
https://innovatorsunder35/the-list/dave-hakkens/
三大视频网站之外,还有谁能再次改变网络视频行业格局?
一线导读:即使有抖音、快手等新手入局,商业视频网站在核心的长视频格局上很难再发生颠覆性变化。不过广电系、电信运营商的先后入局,却可能成为再次搅动格局的重要力量。未来谁会在激烈竞争的视频领域内能脱颖而出呢?
文丨李杨
2018年,视频网站的格局之争可谓风起云涌。
背靠BAT三巨头的三大视频网站,在2018年开年以来以现象级网综和剧集等重磅武器投入市场,围绕着大文娱生态系统的各个层级进行着激烈的博弈和竞争。而在此之外,我们看到原先身处第二梯队的视频网站似乎是在一路下滑,逐渐沉沦。不过今日头条系的抖音等短视频系的异军突起则开始冲撞刚刚稳定的市场格局。
那么,未来视频行业又将呈现出何种变化?还有谁会在激烈竞争的视频领域内能脱颖而出呢?
闯入者入局长视频,第二梯队变身“小而美”
就在腾讯、爱奇艺、优酷上演的“三国杀”愈演愈烈之时,短视频异军突起。同时,身处第二梯队的几家视频网站也拿出了布局策略,试图在竞争激烈的视频行业竞争中继续分得一杯羹。
1、新的闯入者:今日头条计划入局长视频
近两年,今日头条的快速崛起有目共睹,尤其是其旗下抖音短视频,在上线一年半后,日活用户突破1.5亿,市场占有率逐渐扩大。在线上流量红利日渐消失之际,抖音的迅速崛起,显然给传统视频网站带来了不小的冲击。
尤其是随着抖音的爆红,让今日头条成功收割了大量的年轻用户。而这部分用户即将成为消费主力,是未来互联网红利的主要来源。因此,虽然与爱、腾、优主打的长视频业务表面上看冲突并不大,但在争夺用户市场的角度来看存在激烈的竞争。
就在今年2月,今日头条发布了一则招聘“自制剧招聘制片助理和剧本编审”的信息,随即就有知情人士透露,年内今日头条或将进军长视频领域,开展网剧制作等内容。
不过长视频和短视频在商业模式、内容、传播等诸多方面都存在不同,许多短视频成功的经验难以复制到长视频领域,尤其是国内目前还没有短视频平台进军长视频领域的成功先例,今日头条入局长视频领域是否能撼动视频行业现有局势,还有待观察。
2、第二梯队:固守垂直领域,走差异化竞争之路
如今,BAT的三家垄断寡头分走了超过50%的市场份额;而以搜狐、乐视、PPTV等为代表的视频网站二梯队逐渐落伍,市场份额尚不足25%,只有主打二次元文化的B站,尚能保持独有的竞争力。
与第一梯队三大平台庞大的内容支出金额相比,处在第二梯队的商业网站在内容方面的支出可以说完全不在一个量级。没有强劲的财力支撑显然无法参与视频平台玩家争夺战,因此,发力自制,走一条“小而美”的差异化路线,或许是第二梯队的生存之道。
在5月底举办的2018春夏推介会上,搜狐视频发布了其将采取垂直化内容细分的战略,希望打差异化牌挖掘相应市场,如准备推出《法医秦明2》《拜见宫主大人2》等自制剧。曾经也是靠着购买美剧独领风骚的视频网站,但眼下搜狐视频在人力、财力上都在走下坡路,很难正面对现有的视频网站格局发起挑战,只能通过发力自制剧及自制综艺等,走出一条不同于三大视频平台的小而美之路。
而处在同一梯队的乐视,在过去的一年,我们几乎是目睹了它的由盛而衰。从今年一季度发布的财报来看,2017年乐视巨亏139亿,虽然也依然计划拿出20多个亿来买版权,但相对与其它几家动辄上百亿的金额,乐视未来在版权领域几乎无力再战,能活下来就是万幸了。
PPTV在与苏宁结盟之后,基于后者资金优势,先后拿下西甲、英超、中超、亚冠、UFC、WWE等热门体育内容的全媒体独家版权,价值超过百亿元,覆盖90%的体育赛事,在体育这一领域内上有绝对的优势。
不过PPTV也试图布局娱乐版权。2017年,以2亿元的价格买下电视剧《人民的名义》独播版权,而后在电视剧走红期间,将独家版权分销给爱奇艺、腾讯等其他视频网站。此后,又拿下《凉生,我们可不可以不忧伤》等一批头部影视剧版权。
从目前的情况来看,视频网站第一梯队与第二梯队之间的差距已经拉开,预计未来视频平台梯队间转换较难。但是第二梯队阵营的格局出现了些许的变化,乐视视频因为财务问题,无力版权争夺,搜狐视频由于长期亏损退出“烧钱”大战转而走差异化路线,而PPTV背后尚有苏宁集团的支持,似乎还在试图向一线阵营发起挑战。
背靠政策优势,先发后至的广电系视频网站是否还有机会
自视频网站竞争进入白热化以来,三大视频平台在内容上日益同质化,用户重复率也较高。而就在视频网站的竞争进行的如火如荼之时,以芒果TV、CNTV等为代表的广电系视频网站,也加入了战局。
一直以来,传统卫视与视频网站之间始终处于博弈制衡关系,但CNTV、芒果TV的频频动作却似乎表明,以内容和政策优势赖以生存的广电系新媒体并不能小觑。
1、三大巨头平台的夹击之下,芒果TV发力自制
作为湖南广电旗下的新媒体,芒果TV从2014年起推行独播战略,将母台的优势内容全部收入囊中。湖南卫视不计成本为芒果TV输出内容,让芒果TV在内容获取方面具备了得天独厚的竞争力,很快在视频网站的竞争中脱颖而出。
而从2017年开始,面对日益激烈的竞争,芒果TV也开始将《向往的生活》、《亲爱的客栈》等综艺悉数分销给其他视频平台,获得了不少版权收入。与此同时,其自制的《明星大侦探》、《妈妈是超人》等综艺,也打造出了独属的特色。因此,在目前国内视频行业平台普遍亏损的情况下,芒果TV成为数不多实现盈利的视频网站。
近年来,芒果TV不断发展自制综艺,创造了《明星大侦探》等网络原生IP。同时,《爸爸去哪儿》、《妈妈是超人》、《变形计》等原湖南卫视的IP,也成功移植到了芒果TV平台制作、播出。
而在自制综艺取得一定优势的前提下,芒果TV发布了2018年的内容战略,将加强节目和剧类自制投入,给内容创作最大空间。眼下,除已开播的《茧镇奇缘》、《那刻的怦然心动》和《法医秦明2清道夫》,芒果TV还有《流星花园》、《火王》、《我与你的光年距离2》等多部未来将上架的网剧。
在三大巨头平台的夹击之下,芒果TV的突围之路并不容易。或许,它无法成为下一个爱奇艺、优酷,但背靠湖南广电,已经上市成功的芒果TV肩负着打造下一个“湖南卫视”的任务和希望,或成为视频行业一股不可小觑的力量。
2、CNTV能否以更灵活姿态参予竞争
2018年,面对优腾爱三大视频网站百亿量级的内容透入,传统电视媒体似乎已经无法在同一层级上与商业视频网站正面竞争。
然而也就在今年3月,中央广播电视总台正式组建,慎海雄任总台长和党组书记。中央三台的合并,重新对内部资源进行梳理,集中全部优势力量,应对与商业视频网站的这场竞争。
过去,CNTV在新媒体行业的定位是内容提供方和平台,更多的是新闻宣传和版权售卖部门,在自制内容领域并没有实际的举措。而在总台成立之后,在自制领域是否会有更多的布局,成为各方专注的重点。
未来,整合后的CNTV或将以更加灵活的身段参与新媒体竞合,利用自己的资源优势,结合新技术,前瞻性地构建自己的新平台,实现弯道超车。
实力雄厚的幕后操盘者,电信运营商悄然入局
国内互联网企业和电信运营商一直存在既交叉又平行的竞争,双方即有互补合作,在核心业务上又有替代和竞争。
5月,咪咕官方宣布:中国移动咪咕公司正式成为2018央视世界杯新媒体及电信传输渠道指定官方合作伙伴。证实了咪咕视频成为首家获得央视世界杯全场次的新媒体权益的视频平台,用户可以通过移动端和PC客户端来收看全部赛事直播和衍生内容。
相比同样作为新媒体合作伙伴的优酷,咪咕还多了电信传输渠道制定合作伙伴的头衔,目的就是凭借世界杯这一超级内容IP来争夺大屏场景下的流量市场,毕竟自制内容对于咪咕来说算是短板,无法短期内带来大量流量。
所以这一次,作为中国移动重要的新媒体公司,咪咕视频买进世界杯版权,获得了一个迅速跑马圈地抢占体育市场的机会。而这是否意味着拥有强大现金流的电信运营商将大举进军视频 内容领域?
在三大运营商中,手握9亿用户的中国移动,其2017年营收规模近2倍于BAT之和,资金实力非常雄厚,也因此开始自有业务和版权内容展开了不遗余力的扶持。年初,咪咕视频宣布以百万基金扶持原创视频。此外,还进行了IP的孵化,内容自制的尝试,其2017年自制的《Battle!好身材》就是咪咕视频试水综艺的第一步。
同为咪咕旗下的咪咕音乐板块,已经建立了较为完善的商业模式并成为音乐市场的重量级玩家。近年来,咪咕公司围绕泛娱乐产业全面布局,此次借助世界杯这个契机,中国移动让咪咕视频悄然入局,它能否持续发力复制咪咕音乐的成功之路?
总结
从目前的情况来看,商业视频网站寡头趋势已经形成,即使有抖音、快手等新入局的“野蛮人”,但在核心的长视频格局上很难再发生颠覆性变化。但是随着广电系、电信运营商的先后入局,可能成为再次搅动格局的重要力量,让视频行业逐渐生出新“变量”。
2018年,视频行业迎来最严监管年,在管理、政策等多重因素等影响下,视频网站的格局可以说并未到大局已定的程度,未来行业格局还将会有哪些新的变化,值得继续期待。
原创文章,未经授权谢绝转载!
SiteServer CMS 如何架构大型网站---原理篇
如果您觉得文章对您有点用,麻烦在您阅读、收藏、转发的时候,顺手帮忙点个赞、留个言、加关注,这是我继续写下去的绝佳动力。
在和网友交流的时候,经常听到网友报怨说SiteServer CMS性能不好,速度不快,让帮忙想想解决办法。本人使用SiteServer CMS架构过几个也算不小的门户网站,并没有碰到这么明显的性能问题。抱着好奇心帮网友看了看他的系统部署结构,了解完之后真的有种让人哭笑不得的感觉,后台数据已经超100万了竟然还在使用access数据库。
正好最近在研读李神的《大型网站技术架构》一书,就想着结合SiteServer CMS多年的使用经验,写两篇文章和大家互相交流学习。本篇是以讲解大型网站架构演化发展历程为主,以及大型网站的特性,这篇是以理论为主。后面跟着写一篇利用SiteServer CMS 如何架构大型网站,这篇以实践为主。
一、大型网站系统应有的特点
高并发、大流量
需要面对高并发用户,大流量访问。Google 日均 PV 35 亿,日 IP 访问数 3 亿;腾讯 QQ 的最大在线用户数 1.4 亿(2011年数据)。
高可用
系统 7 x 24 小时不间断服务。
海量数据
需要存储、管理海量数据,需要使用大量服务器。Facebook 每周上传的照片数量接近 10 亿,百度收录的网页数目有数百亿,Google 有近百万台服务器为全球用户提供服务。
用户分布广泛,网络情况复杂
许多大型互联网站都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别。在国内,还有各个运营商网络互通难的问题。
安全环境恶劣
由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击。
需求快速变更,发布频繁
和传统软件的版本发布频率不同,互联网产品为快速适应市场,满足用户需求,其产品发布频率极高。一般大型网站的产品每周都有新版本发布上线。
渐进式发展
几乎所有的大型互联网网站都是从一个小网站开始,渐进地发展起来的。Facebook 是扎克伯格同学在哈佛大学的宿舍里开发的;Google 的第一台服务器部署在斯坦福大学的实验室;阿里巴巴是在马云家的客厅诞生的。好的互联网产品都是慢慢运营出来的,不是一开始就开发好的,这也正好与网站架构的发展演化过程对应。
二、大型网站架构演化发展历程
阶段1:单机时代
草根时期,快速开发网站并上线。当然,通常只是先试水,用户规模也没有形成,经济能力和投入也非常有限。应用程序、数据库、文件等所有资源都集中在一台 Server上,典型案例:基于 LAMP 架构的 PHP 网站;
优点:简单、快速迭代达成业务目标;
缺点:存在单点、谈不上高可用;
技术点:应用设计要保证可扩展;
阶段2:使用缓存改善网站性能
好景不长,随着访问的人越来越多,你发现响应速度又开始变慢了,查找原因,发现是访问数据库的操作太多,导致数据连接竞争激烈,所以响应变慢,但数据库连接又不能开太多,否则数据库机器压力会很高,因此考虑采用缓存机制来减少数据库连接资源的竞争和对数据库读的压力。
优点:简单有效、方便维护;
缺点:存在单点、谈不上高可用;
技术点:客户端(浏览器)缓存、前端页面缓存、页面片段缓存、本地数据缓存/数据库缓存、远程缓存;
知识体系:缓存技术,包括像Map数据结构、缓存算法、所选用的框架本身的实现机制等。
缓存主要为分三种:
页面缓存:客户端缓存,减少对网站的访问;
本地缓存:访问速度快,但数据量有限,减少对DB查询;
远程缓存:远程访问,可以集群,因此容量不受限制;
阶段3:应用和数据分离
随着网站业务的发展,一台服务器逐渐不能满足需求,越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足,这时候,就需要将应用和数据分离,此时整个网站使用三台服务器:应用服务器,文件服务器和数据库服务器。
优点:简单有效、方便维护、提高不同Server对硬件资源的利用率;
缺点:存在单点、谈不上高可用;
技术点:文件服务器部署、数据库服务器,扩展数据访问模块;
三台服务器对硬件资源要求各不相同:
应用服务器需要处理大量的业务逻辑,因此需要更快更强大的CPU;
数据库服务器需要快速磁盘检索和数据缓存,因此需要更快的硬盘和更大的内存;
文件服务器需要存储大量的用户上传文件,因此需要更大的硬盘;
阶段4:使用应用服务器集群改善网站的并发处理能力
当有一台服务器的处理能力、存储空间不足时,不要企图去更换更强大的服务器,对于大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。此时,应该考虑增加一台服务器分担原有服务器的访问以及存储压力。
优点:增加服务器和HA机制,系统性能及可用性得到保证;
缺点:应用之间缓存、Session一致性问题;
技术点:负载均衡;
知识体系:负载均衡技术(硬件负载均衡、软件负载均衡、负载算法等)、主备技术(ARP欺骗、linux heart-beat等)、状态信息或缓存同步技术(Cookie技术、UDP协议、状态信息广播、所选用的缓存同步技术的实现细节等)、共享文件技术(NFS等)、存储技术(存储设备等)。
使用应用服务器集群改善网站的并发处理能力会碰到一些问题,典型的有:
1、如何让访问分配到这两台机器上,这个时候通常会考虑的方案是IIS自带的负载均衡方案,或LVS这类的软件负载均衡方案;
2、如何保持状态信息的同步,例如用户session等,这个时候会考虑的方案有写入数据库、写入存储、cookie或同步session信息等机制等;
3、如何保持数据缓存信息的同步,例如之前缓存的用户数据等,这个时候通常会考虑的机制有缓存同步或分布式缓存;
4、如何让上传文件这些类似的功能继续正常,这个时候通常会考虑的机制是使用共享文件系统或存储等;
在解决了这些问题后,终于是把webserver增加为了多台,系统终于是又恢复到了以往的速度。通过集群解决高并发、海量数据问题的常用手段,实现系统的可伸缩性。通过负载均衡调度器,可将用户访问分发到集群中的某台 Server 上,应用服务器的负载压力不再成为整个网站的瓶颈。
阶段5:动态程序和静态页面分离
动静分离也是提高网站响应速度的一种常用方式。将动态请求与静态请求分离开,尽量减少对应用服务器的压力。同时,可以再进一步对静态请求,进行缓存,以加快响应速度。需要开发人员配合(把静态资源放独立站点下)。
优点:减轻应用负载压力,针对静态文件缓存;
缺点:静态文件缓存更新失效问题;
技术点:动静分离、静态文件缓存方案;
阶段6:使用反向代理和CDN加速网站响应
CDN和反向代理的基本原理都是缓存,使用 CDN 和反向代理的目的都是尽早返回数据给用户,一方面加快用户访问速度,另一方面也减轻后端服务器的负载压力。区别在于:
CDN部署在网络提供商的机房,用户在请求时,能从最近的机房获取到资源;
反向代理部署在网站的中心机房,当用户请求到达中心机房后,首先访问的是机房的反向代理服务器,如果反向代理服务器中存储了用户请求的资源,那么优先返回该部分资源给用户。
优点:减轻应用负载压力,异地缓存有效解决不同地方用户访问过慢的问题;
缺点:成本大幅增加,架构进一步复杂化,也维护难度进一步增大,静态文件缓存更新失效问题;
技术点:CDN、反向代理方案;
阶段7:数据库读写分离
单台数据库也感觉快撑不住了,一般都会尝试做“读写分离”,因为大部分互联网“读多写少”。目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库服务器的数据更新同步到另外一台服务器上,网站利用这一功能,实现数据库读写分离,从而改善数据库负载压力。
优点:简单有效、降低数据库单台压力;
缺点:读写分离,增加程序难度,架构变复杂,维护难度增加;
技术点:数据库主从同步部署,扩展数据访问模块,实现读写分离;
知识体系:数据读写分离要求对数据库的复制、standby等策略有深入的掌握和理解,同时会要求具备自行实现的技术;
阶段8:应用和数据库垂直拆分(业务拆分)
随着业务越来越复杂,网站的功能越来越多,虽然部署层面是采用的集群,但是应用程序架构层面还是“集中式”的,这样会导致很多耦合,不便于开发、维护,而且容易“一荣俱损”。所以,通常会把网站拆分出不同的子站点来单独宿主。
通过分而治之的手段将整个网站业务分成不同的产品线,如首页、商铺、订单、卖家、买家等拆分成不同的产品线,分归不同的业务团队负责。各个应用之间可以通过建立一个超链接建立关系,也可以通过消息队列进行数据分发。
应用都拆了,由于单个数据库的连接,QPS,TPS,I/O处理能力都非常有限,DB层面也可以去做垂直分库操作,目前一个大型互联网公司都用分库甚至分表方案。
优点:降低耦合、分压;降低DB耦合、分压DB;
缺点:应用架构复杂;数据访问模块复杂;
技术点:业务抽取拆分;
三、网站架构总结
这个世界没有那个网站从诞生起就是大型网站,也没有哪个网站从发布起就有庞大的用户,高并发的访问以及海量的用户,大型网站都是从小型网站发展而来的。
大型网站架构技术的核心价值不是从无到有建立一个网站,而是能够伴随小型网站业务的逐步发展,慢慢演化成一个大型网站,在此过程中,不需要放弃什么,不需要推翻什么,不需要剧烈的革命,就慢慢的把一个有=只有一台服务器,几百个用户的小网站演化成一个几十万台服务器,数十亿用户的大型网站。
一切以解决业务目标为首要任务;没有以业务为目标的任何架构、技术,都是毫无意义的耍流氓;再牛逼的架构、再牛逼的技术,不能够解决业务的问题,你也只能算是会架构、会技术的工匠,而不能算是真正意义上的架构师;业务成就了技术,平台成就了人,事业成就了人,而不是相反;
网站排名不稳定是怎么回事?要怎么解决
很多做seo的朋友都会遇到这个问题,那么这是怎么回事呢?要怎么做才能解决这个问题呢?现在我们就这个问题来为朋友解答下。
网站排名不稳定是怎么回事?要怎么解决网站排名不稳定是怎么回事
首先我们要了解搜索引擎,搜索引擎的一直在变的,所以当你的排名符合搜素引擎排名规则的时候就参与排名了,但是下去是怎么回事呢?也可以说是别人的排名比你更符合规则,这里也存在一种情况就是你做的不到位,被误判了。
这样解决排名不稳定的情况
这里主要分以下几点:
1、网站内容质量要过关
网站质量是直接影响排名的因素,所以不论什么时候,我们都要抓质量。
2 、网站内链
我们之前发布的文章就有介绍过关于内链的重要性,内链起强调作用,你做的内容要告诉搜索引擎你这个页面就是介绍的这个内容(根据关键词),不断的强调,这样搜索引擎就认为你这个页面就是精准的页面。
3、网站外链
虽然说现在外链一次又一次的降低权重,但是该做的还要做,重点抓质量,做高质量外链。
4、友情链接
友情链接也是不容忽略的一个资源,但是很多人都不能长期的坚持,友情链接质量高的也会带动你的网站。
总结:网站排名不稳定,做好上面四点就可以稳定排名了,但是有一点,不要过度的优化。
医疗行业如何做好SEO
要想做好seo就要熟悉搜索引擎的排名规则
为什么都是做SEO,你的排名不如别人
为什么做网站发布原创文章不收录,原因都有哪些
SEO如何做高质量外链,外链的特性有哪些
本页内容为企业、个人自主上传或来源网络,所有资料仅供用户参考;我单位不对其版权负责、不保证亦不表示本网的资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。