分布式架构的不同模型
Posted
技术标签:
【中文标题】分布式架构的不同模型【英文标题】:Different models of Distributed Architecture 【发布时间】:2011-06-24 11:33:52 【问题描述】:我只是想知道实现/设计。
我知道这个领域的一些技术,比如
RPC
Java RMI 和套接字
.Net 远程处理和套接字
XML-RPC
基于 SOAP 的网络服务
基于 HTTP 的网络应用程序
完整的 REST 网络服务
但是我知道的技术还有很多,但是实现有哪些?
【问题讨论】:
【参考方案1】:在架构级别,有 4 种方法可以集成系统:
共享数据库 消息队列 请求响应调用 消息传输每一种都有很多可用的技术
【讨论】:
出于兴趣,消息队列和消息传输有什么区别?【参考方案2】:我们可以从一个 Neal Ford 的视频中将架构分为 6 种不同类型;马克理查兹
传统的分层架构,如模型视图控制器(Spring MVC 等)
使用消息传递 API 的事件驱动架构,其中事件已被分派到队列/主题和订阅者/接收者使用事件,以便不同的组件松散耦合
面向服务的架构,解释起来非常冗长,但您可以从 google 找到很多信息
管道(或过滤器)架构 - 一条消息将通过转换器从生产者传送到消费者,转换器根据业务需要修改消息
微内核架构(即插即用) - 它将有一个核心系统,对多个组件和特定组件(插件模块)通用,可以根据需要插入
基于空间的架构 - 该架构可通过向其添加更多资源来进行扩展(如果您使用的是非关系型数据库,如 NoSQL 数据库,则最合适)
【讨论】:
【参考方案3】:你真的应该从需求开始,它们对架构有重大影响。
单机/多机/多机和异地冗余? 共享/私有内存/混合? 同步/异步通信/两者兼有? 容错?恢复? 可扩展性?交易? 大数据/计算密集型?请添加更多问题我确定我忘记了一些重要的事情。
【讨论】:
以上是关于分布式架构的不同模型的主要内容,如果未能解决你的问题,请参考以下文章