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

    转自:DevOps简介     刘大飞 DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI).持续部署(CD)为基础,来优化程式开发.测试.系统运维等所有环节. Dev ...

  2. MongoDB导出与导入远程Linux服务器上的数据

    场景 将远程服务器A上的MongoDB数据库test下的集合people导入到服务器B数据库test的集合people_test下. 简单方案 先将A服务器数据导出,然后再执行导入到B服务器. 下面的 ...

  3. C# 如何取消BackgroundWorker异步操作

    BackgroundWorker 在执行DoWork事件时该如何取消呢? 方法1 DoWork 执行一个(耗时)循环 方法2 DoWork执行一个(耗时)方法[注:方法没有循环] 见代码: 方法1中D ...

  4. vscode常用快捷键总结

    记住快捷键能够提高工作效率 Ctrl+Shift+P,F1 展示全局命令面板 Ctrl+P 快速打开最近打开的文件 Ctrl+Shift+N 打开新的编辑器窗口 Ctrl+Shift+W 关闭编辑器 ...

  5. 题解 洛谷P4779 【【模板】单源最短路径(标准版)】

    正权图,貌似看来是一道裸的 \(dijkstra\) \(dijkstra\)的主要步骤: 首先,在\(dijkstra\)中,源点表示一开始的出发点,蓝点表示还未确定的点,白点则表示已经确定的点. ...

  6. 「NOI2016」循环之美

    P1587 [NOI2016]循环之美 题目描述 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在 $k$ 进制下,一个数的小数部分是纯循环的,那么它就 ...

  7. Win10 系统 Mysql 安装

    对于本地开发环境,小型的 Mysql 比较适合本地学习. 本文环境 win10 + mysql8 1.下载 去 Mysql 官网下载安装包 - https://dev.mysql.com/downlo ...

  8. js 全选反选

    <th><input type="checkbox" id="checkall" name="checkall" oncl ...

  9. 什么是IAP?如何实现IAP?

    发布时间:2008-09-01 来源:computer00   分享到:   IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User F ...

  10. Hbase节点及原理

    1.Hbase架构:Clinet.Zookeeper.Master.RegionServer.Region.Store.MemStore.HLog 1.读过程 2.写过程 https://www.cn ...