企业级应用系统设计--架构的选择

简介: SOA和微服务的抉择
莎士比亚曾经说过“to be or not to be”,在当今这个企业级应用盛行的时代,我们当然选择toB。

既然选择了toB,那么toB的项目都有什么特点呢?接下来咱们看一下企业级应用的特点
(1)数据持久化
(2)海量数据的存储
(3)数据的并发访问
(4)大量的用户图形界面
(5)分级体系复杂、需要和其它应用集成
(6)数据概念不统一结构复杂
(7)复杂的业务逻辑

image.png

toB的产品面向的是企业,他主要围绕着的是企业的业务功能来进行的,众所周知,一个企业的流程是非常繁琐的,通常也会造成开发和产品之间的一些矛盾。

image.png

针对这些矛盾,这些错综复杂的业务关系,架构方面改怎么来选择呢?
传统的行业用的是SOA架构,当今主流的则是微服务,对于这两种架构,我们该如何抉择呢?
image.png

下面看一下这两个架构的对比:

概念

SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机软件的设计模式,主要应用于不通应用组件中通过某种协议来互操作
微服务架构:其实和 SOA 架构类似,微服务是在 SOA 上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。
 微服务架构 = 80%的SOA服务架构思想 + 100%的组件化架构思想 + 80%的领域建模思想

特点

SOA
1、面向服务的分布式计算。
2、服务间松散耦合。
3、支持服务的组装。
4、服务注册和自动发现。
5、以服务契约方式定义服务交互方式。

微服务
1、分布式服务组成的系统。
2、按照业务而不是技术来划分组织。
3、做有生命的产品而不是项目。
4、智能化服务端点与傻瓜式服务编排。
5、自动化运维。
6、系统容错。
7、服务快速化

“中心化”和“去中心化”

中心化:SOA主要以ESB为服务主线,每次请求都要通过ESB来进行路由,强调“中心化”服务框架,进行多次网络会话,容易造成“雪崩”效应。

image.png
去中心化:微服务主要在服务中交互,强调“去中心化”服务框架,网络开销少了一半,会避免“雪崩”效应
image.png

主要区别

image.png

现在市面上也推出了很多微服务的架构,Spring全家桶、Dubbox、Thrift等等,微服务其实就是SOA的升华,一个软件的升级!

云顶云(yundingyun.com)是国内首批专注于云计算与大数据服务的提供商,致力于“让云计算更简单”。做为阿里云五星授权服务中心,云顶云致力于为企业和政府提供方案咨询、架构设计、部署实施、系统定制、运维托管、技术培训等全方位“4S”级公有云、私有云定制化服务。

相关文章
|
1月前
|
监控 Java 持续交付
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
38 1
|
19天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
28天前
|
机器学习/深度学习 自然语言处理 分布式计算
大规模语言模型与生成模型:技术原理、架构与应用
本文深入探讨了大规模语言模型(LLMs)和生成模型的技术原理、经典架构及应用。介绍了LLMs的关键特点,如海量数据训练、深层架构和自监督学习,以及常见模型如GPT、BERT和T5。同时,文章详细解析了生成模型的工作原理,包括自回归模型、自编码器和GANs,并讨论了这些模型在自然语言生成、机器翻译、对话系统和数据增强等领域的应用。最后,文章展望了未来的发展趋势,如模型压缩、跨模态生成和多语言多任务学习。
113 3
|
1月前
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
24天前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
41 3
|
24天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
46 1
|
27天前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
42 3
|
1月前
|
Cloud Native 持续交付 云计算
深入理解云原生技术及其在现代IT架构中的应用
在数字化浪潮的推动下,云原生技术已成为企业转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者探索云原生的核心概念、优势以及如何在企业中实现云原生架构。我们将一起揭开云原生的神秘面纱,了解它如何助力企业快速适应市场变化,提升业务的灵活性和创新能力。
|
28天前
|
监控 持续交付 API
深入理解微服务架构:从设计原则到实践应用
深入理解微服务架构:从设计原则到实践应用
|
1月前
|
运维 Devops 应用服务中间件
自动化运维的利剑:Ansible在现代IT架构中的应用
【10月更文挑战第42天】本文旨在揭示自动化运维工具Ansible如何革新现代IT架构,通过简化配置管理和部署流程,提升效率和可靠性。我们将探索Ansible的核心功能、语言特性以及其在DevOps文化中的角色。文章还将展示如何借助Ansible构建模块化和可重用的配置代码,实现快速迭代与部署,并确保系统一致性。通过阅读本文,运维人员将了解如何利用Ansible优化日常任务,加速产品上线速度,同时提高系统的稳健性。
40 5