【分布式计算】二、架构 Architectures

1.中心化架构(Centralized Architectures)

1.1.经典C/S模型

服务器:一个或多个进程提供服务

客户端:一个或多个进程使用服务

客户端和服务器可以在不同的机器上

客户端遵循请求/回复模型

1.2.传统三层视图

用户界面层(User-interface layer):包含了用于应用程序用户界面的单元,例如:显示display

处理层(Processing layer):包含应用程序的功能,即没有特定的数据。

数据层(Data layer):包含客户希望通过应用程序组件进行操作的数据

1.3.两层配置中的传统三层视图(适用于C/S模式)


中心架构的特点是需要一个管理者,但是单一节点存在以下问题:管理结点崩溃则系统崩溃、负载过大(性能下降甚至系统崩溃)。

怎么去解决??冗余!!!

对管理结点进行复制replicated manager。原有管理结点崩溃则激活使用冗余的结点

2.去中心化架构(Decentralized Architectures)

2.1.对等系统P2P(Peer-to-peer systems)

结构化P2P(structured):按照特定分布式数据结构 组织节点

非结构化P2P:节点具有随机选择的邻居

混合P2P(hybrid):节点以组织良好的方式被指定成特殊功能

2.1.1.结构化P2P

基本理念 :在结构化覆盖网络 (如逻辑环)中组织节点,并使特定节点仅根据其ID 负责服务;系统提供LOOKUP(密钥)操作,该操作将有效地将查找请求路由 (指针表)到相关节点
覆盖网络(overlay network) :物理网络之上的一层虚拟网络拓扑,直接与用户接口

2.1.2.非结构化P2P

基本理念 :许多非结构化P2P系统以随机覆盖的方式组织:两个节点以概率p连接。

No LOOKUP operation, but searching:

   洪泛(Flooding)

   有限洪泛(Limited flooding: maximal steps

   概率洪泛Probabilistic flooding: flood only with a certain probability

   随机游走(Random walk):Randomly select a neighbor v. If v has the answer, it replies, otherwise v randomly selects one of its neighbors

2.1.3.混合P2P

C/S model combined with P2P

3.案例-Globule

一个用于可扩展的网络托管的开源协作内容交付网络

3.1三项主要任务

  1.它必须能够在多个服务器之间分发 托管网站的内容,并在出现更新时保持其一致性

  2.它必须将客户端请求重定向最佳 可用服务器

  3.它必须有效地将网站内容传递到客户

上述任务当一些服务器关闭时也要在运行。

3.2.Globule -- Supporting Web applications

对于具有所谓的高数据库 查询位置的应用程序

我们在副本服务器上缓存 数据库查询的结果。然后,可以根据本地缓存的数据库查询结果在复制副本上执行应用程序代码

问题??:如果有些数据被更改了,那么缓存的数据是不新鲜的,那么如何解决这个问题呢

「定时」刷新缓存
缓存和数据库一致性问题


当数据库查询位置较低时:

  数据库查询缓存不会提供任何改进。

  在每个副本服务器上复制基础数据库更有效
导致一致性问题。 ???

相关推荐
mldong6 小时前
一个 App,十三套后端:手机审批端 uni-jeeflow-app 开源了
java·架构
weixin_BYSJ19877 小时前
【计算机毕设】基于SpringBoot与Vue的文物保护档案管理系统08621
vue.js·spring boot·spring cloud·微服务·架构·django·课程设计
GreenTea7 小时前
7000 万 QPS、500 PB:OpenAI 如何用一个 Python 存储平台撑住 10 亿用户
后端·架构
西安栈上月明软件科技8 小时前
从业务黑话到本体图谱:OAG本体建模五步法(西安老系统AI化改造实战)
数据库·人工智能·架构
海宇AI9 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化车抵贷核保网关
java·人工智能·架构·自动化
白远山11 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
故作春风13 小时前
elpis-core 核心从入门到理解
后端·架构·node.js
萧瑟余晖14 小时前
Hibernate 核心原理与架构详解
开发语言·架构·hibernate
企业通信技术笔记15 小时前
信创环境下企业即时通讯IM怎么部署?5类方案的架构与适配思路
架构·私有化部署·信息与通信·信创·企业即时通讯
parser15 小时前
LangGraph 智能体项目实战问题:循环导入的根因分析与三层解法(Python langgraph)
架构