架构风格就是一种项目的设计模式。常见的架构风格有基于客户端与服务端的、基于组件模型的(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

微服务特点:

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

微服务优点:

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

微服务缺点:

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

web常用服务架构的更多相关文章

  1. .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)

    本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...

  2. 常见的三种Web服务架构

    常见的三种Web服务架构 转自http://www.cnblogs.com/bvbook/archive/2008/12/24/1360942.html 相互竞争的服务架构 The Competing ...

  3. Web服务架构

    # Web服务架构 ### Web服务模型-- 服务提供者.服务请求者.服务注册中心,服务注册中心是一个可选的角色. 现在的Web服务不仅限于WSDL,还有RESTful. - 服务提供者.即Web服 ...

  4. (系统架构)标准Web系统的架构分层

    标准Web系统的架构分层 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层 ...

  5. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  6. Web API应用架构在Winform混合框架中的应用(4)--利用代码生成工具快速开发整套应用

    前面几篇介绍了Web API的基础信息,以及如何基于混合框架的方式在WInform界面里面整合了Web API的接入方式,虽然我们看似调用过程比较复杂,但是基于整个框架的支持和考虑,我们提供了代码生成 ...

  7. 标准Web系统的架构分层

    标准Web系统的架构分层 – 转载请注明出处 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求 ...

  8. 标准Web系统的架构分层[转]

    标准Web系统的架构分层 – 转载请注明出处 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求 ...

  9. 微服务架构下分布式Session管理

    转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:“加群 姓名 公司 职位 微信号”. 一.应用架构变 ...

随机推荐

  1. OSS阿里云相关文档

    OSS阿里云相关文档 oss文档链接

  2. 微博MySQL优化之路

    数据库是所有架构中不可缺少的一环,一旦数据库出现性能问题,那对整个系统都回来带灾难性的后果.并且数据库一旦出现问题,由于数据库天生有状态(分主从)带数据(一般还不小),所以出问题之后的恢复时间一般不太 ...

  3. html相对字体

    文章:使用 rem 设置文字大小 使用rem作为字体单位.

  4. Vuex状态管理总结

    一.什么是 Vuex 1.Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 2.Vuex 采用集中式存储和管理应用中所有组件的状态 3.Vuex 应用的核心是 store(仓库)-- 包 ...

  5. cookie,session,token介绍

    本文目录 发展史 Cookie Session Token 回到目录 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档 ...

  6. Django自定义filter

  7. Hibernate的持久化对象

     Hibernate的持久化类 什么是持久化类        1. 持久化类:就是一个Java类(咱们编写的JavaBean),这个Java类与表建立了映射关系就可以成为是持久化类.        * ...

  8. 织梦DedeCMS会员空间内的文章列表无法分页的解决方法

    DedeCMS 5.7会员空间的文章列表分页显示不正常,总是显示0页0条记录错误.下面告诉大家如何解决这个问题: 找到并打开include/arc.memberlistview.class.php文件 ...

  9. IDEA设置提示生成序列化ID

    背景: 实现Serializable接口的类,没有提示生成序列化ID 解决问题: 1.FIle->Settings->Editor->inspections 2.点击java-> ...

  10. PostgreSQL的 pg_hba.conf 配置参数详解

    pg_hba.conf 配置详解 该文件位于初始化安装的数据库目录下 编辑 pg_hba.conf 配置文件   postgres@clw-db1:/pgdata/9.6/poc/data> v ...