浅谈架构(单体架构、 SOA架构、微服务架构)

单体架构

* 一个典型的单体应用就是将所有的业务场景的表示层、业务逻辑层和数据访问层放在一个工程中,最终经过编译、打包,部署在一台服务器上。

`例如:典型的J2EE工程,它是将表示层的JSP、业务逻辑层的Service、Controller和数据访问层的Dao,打成war包,部署在Tomcat、Jetty或者其他Servlet容器中运行`

r-1.jpg

SOA架构

* SOA架构是面向服务的体系结构,主要目的是为了各个系统更加容易地融合在一起。

`例如:以购物商城为例,由于功能模块越来越多,系统非常臃肿所有对系统进行横向拆分,各个服务之间彼此相对独立,通过服务治理框架进行服务之间的通信以及管理,常用的服务治理框架有:dubbo、dubbox等`
r-2.png

* 微服务是将一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务模块。

r-3.png

如理解有误,请指正,谢谢!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技巅

腾讯云大数据产品研发实战(由IT大咖说整理)

2498
来自专栏架构师之路

如何防止根目录被删?

周末误删根目录《就这样把根目录删了!!!》,引起了广泛的讨论: (1)部分朋友表达了同情 (2)部分朋友建议买机票跑路 (3)部分朋友分享了类似的悲剧(例如:多...

3446
来自专栏潇涧技术专栏

Gank Alfred Workflow

下载最新版本的workflow文件双击使用Alfred打开即可,workflow也已提交到Packal。

883
来自专栏Dawnzhang的开发者手册

15款Java程序员必备的开发工具(转)

一种认为Java是最简单功能最强大的编程语言之一,另一种则表示这种编程语言既难用又复杂。

1022
来自专栏EAWorld

微服务转型,雪崩效应是绕不过的一道坎

记得在三年前公司因为业务发展需要,就曾经将单体应用迁移到分布式框架上来。当时就遇到了这样一个问题:系统仅有一个控制单元,它会调用多个运算单元,如果某个运算单元(...

40712
来自专栏竹清助手

如何理解一个高度抽象化的架构风格本质

REST本身是一个高度抽象化的架构风格,因而总是很难对它有一个比较深入且印象深刻的理解。写这篇文章的目的,是自己对学习REST的一个总结,也希望可以通过这篇文章...

1293
来自专栏Python中文社区

Django 博客教程:前言和环境安装(连载一)

專 欄 ❈追梦人物,电子科技大学计算机学院研究生,从事大数据分析研究方向。主要使用 Python 语言进行相关数据的分析,熟练使用 django 开发网站系统。...

2128
来自专栏JAVA技术zhai

三流程序员与一流程序员之间的区别,看看你是属于哪一类?

源码系列 手写spring mvc框架 基于Spring JDBC手写ORM框架 实现自己的MyBatis Spring AOP实战之源码分析 Spring I...

28611
来自专栏区块链

如何发现Active Directory中的隐身管理员账户(一)

今天我想谈谈一个非常有趣的话题,即如何识别/扫描/发现在Active Directory中的隐身管理员。这篇文章不是如何识别和阻止活动目录中隐藏的持久性后门的第...

1829
来自专栏Android 开发者

Android Studio 3.0 Android 分析器 | 中文教学视频

1462

扫码关注云+社区