架构风格就是一种项目的设计模式。常见的架构风格有基于客户端与服务端的、基于组件模型的(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. Python 中 plt 画柱状图和折线图

    1. 背景 Python在一些数据可视化的过程中需要使用 plt 函数画柱状图和折线图. 2. 导入 import matplotlib.pyplot as plt 3. 柱状图 array= np. ...

  2. @ConfigurationProperties绑定配置信息至Array、List、Map、Bean

    原文:https://blog.csdn.net/justry_deng/article/details/90758250 相关说明:在SpringBoot中,我们可以通过以下几种方式获取并绑定配置文 ...

  3. 文本编辑器Vim/Neovim任意代码执行漏洞(CVE-2019-12735)

    受影响版本: Vim < 8.1.1365, Neovim < 0.3.6 前提:开启modeline 0x01 开启modeline 在你的home下的.vimrc文件中增加一行: se ...

  4. 学习markdown(一)

    转:https://www.jianshu.com/p/81e1608ea2d8 ----------------------------------------------------------- ...

  5. 【转】Deep dive into pipe function in RxJS

    原文: https://codewithstyle.info/deep-dive-pipe-function-rxjs/ --------------------------------------- ...

  6. 均分纸牌(Noip2002)

    1320:[例6.2]均分纸牌(Noip2002) 时间限制: 1000 ms         内存限制: 65536 KB提交数: 3537     通过数: 1839 [题目描述] 有n堆纸牌,编 ...

  7. 《hello-world》第九次团队作业:【Beta】Scrum meeting 3

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十三 团队作业9:Beta冲刺与团队项目验收 团队名称 <hello--wor ...

  8. 【Beta】 Scrum meeting 3

    第三天 日期:2019/6/26 前言 组内进行第三次讨论,所有组员都到场,项目已经全部完成. 一.今天任务完成情况.成员贡献时间 组员 任务 贡献时间 徐浩杰 完成项目的全部测试,项目运行稳定 2h ...

  9. BZOJ3277 串 和 BZOJ3473 字符串

    字符串 给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串? 分析 参照自为风月马前卒和Candy?的题解. 广义后缀自动机不就是把很多串的SAM建到了一个S ...

  10. 1-html基本结构与编写规范

    <!DOCTYPE html> <html> <!-- #前端开发系统化学习教程, #包括html.css.pc端及移动端布局技巧.javascript. #jquery ...