WEB 设计
WEB 设计
负载均衡技术
应用层负载均衡
- http重定向
- 反向代理服务器 ( apache、nginx )
传输层
- DNS域名解析负载均衡
- 基于NAT的负载均衡
静态算法(不考虑动态负载)
轮转算法:轮流将服务请求(任务)调度给不同的节点(即:服务器)。
加权轮转算法:考虑不同节点处理能力的差异。
源地址哈希散列算法:根据请求的源IP地址,作为散列键从静态分配的散列表找出对应的节点。
目标地址哈希散列算法:根据请求目标IP做散列找出对应节点。
随机算法:随机分配,简单,但不可控。
动态算法(考虑动态负载)
最小连接数算法:每个节点处理能力相同的情况下,新请求分配给当前活动请求数量最少的节点。
加权最小连接数算法:考虑节点处理能力不同,按最小连接数分配。
加权百分比算法:考虑了节点的利用率、硬盘速率、进程个数等,使用利用率来表现剩余处理能力。
硬件负载均衡:F5
软件负载均衡:LVS、Nginx、HAproxy
session共享
- 服务器间同步session
- 利用Cookie记录Session 。 在Cookie记录一些状态信息,每次请求都要传输到服务器
3、使用缓存技术,集中管理所有的session
REST(表述性状态传递)
REST的5个原则
(1)网络上的所有事物都被抽象为资源。
(2)每个资源对应一个唯一的资源标识。
(3)通过通用的连接件接口对资源进行操作。
(4)对资源的各种操作不会改变资源标识。
(5)所有的操作都是无状态的
微服务
- 复杂应用解耦:构将单一模块应用分解为多个微服务,每个服务专注于单一功能。同时保持总体功能不变。避免了复杂度的不断积累
- 独立 每个微服务可进行独立开发与部署,某个微服务发生变更时无需编译、部署整个系统应用
- 技术选型灵活 每个开发团队可根据自身应用的业务需求发展状况选择合适的体系架构与技术
- 容错 在微服务架构下,由于各个微服务相互独立,故障会被隔离在单个服务中,不会造成全局应用系统瘫痪
- 松耦合,易扩展 微服务架构中每个服务之间都是松耦合的,可以根据实际需求实现独立扩展,体现微服务架构的灵活性
**微服务架构面临的问题与挑战 **
- 微服务架构的分区数据库体系,不同服务拥有不同数据库,不得不放弃传统数据库的强一致性,转而追求最终一致性、
- 服务发现与服务调用链跟踪变得困难
WEB 设计
http://example.com/2024/05/23/系统分析师/WEB 设计/