大型网站技术架构——核心原理与案例分析(三)

简介: 集群环境下,Session管理的主要方式:1、Session复制 适用于集群规模较小2、Session绑定 将来源于同一IP的地址,分配到固定的服务器3、利用Cookie记录Session 缺点 Cookie受大小限制,如果关闭Cookie,访问就会受限。

集群环境下,Session管理的主要方式:

1、Session复制 适用于集群规模较小

2、Session绑定 将来源于同一IP的地址,分配到固定的服务器

3、利用Cookie记录Session 缺点 Cookie受大小限制,如果关闭Cookie,访问就会受限。、

4、Session服务器 将应用服务器状态分离、分离成有状态的Session服务器,无状态的应用服务器

高可用服务的策略:

1、分级管理

2、超时设置

3、异步调用

4、服务降级、拒绝服务 关闭功能 

5、幂等性设计  指应用调用服务失败后,会将调用请求重新发送到其他服务器,但是这个失败可能是虚假的失败。缺点,服务重复调用是无法避免的,因此必须在服务层保证服务重复调用和调用一次产生的结果相同,即服务具有幂等性。

高可用的数据

     保证数据存储高可用的手段主要是数据备份和失效转移机制。数据备份是保证数据有多个副本,失效转移机制是保证当一个数据副本不可访问时,可以快速切换访问数据的其他副本。

高可用数据有以下几层含义:

1、数据持久性

2、数据可访问性

3、数据一致性

CAP原理  

数据一致性(Consisency):

     a、数据强一致:各个副本数据在物理存储中总是一致的

     b、数据用户一致 :即数据在物理存储中各个副本的数据可能不一致,但是终端用户访问时,通过纠错和校验机制,可以确定一个一致的且正确的数据返回给用户

    c、数据最终一致、系统经过一段时间(比较短)的自我修复和修正,数据最终达到一致

数据可用性(Avalibility)

分区耐受性(Patition)

数据备份:

冷备:

热备:Master - Slave

失效转移

1、失效确认(心跳检测和应用程序访问失败报告)

2、访问转移

3、数据恢复 

高可用网站的软件质量保证:

1、网站发布 集群中一部分的替换

2、自动化测试

3、预发布验证

4、代码控制

5、自动发布

6、灰度发布

7、网站运行监控(重点)

目录
相关文章
|
2月前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
34 0
|
1月前
|
Cloud Native Linux 网络虚拟化
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
在Linux网络虚拟化领域,虚拟以太网设备(veth)扮演着至关重要的角色🌐。veth是一种特殊类型的网络设备,它在Linux内核中以成对的形式存在,允许两个网络命名空间之间的通信🔗。这篇文章将从多个维度深入分析veth的概念、作用、重要性,以及在容器和云原生环境中的应用📚。
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
|
9天前
|
负载均衡 Java 开发者
Spring Cloud:一文读懂其原理与架构
Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
|
10天前
|
存储 运维 监控
|
21天前
|
机器学习/深度学习 语音技术 网络架构
【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
|
1月前
|
资源调度 分布式计算 Hadoop
【Hadoop Yarn】YARN 基础架构分析
【4月更文挑战第7天】【Hadoop Yarn】YARN 基础架构分析
|
2月前
|
存储 负载均衡 NoSQL
【分布式技术架构】「Tomcat技术专题」 探索Tomcat集群架构原理和开发分析指南
【分布式技术架构】「Tomcat技术专题」 探索Tomcat集群架构原理和开发分析指南
51 1
|
2月前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
59 0
|
1天前
|
监控 API 持续交付
构建高效可靠的微服务架构:策略与实践
【5月更文挑战第8天】在当今快速演进的软件开发领域,微服务架构已经成为实现敏捷开发、持续交付和系统弹性的关键模式。本文将探讨构建一个高效且可靠的微服务系统所必须的策略和最佳实践。我们将从服务的划分与设计原则出发,讨论如何通过容器化、服务发现、API网关以及断路器模式来优化系统的可伸缩性和鲁棒性。此外,我们还将涉及监控、日志管理以及CI/CD流程在确保微服务架构稳定运行中的作用。
|
1天前
|
消息中间件 Java 微服务
Java微服务架构实践指南
Java微服务架构实践指南
10 0