第四周作业
一个典型的大型互联网应用系统需要应用到的技术有以下几大类
1.前端技术
1.1前端开发
Html、Css、JavaScript开发语言与技术,主要作用是内容渲染为用户提供交互服务。
1.2浏览器优化
浏览器缓存、内容压缩,主要作用是优化加载速度,提供高性能支持
1.3CDN
CDN是内容分发网络,通过网络优先选择最快的资源服务器,性能服务。
2.服务器技术
2.1服务器(实体/虚拟/云)
服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。
虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术、
云计算被认为是继个人PC及互联网以来,第三次的IT浪潮,将会改变人们获取、处理和保存信息的方式。云计算利用高速互联网的传输能力,将数据的处理过程从个人计算机或服务器转移到大型的云计算中心,并将计算能力、存储能力以服务的方式为用户提供,用户能够像使用电力、自来水等公用设施一样使用计算能力,并按使用量进行计费。
2.2网络服务
dns服务(bind/第三方平台等)、web服务(nginx/apache)
2.3负载均衡
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
2.4集群技术
技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。
2.5分布式缓存
分布式缓存是为了解决数据库服务器和Web服务器之间的瓶颈,如果一个网站流量很大这个瓶颈将会非常明显,每次数据库查询耗费的时间将不容乐观。对于更新速度不是很快的站点,可以采用静态化来避免过多的数据查询 。
2.6消息队列服务
消息队列服务有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ等。
2.7弹性扩展
垂直伸缩:通过升级硬件和网络吞吐能力可以实现垂直伸缩
水平伸缩:水平伸缩是指通过增加服务器提升计算能力的一类架构方法。
2.8备份服务
容灾备份系统时会涉及到多种技术,如:SAN或NAS技术、远程镜像技术、基于IP的SAN的互连技术、快照技术等。这里重点介绍远程镜像、快照和互连技术。
3.后端技术
3.1编程语言
WEB编程语言,分为WEB静态语言和WEB动态语言,WEB静态语言就是通常所见到的超文本标记语言 (标准通用标记语言下的一个应用),WEB动态语言主要是ASP,PHP,JAVASCRIPT,JAVA,CGI等计算机脚本语言编写出来的执行灵活的互联网网页程序。
3.2架构模式
架构模式,也叫架构风格,一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一些呈先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。一个架构模式常常可以分解成很多个设计模式的联合使用。互联网架构模式就是试图去描述那些为解决互联网系统高性能、高可用、易扩展、可伸缩、安全等目标,被很多互联网应用重复使用的一些解决方案,这些解决方案是互联网
软件系统的重要组成部分。
3.2.1分层
分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,
每个部分负责一部分相对比较单一的职责,然后通过上层对下层依赖和调用组成一个完
整的系统。
3.2.2分割
系统越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割
开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面,
便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
3.2.3分布式
对于大型网站,分层和分割的一个主要目的是为了切分后的模块便于分布式部署,即将
不同模块部署在不同的服务器上,通过远程调用协同工作。
3.2.4缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段,在复杂的软件设计中,缓存几乎无处不在。大型网站架构设计在很多方面都使用了缓存设计。
3.2.5异步
计算机软件发展的一个重要目标和驱动力是降低软件耦合性。事物之间越少直接关系,那么就越少被彼此影响,越可以独立发展。大型网站架构中,系统解耦合的手段除了前面提到的分层、分割、分布等手段,还有一个重要手段是异步,就是将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方法进行协作。
3.3服务层架构
微服务框架:微服务架构是一项在云中部署应用和服务的新技术,微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。
分布式消息队列:消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。
分布式缓存
分布式一致性(锁)服务
4.存储技术
5.安全技术
评论