个人总结,仅供参考,欢迎加好友一起讨论
高性能、高可用、可维护、应变、安全
应用服务器集群,将产生如下问题:
应用层负载均衡
http重定向
HTTP重定向就是应用层的请求转发。用户的请求其实已经到了HTTP重定向负载均衡服务器,服务器根据算法要求用户重定向,用户收到重定向请求后,再次请求真正的集群。
特点:实现简单,但性能较差。
反向代理服务器
在用户的请求到达反向代理服务器时(已经到达网站机房),由反向代理服务器根据算法转发到具体的服务器。常用的apache、nginx都可以充当反向代理服务器。
特点:部署简单,但代理服务器可能成为性能的瓶颈。
传输层负载均衡
DNS域名解析负载均衡
DNS域名解析负载均衡就是在用户请求DNS服务器,获取域名对应的IP地址时,DNS服务器直接给出负载均衡后的服务器IP。
特点:效率比HTTP重定向高,减少维护负载均衡服务器成本。但一个应用服务器故障,不能及时通知DNS,而且DNS负载均衡的控制权在域名服务商那里,网站无法做更多的改善和更强大的管理。
基于NAT的负载均衡
基于NAT的负载均衡将一个外部IP地址映射为多个IP地址,对每次连接请求动态地转换为一个内部节点的地址。
特点:技术较为成熟,一般在网关位置,可以通过硬件实现。像四层交换机一般就采用了这种技术。
静态算法(不考虑动态负载)
动态算法(考虑动态负载)
硬件负载均衡:F5
软件负载均衡:LVS、Nginx、HAprox
无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息。
有状态服务(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的。
判断以下构件是有状态服务还是无状态服务:
ORM (Object Relational Mapping),对象与关系数据之间的映射。
映射关系表
面向对象 | 关系数据库 |
---|---|
类(class) | 数据库的表(table) |
对象(object) | 记录(record,行数据) |
对象的属性(attribute) | 字段(field) |
实现技术对比表
维度 | Hibernate | MyBatis |
---|---|---|
对比 | 强大、复杂、间接、SQL无关(HQL语句) | 小巧、简单、直接、SQL有关 |
可移植性 | 好(不关心具体数据库) | 差(根据数据库SQL编写) |
复杂多表关联 | 不支持 | 支持 |
详细请跳转案例数据库分析,请移步以下连接:
案例分析 - 数据库设计(基本)
案例分析 - 数据库设计(分布式)
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。
XML
扩展标记语言(Extensible Markup Language,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
优点:
缺点:
JSON
JSON(JavaScript 0bject Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。
优点:
缺点:
Wwb应用服务器可以理解为两层意思:
Apache:Web服务器,市场占有率60%左右。它可以运行在几乎所有的Unix、Windows、Linux系统平台上。
IIS,早期Web服务器,目前小规模站点仍有应用。
Tomcat,开源、运行Servlet和JSP Web应用软件的基于Java的Web应用软件容器。
JBOSS,JBOSS是基于J2EE的开放源代码的应用服务器。一般与Tomcat或Jetty绑定使用。
WebSphere,一种功能完善、开放的Web应用程序服务器,它是基于Java的应用环境,用于建立、部署和管理lnternet和Intranet Web应用程序。
WebLogic,BEA WebLogic Server是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。
Jetty, Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。
REST (Representational State Transfer,表述性状态转移)是一种通常使用HTTP和XML进行基于Web通信的技术,可以降低开发的复杂性,提高系统的可伸缩性。
REST的5个原则:
响应式Web设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的布局。例如,满足手机端,平板,PC端等多种设备下的全部适应。
方法与策略:
中台是一套结合互联网技术和行业特性,将企业核心能力以共享服务形式沉淀,形成“大中台、小前台”的组织和业务机制,供企业快速低成本的进行业务创新的企业架构。中台又可以进一步细分,比如业务中台、数据中台、XX中台。本质上,都是对企业通用能力在不同层面的沉淀,并对外能力开放。
中台的践行者
Supercell,芬兰移动游戏巨头,2015年世界游戏前10占5席,员工仅200多人,因使用中台,具有小团队快速开发能力,后被腾讯86亿美金收购。
阿里,2015年参观Supercell,而后推行中台。
例如阿里中台:
业务中台:提供重用服务,例如学员中心、课程中心之类的开箱即用可重用能力。
数据中台:提供数据整合分析能力,帮助企业从数据中学习改进,调整方向。
技术中台:提供技术重用组件能力,帮助解决基础技术平台的复用。如,中间件、分布式存储、AI、负载均衡等基础设施。
业务中台 vs 数据中台
数据中台必备的4个核心能力:
云计算是集合了大量计算设备和资源,对用户屏蔽底层差异的分布式处理架构,其用户与提供实际服务的计算资源是相分离的。
优点:超大规模、虚拟化、高可靠性、高可伸缩性、按需服务、成本低【前期投入低、综合使用成本也低】。
按照服务类型分类:
按照部署方式分类:
架构图如下:
边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务,其本质是计算处理职能的本地化。
应用层,应用服务智能终端。
平台层,操作系统软件开发设备管理平台连接管理平台。
网络层,接入网核心网业务网专有网络通信标准/协议。
感知层,传感器芯片通信模组感知类智能设备/装置。
阅读以下关于Web系统架构设计的叙述,在答题纸上回答问题1至问题3。
某电子商务企业因发展良好,客户量逐步增大,企业业务不断扩充,导致其原有的B2C商品交易平台已不能满足现有业务需求。因此,该企业委托希赛公司重新开发一套商品交易平台。该企业要求新平台应可适应客户从手机、平板设备、电脑等不同终端设备访问系统,同时满足电商定期开展“秒杀”“限时促销”等活动的系统高并发访问量的需求。面对系统需求,希赛公司召开项目组讨论会议,制定系统设计方案。讨论会议上,王工提出可以应用响应式Web设计满足客户从不同设备正确访问系统的需求。同时,采用增加镜像站点、CDN内容分发等方式解决高并发访问量带来的问题。李工在王工的提议上补充,仅仅依靠上述外网加速技术不能完全解决高用户并发访问问题,如果访问量持续增加,系统仍存在崩溃可能。李工提出应同时结合负载均衡、缓存服务器、Web应用服务器、分布式文件系统、分布式数据库等方法设计系统架构。经过项目组讨论,最终决定综合王王和李工的思路,完成新系统的架构设计。
【问题1】
请用200字以内的文字描述什么是“响应式Web设计”,并列举2个响应式Web设计的实现方式。
【问题2】
综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案。新系统架构图如下图所示。请从选项(a)~(j)中为架构图中(1)~(8)处空白选择相应的内容,补充支持高并发的Web应用系统架构设计图。
(a)Web应用层(b)界面层(c)负载均衡层(d)CDN内容分发(e)主数据库
(f)缓存服务器集群(g)从数据库(h)写操作(i)读操作(j)文件服务器集群
【问题3】
根据李工的提议,新的B2C商品交易平台引入了主从复制机制。请针对B2C商品交易平台的特点,简要叙述引入该机制的好处。
【问题1】
响应式web设计是指我们设计与开发的页面可以根据用户的行为和不同的设备环境做出相应的响应来调整页面的布局,以提供用户可感知的、流畅的阅读和操作体验。
实现方式:(1)流式布局(2)弹性布局,如弹性图片(3)媒体查询
【问题2】
(1):(d)
(2):(c)
(3):(f)
(4):(a)
(5):(e)
(6):(h)
(7):(g)
(8):(i)
【问题3】
(1)提升性能,交易平台要求高并发,主从复制方式一主多从,不同的用户请求可以从不同的从数据库读取数据,提高并发度
(2)可扩展性更优,如果采用单台数据库服务器,则访问量持续增加时,数据库瓶颈暴露,且无法迅速解决问题。而主从结构可以快速增加从服务器数量,以满足需求。
(3)提升可用性,一主多从,一台从服务器出现故障不影响整个系统正常工作。
(4)相当于负载均衡,一主多从分担任务,相当于负载均衡。
(5)提升数据安全性,系统中的数据冗余存放多份,不会因为某台机器硬件故障而导致数据丢失。