首页 > 其他分享 >系统架构设计师 - 模拟题 - 案例题(二)

系统架构设计师 - 模拟题 - 案例题(二)

时间:2023-09-17 16:33:28浏览次数:41  
标签:调用 架构 互操作 模拟题 分布式系统 设计师 客户端 分布式

试题二(25分)

阅读以下关于分布式系统设计的叙述,回答问题

[说明]

某软件公司拟开发一套电信领域的分布式系统,该系统后台多个功能模块同时运行时的计算负载较大,且需要控制不同的特定电信硬件设备,由于硬件体积和I/O 端口冲突等原因,这些设备需要分散安装在多个不同计算机系统中。该系统上线运行后,将为企业最终用户提供 7X24 小时的不间断服务,而用户的单次接入服务往往需要后台多个模块共同协作完成。基于上述原因,该系统后台软件模块需分布在局域网内的多台计算机上。

项目组决定基于 ISO的开放分布进程(ODP)规范来进行系统架构的设计与开发,近期项目组召开了多次会议,对架构设计阶段的关键问题进行了讨论分析。

[问题1](10分)

ODP 从5个标准的视点组织分析系统的架构,这些视点描述了同一系统的不同重要方面,请根据图中不同视点所关注的核心内容,将备选的架构视点填入图中的(1)~(5)。

系统架构设计师 - 模拟题 - 案例题(二)_基础设施

图31-1 ODP架构视点示意图

备选答案:技术选择架构、企业业务架构、分布式工程架构、计算接口架构、逻辑信息架构

参考答案:

(1)企业业务架构

(2)逻辑信息架构

(3)计算接口架构

(4)分布式工程架构

(5)技术选择架构

[问题2](9分)

在技术选择架构规划时,王工认为系统应基于现有分布式基础设施(分布式中间件)来构建,因为这样可以充分利用现有基础设施提供的各种支撑,在更短时间内构造出质量更高的分布式系统:而李工则认为可基于基本的进程间通信机制自主开发系统的支撑平台,这样可以避免对特定中间件的依赖,项目组经过认真讨论,最终采用了王工的方案。请用 400 字以内文字,从构件管理支持、互操作支持以及公共服务支持三个方面说明现有分布式基础设施为构建分布式系统所提供的基本支撑。

参考答案:

(1)构件管理支持:现有分布式基础设施一般通过构件容器为构件提供基本的运行环境;具体功能一般包括管理构件的实例及其生命周期、管理构件的元信息等。

(2)互操作支持:现有分布式基础设施均提供了高层通信协议以屏蔽节点的物理特性以及各节点在处理器、操作系统、程序设计语言等方面的异构性;基于互操作支持,开发人员在开发与调用分布式对象时,均不需要自己编写处理底层通信的代码。

(3)公共服务支持,现有分布式基础设施通常将针对分布式软件的通用支持集成于一身,以公共服务的形式提供给应用程序:其提供的常见公共服务包括命名服务、事务服务、安全服务、持久性服务等。

[问题3](6分)

由于系统后台模块的分布式特性,后台分布式对象之间的互操作机制是需要考虑的核心问题之一图31-2 是当前分布式基础设施中支持分布式对象互操作的基本机制,请将相应部件名称填入图中(1)和(2)处:基于图中给出的结构,用300 字以内文字说明完成一次分布式对象调用的详细步骤。

系统架构设计师 - 模拟题 - 案例题(二)_互操作_02

图31-2分布式对象互操作基本机制

参考答案:

(1)存根/桩(2)框架

或(1)代理(2)存根

一次远程调用的过程如下:

①客户程序将调用请求发送给客户端桩,对于客户程序来说,桩就是服务程序在客户端的代理。

②客户端桩负责将远程调用请求进行编组,并发送给通信总线。

③调用请求经通信总线传送到服务端框架。

④服务端框架将调用请求解组并分派给真正的远程对象实现(服务程序)。

⑤服务程序完成客户端的调用请求,将结果返回给服务端框架。

⑥服务端框架将调用结果编组并发送给通信总线。

