Hou*_*man 27 distributed real-time distributed-computing distributed-system
我正在接受承包,今天我已经接受了承包商职位的第一轮面试.我已经通过了它,但有人告诉我 - 主要是一个UI开发人员 - 我只介绍了他们后端需要的基础知识,我应该在第二轮之前阅读分布式系统.
到目前为止,在我的职业生涯中,我一直在从事后期操作,从不需要实时.由于我还剩下几天,我需要涵盖哪些主题?首先能够回答他的问题并且通常被视为分布式系统中的适当问题?
问题是如何在UI上实时显示数据?后端需要做什么?我已经提到了实时数据馈送的生产者/消费者模式.他很喜欢,但他说他在第二次面试时需要更多.
任何帮助将非常感激,
and*_*soj 40
分布式实时系统组成两个具有挑战性的属性集,这些属性由问题域或解决方案域(或两者)强加.
甲分布式系统连接多个独立的计算实体与由通信机构的方式本地特性.因此,算法和其他设计组件必须考虑同步和故障模型.分布式计算问题的一个有用的总结(不完全客观)包含在Deutsch的分布式计算八大谬误中.(参见这个有用的说明.)所有这些都有助于(实时)分布式设计考虑; 每个都是基本设计和实施问题的出发点:
甲实时系统是一种系统,其中操作完成的时效性是系统的功能要求和正确性度量的一部分.(我在这里打开了一个SO问题,试图澄清这一点.)实际上,几乎所有系统都可能被认为是"软"实时的,因为通常对操作的及时性有未说出的要求/期望.对于在不满足时间限制时不正确的系统,我们保留实时术语,有时通过软或硬来限定.请注意,上述谬误中总结的许多问题与及时性相关.(另请参见实时标签wiki)
值得注意的是,RT(和DRT)系统存在于连续的需求上,在一个极端具有"确定性"(或传统上,硬实时).然而,许多系统具有非常重要的时间限制,但这些限制仍然是非确定性的.特别是在DRT系统的背景下,将活动紧迫性的概念与活动优先级分开也是有用的.在延迟和故障是真实且非平凡因素的大型系统中,用于实现及时性和其他设计要求的计算和通信资源的显式管理变得更加重要,并且这两个维度的分离变得重要.
对于相当传统的DRT系统演示,请看看Kopetz的书.为了更加动态的观点,推荐Jensen的作品和他的网站.在Java领域,我建议阅读优秀的"可靠的分布式编程简介".它没有解决时效性问题的全部领域,但确实以一种特别明确的方式解决了部分失败问题.
最近,(不可靠的)故障检测器的概念已经成为有用的同步结构,能够为DRT系统提供有用的理论推理和实际的配方/设计/构造技术.关于该主题的开创性论文是关于快速故障检测器对实时容错系统的影响,由Aguilera,Le Lann和Toueg撰写.这篇论文是沉重的雪橇,但奖励每一盎司的智力投资.