大型网站技术架构——读后摘要6

2023-10-24 01:48

本文主要是介绍大型网站技术架构——读后摘要6,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网站的伸缩性架构
网站架构的伸缩性设计
1.不同功能进行物理分离实现伸缩


每次分离都会有新的服务器加入网站来处理特定服务。

再细化:

  • 纵向分离:将业务流程上不同部分分离部署实现系统伸缩性。
  • 横向分离:将不同的业务模块分离部署,实现伸缩性。
2.单一功能通过集群规模实现伸缩

对于用户量非常大的网站,再单一的功能一台服务器也无法满足用户量,所以以集群的方式来分担一台服务器的负载压力

应用服务器集群的伸缩性设计
1.HTTP重定向负载均衡

客户端发送的请求经过HTTP重定向负载均衡服务器,重定向负载均衡服务器会将应用服务器的ip给客户,客户重定向完成访问。缺点:访问太慢,相当于两次请求一次响应,太耗时。

2.DNS域名解析负载均衡

客户通过域名对服务器进行访问,域名请求首先通过DNS服务器,DNS服务器域名对应着一系列ip,DNS服务器会通过算法将其中一个ip返回给客户端,客户端再向指定服务器请求。

另外DNS服务器还支持地理位置域名解析,这样请求就会发往距离比较近的服务器。

3.反向代理负载均衡


反向代理服务器要配置在web服务器的前面,web服务器无需知道用户的ip,它只需与反向代理服务器网络相通;用户的网络要与反向代理服务器相通,这样反向代理服务器就要有两个网卡和两套ip地址。

4.IP负载均衡

在网络层通过修改目标服务器ip来实现负载均衡。

5.数据链路层负载均衡:



常用的负载均衡算法:

  • 轮询:所有请求依次发往每台服务器。
  • 加权轮询:根据服务器性能的不同,高性能的服务器分配更多的请求。
  • 随机:请求随机发往服务器
  • 最少连接:记录每台服务器正在处理的连接数,将新到的请求发往最少连接的服务器上。
  • 源地址散列:根据请求来的ip进行Hash计算,得到对应服务器,这样来自同一台ip地址的请求就会落到同一台服务器上处理,实现回话黏滞。
分布式缓存集群的伸缩性

分布式缓存服务器集群的设计不同于应用服务器集群。因为请求在访问缓存服务器是先找到有缓存数据的服务器,然后再访问服务器,如果缓存服务器集群的服务器很多,请求在找到有相应请求的缓存数据服务器将浪费大量时间。

Memcached分布式缓存集群的访问模型

被访问的数据都有key标志,这个标志可以帮你找到对应缓存服务器的ip和端口。

                   


分布式缓存的一致性hash算法(hash环)

如果新加入一台服务器,那么受到影响的服务器就是加入服务器两端的两台服务器。

数据存储服务器集群伸缩性设计
关系数据库集群的伸缩设计

Cobar分布式关系数据库访问代理的应用


Cobar的伸缩有两种:Cobar服务器集群的伸缩和Mysql服务器集群的伸缩。

Cobar实现数据迁移可以利用一致性Hash算法


NoSQL数据库的伸缩性设计

主要看Hbase!!!

这篇关于大型网站技术架构——读后摘要6的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/271897

相关文章

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

python协程实现高并发的技术详解

《python协程实现高并发的技术详解》协程是实现高并发的一种非常高效的方式,特别适合处理大量I/O操作的场景,本文我们将简单介绍python协程实现高并发的相关方法,需要的小伙伴可以了解下... 目录核心概念与简单示例高并发实践:网络请求协程如何实现高并发:核心技术协作式多任务与事件循环非阻塞I/O与连接

MySQL集群高可用架构的两种使用小结

《MySQL集群高可用架构的两种使用小结》本文介绍了MySQL的两种高可用解决方案:组复制(MGR)和MasterHighAvailability(MHA),文中通过示例代码介绍的非常详细,对大家的学... 目录一、mysql高可用之组复制(MGR)1.1 组复制核心特性与优势1.2 组复制架构原理1.3

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri