对于政府合同,我们将建议建立一个交通监控架构。我们将有以下组件:
- 摄像机设置在感兴趣区域周围。摄像机将了解它们的位置和方向以及观看参数。
- GIS地图服务器,可以查询街道、建筑物等。
- 一种算法接收原始视频和街道位置信息并输出汽车位置。
- 另一种算法接收汽车位置和非常低级的街道信息,并提供有关哪些汽车异常行驶的信息。
- 另一个数据库随着时间的推移接收有关汽车位置和异常报告的信息,并且可以稍后查询。
- 在档案数据库和实时算法上设置代理(或者更准确地说,外观),以便为信息提供统一的接口。
- 客户端连接到代理和街道服务器,并在屏幕上绘制交通状况的各种表示。
我现在刚刚了解什么是 SOA。这是面向服务架构 SOA 的理想选择吗?我听说 SOA 服务应该是无状态的(或者只是 RESTful 服务?)我还听说将一个服务通过管道传输到下一个服务是不可取的,因为它会增加隐藏的复杂性,并且您应该做一些事情使这种情况变得更好(“编排”?)。上述服务确实是模块化且可重用的。例如,将会有大量的摄像头、各种类型的车辆检测和异常算法、分布式数据库和大量的客户端。我需要具有处理事件的能力:例如,如果我可能想要注册一项服务,并在一辆大卡车经过此点时收到通知。
如果 SOA 不能理想地实现这一点,那么我还应该去哪里寻找。如果这对于 SOA 来说是理想的,那么设计时我应该从哪里开始呢? (我基本上是从阅读 Wikipedia 的 SOA 页面开始的。)这里有什么好的案例研究可以看吗?
是的,SOA 在这种情况下是理想的(具有多种技术组合的复杂的分布式系统),但从它的声音来看,您需要做更多的研究才能理解这个概念。无论如何,这都不是一个困难的概念,实际上很简单,但没有一种规定的方法可以做到这一点。我建议过去,成功和失败。
您提到了您的一个子系统的外观。将相同的概念扩展到其他组件。例如。每个服务都是一个复杂子系统的外观。
另外,我建议在您选择的技术中实现几个不同的 Web 服务,并抽象任意不同的子系统(数据库应该是组件之一。)然后编写一个使用它们的客户端。这样做会给你很多实践经验和对这个概念的洞察。
最后一个想法:如果您必须在多个不同的服务之间移动视频数据,SOA 架构可能会遇到问题。当移动大量数据或对非常大的数据集执行批量事务时,SOA 的无状态、事务性特性可能会带来性能问题。您要么需要保持视频本地化,要么实施后端子系统(作弊)以避免潜在的严重瓶颈。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)