我只想了解实现/设计分布式体系结构的不同模型。
我知道这个领域的一些技术,比如
-
RPC-
-
Java RMI&插座
-
.Net远程处理&插座
-
XML-RPC
-
基于SOAP的web服务
-
基于HTTP的web应用程序
-
REST ful web服务
但我知道的技术还有很多,但实现分布式体系结构的不同模型是什么?
在体系结构级别上,有4种方法可以集成系统:
- 共享数据库
- 消息队列
- 请求响应呼叫
- 消息传输
在每一个中都有许多可用的技术
我们可以从Neal Ford的一个视频中将架构分为6种不同的类型;Mark Richards
-
传统分层架构 ,如模型视图控制器(Spring MVC等)
-
使用消息API的事件驱动架构 ,其中事件已被调度到队列/主题&订阅者/接收器消耗事件,从而使不同的组件松耦合
-
面向服务的体系结构, 解释起来很长,但你可以从谷歌中找到很多信息
-
管道(或过滤器)架构 -消息将通过转换器从生产商传送到消费者,转换器根据业务需要修改消息
-
微内核架构 (即插即用)-它将有一个核心系统,多个组件共用;特定组件(插入式模块),可根据需要插入
-
基于空间的体系结构 -该体系结构可以通过添加更多资源进行扩展(如果您使用的是非关系数据库,如NoSQL数据库)
您真的应该从需求开始,它们对体系结构有重大影响。
- 单机/多台/多台和地质还原
- 共享/专用内存/混合
- 同步/异步通信/两者兼有
- 容错?恢复
- 可扩展性?交易
- 大数据/计算密集型
请补充一些问题,我肯定忘了一些重要的事情。