Client/Server 模型
客户端 一个网络上的信息请求方 通常是一台PC或工作站 能够从服务器处查询数据库和其他信息
中间件 一组驱动程序 应用程序编程接口或其他软件的集合 用于改善客户应用程序和服务器之间的连通性关系的软件
关系数据库 一种把对信息的访问限制于满足搜索条件的数据行的数据库
服务器 高性能工作站 存储并提供信息给网络中的众多客户使用
三层CS结构 客户端 中间件 服务器
文件高速缓存的一致性
当使用文件服务器时 由于网络带来的延迟 文件I/O的性能相对于本地文件访问具有显著的下降
独立系统可以使用文件高速缓存来保存最近访问的文件记录 根据局部性原理 使用本地文件高速缓存可以减少必须进行的远程服务器访问次数
高速缓存一致性问题 本地高速缓存副本与远程数据的最新同步更新问题
方案一 文件锁 防止多个客户对文件的同时访问 牺牲系统的性能和灵活性
方案二 对于写进程 告诉它必须写回改变了的块 对于读进程 该文件已不再可缓存
SQA 面向服务的体系结构 服务通过已发布的可发现的接口来获得
服务提供者 为管理一组特定任务的软件资产提供服务接口的一个网络节点
服务请求者 发现和调用服务用以提供业务解决方案的网络节点
服务代理 起着注册表的作用 并允许寻找服务提供接口和服务地址
关键特征 粗粒度 基于接口的设计 可发现的 单一实例 松耦合
中间件 隐藏不同网络协议和操作系统的复杂性与不一致性
中间件产品的两种机制 消息传递 远程过程调用
分布式消息传递
需要关注的问题 可靠不可靠 阻塞不阻塞
远程过程调用
过程调用是消息传递的一种变体 可以看作是对 可靠的 阻塞方式的消息传递的改进