架构设计思惟

架构设计思惟web

架构思惟中的分解和集成是随着系统的演化进行演化,从单体架构到ESB为表明的SOA架构再到如今流行的微服务,集成方式也从直接依赖到ESB为枢纽再到多种形式存在的微服务集成,接下来咱们就来解决微服务中集成的方式有哪些。数据库

单体架构浏览器

Web应用程序发展的早期,在开发服务端企业应用时,应用须要支持各类不一样类型的客户端,好比桌面浏览器、移动浏览器以及原生移动应用。应用还须要向第三方提供可访问的API,并经过Web Service或者消息代理与其它应用实现集成。大部分web工程是将全部的功能模块(service side)打包到一块儿并放在一个web容器中运行,不少企业的Java应用程序打包为war包。应用经过执行业务逻辑、访问数据库、与其它系统交换信息、并返回一条HTML/JSON/XML响应,来处理请求(HTTP请求与消息)。架构

应用采用多层架构或者六角架构,主要由如下几类不一样组件构成:异步

  • 展示组件——负责处理HTTP请求并响应HTML或者JSON/XML(对于web Services APIs)
  • 业务逻辑——应用的业务逻辑
  • 数据库访问逻辑——用于访问数据库的数据访问对象

不一样逻辑组件分别响应应用中的不一样功能模块。ide

SOA架构微服务

SOA架构,是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程当中,按照相关的标准或协议,进行分层开发。经过这种分层设计或架构体系可使软件产品变得更加弹性和灵活,且尽量的与第三方软件产品互补兼容,以达到快速扩展,知足或响应市场或客户需求的多样化、多变性。架构设计

微服务架构设计

微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分红多个核心功能。每一个功能都被称为一项服务,能够单独构建和部署,这意味着各项服务在工做(和出现故障)时不会相互影响。是应用的各项核心功能,并且这些服务都可独立运行。可是,微服务架构不仅是应用核心功能间的这种松散耦合,它还涉及重组开发团队、涉及如何进行服务间通讯以应对不可避免的故障、知足将来的可扩展性并实现新的功能集成。代理

集成方式

微服务架构倾向于下降中心消息总线(相似于ESB)的依赖,将业务逻辑分布在每一个具体的服务终端。大部分微服务基于HTTP、JSON这样的标准协议,集成不一样标准和格式变的再也不重要。另一个选择是采用轻量级的消息总线或者网关,有路由功能,没有复杂的业务逻辑。下面就介绍几种常见的架构方式。

点对点方式

点对点方式中,服务之间直接用。每一个微服务都开放REST API,而且调用其它微服务的接口。

 

 

网关方式

 

 

消息代理方式

微服务也能够集成在异步的场景下,经过队列和订阅主题,实现消息的发布和订阅。一个微服务能够是消息的发布者,把消息经过异步的方式发送到队列或者订阅主题下。做为消费者的微服务能够从队列或者主题共获取消息。经过消息中间件把服务之间的直接调用解耦。

 

 

参考:https://mp.weixin.qq.com/s/f1ZlEpvbnox_re14ceCgFQ

相关文章
相关标签/搜索