web常用服务架构

架构风格就是一种项目的设计模式。常见的架构风格有基于客户端与服务端的、基于组件模型的(EJB)、分层架构(MVC)、面向服务架构(SOA)等。

一、单体架构

  单体架构也称为单体系统或单体应用,就是一种把系统中所有功能、模块耦合在一个应用中的架构方式。

单体架构特点:

  打包成一个独立单元,以一个进程的方式运行。

单体架构优点:

  项目易于管理,部署简单

单体架构缺点:

  测试成本高、可伸缩性差、可靠性差、迭代困难、跨语言程度差、团队协作困难

二、RPC架构

  RPC(Remote Procedure Call):远程过程调用,一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术协议。

代表技术:

  Thrift、Hessian等等。

三、SOA架构

  SOA(Service Oriented Architecture):面向服务架构

  ESB(Enterprise Service Bus):企业服务总线,服务中介。主要是提供了一个服务于服务之间的交互。

ESB包含的功能:

  负载均衡、流量控制、加密处理、服务的监控、异常处理、监控告急等等。

代表技术:

  Mule、WSO2

四、微服务架构

  微服务就是一个轻量级的服务治理方案。一个大型的复杂软件应用,由一个或多个微服务组成,系统中的各个服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注完成一件任务并很好的完成任务。

代表技术:

  SpringCloud、dubbo、dubbox

微服务特点:

  系统是由多个服务构成、每个服务可以单独独立部署、每个服务之间是松耦合的,服务内部是高内聚的,外部是低耦合的,高内聚就是每个服务只关注完成一个功能。

微服务优点:

  测试容易、可伸缩性强、可靠性强、跨语言程度更加灵活、团队协作容易、系统迭代容易。

微服务缺点:

 运维成本高,部署数量较多、接口兼容多版本、分布式系统的复杂性、分布式事物。 

posted @ 2019-06-05 09:29  光何  阅读(788)  评论(0编辑  收藏  举报