分布式架构的不同模型

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】:

你真的应该从需求开始,它们对架构有重大影响。

单机/多机/多机和异地冗余? 共享/私有内存/混合? 同步/异步通信/两者兼有? 容错?恢复? 可扩展性?交易? 大数据/计算密集型?

请添加更多问题我确定我忘记了一些重要的事情。

【讨论】:

以上是关于分布式架构的不同模型的主要内容,如果未能解决你的问题,请参考以下文章

分布式系统核心:REST风格的架构,REST成熟度模型及REST API管理

SOA面向服务的分布式架构详解

数据库从集中式架构到分布式架构发生了哪些改变?

微服务架构 | 11. 分布式事务 #yyds干货盘点#

3/N层架构“框架+插件”架构地域分布式架构

分布式系统核心:面向服务的分布式架构,什么是面向服务的架构