⑦调用结果经通信总线传送到客户端桩。

⑧客户端桩将调用结果解组并返回给客户程序,客户程序得到调用结果


标签:调用,架构,互操作,模拟题,分布式系统,设计师,客户端,分布式
From: https://blog.51cto.com/u_15590807/7502538

相关文章

  • Redis主从架构环境搭建(一主二从 + 3个sentinel)
    安装RedisServersudoadd-apt-repositoryppa:redislabs/redissudoaptupdatesudoaptinstallredis-serverredis-cli-h127.0.0.1-p6379pingsudosystemctlrestartredis-serverss-an|grep6379redis-server-vRedisserverv=7.0.12sha=00000000:0malloc=jem......
  • 高级系统架构师学习(五)软件架构设计-下篇
    一、大型网站系统架构演化【高速发展阶段】第四阶段【使用服务集群改善网站并发处理能力】背景:用户的请求由谁来转发到具体的应用服务器?用户如果每次访问到的服务器不一样,那么如何维护session的一致性?负载均衡分类:基于特定软件的负均衡(HTTP重定向)【应用层】反向......
  • 《深入LINUX内核架构》学习笔记 ——01
    模块相关的知识1.模块相较于宏内核(微内核优点)模块消除了宏内核的许多限制,包括:缺乏动态可拓展性、导致内核映像尺寸膨胀、测试新特性时必须重启系统等。2.静态链接、动态链接及模块依赖(TIPS)《深入理解计算机系统》中有这样一段话:共享库是一个目标模块,在运行或加......
  • 系统架构设计师 - 模拟题 - 案例题(一)
    试题一(25分)请详细阅读有关数据架构方面的描述,回答问题[说明]某软件公司欲开发一个基于Web2.0的大型社交网络系统。就该系统的数据架构而言,李工决定采用公司熟悉的数据架构,使用通用的商用关系型数据库,系统内部数据采用中央集中方式存储。该系统投入使用后,初期用户数量少,系统......
  • 重新认识架构
    什么是架构?通常情况下,人们对架构的认知仅限于在软件工程中的定义:架构主要指软件系统的结构设计,比如常见的SOLID准则、DDD架构。一个良好的软件架构可以帮助团队更有效地进行软件开发,降低维护成本,提高系统的可扩展性和可维护性。这里的架构定义有更多元化的理解:架构不仅是对软件开发......
  • 微服务架构
    微服务是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。百科定义......
  • 深入了解Elasticsearch搜索引擎篇:倒排索引、架构设计与优化策略
    什么是倒排索引?有什么好处?倒排索引是一种用于快速检索的数据结构,常用于搜索引擎和数据库中。与传统的正排索引不同,倒排索引是根据关键词来建立索引,而不是根据文档ID。倒排索引的建立过程如下:首先,将每个文档拆分成一系列的关键词或词项,然后建立一个词项到文档的映射。对每个关键词......
  • 系统架构设计师 - 模拟题 - 下午题
    系统架构设计师-模拟题-案例题(一)_虾王之五的技术博客_51CTO博客系统架构设计师-模拟题-案例题(二)_虾王之五的技术博客_51CTO博客系统架构设计师-模拟题-案例题(三)_虾王之五的技术博客_51CTO博客系统架构设计师-模拟题-案例题(四)_虾王之五的技术博客_51CTO博客系统架构......
  • MySQL实战实战系列 01 基础架构:一条SQL查询语句是如何执行的?
    这是专栏的第一篇文章,我想来跟你聊聊MySQL的基础架构。我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个ID......
  • 【大数据OLAP技术新书推荐】 字节跳动、阿里巴巴大厂资深架构师程序员多年实践经验总
    ClickHouse领域集大成之作-ClickHouse入门进阶实战的标准参考书-日常工作案头必备!目录《ClickHouse入门、实战与进阶》简介图书评价作者简介内容简介为何写作本书本书主要特点如何阅读本书致谢全书目录目录《ClickHouse入门、实战与进阶》内容简介为何写作本书本书主要特点......