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

简介: 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”级公有云、私有云定制化服务。

相关文章
|
3月前
|
监控 Java 持续交付
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
70 1
|
2月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
3月前
|
机器学习/深度学习 自然语言处理 分布式计算
大规模语言模型与生成模型:技术原理、架构与应用
本文深入探讨了大规模语言模型(LLMs)和生成模型的技术原理、经典架构及应用。介绍了LLMs的关键特点,如海量数据训练、深层架构和自监督学习,以及常见模型如GPT、BERT和T5。同时,文章详细解析了生成模型的工作原理,包括自回归模型、自编码器和GANs,并讨论了这些模型在自然语言生成、机器翻译、对话系统和数据增强等领域的应用。最后,文章展望了未来的发展趋势,如模型压缩、跨模态生成和多语言多任务学习。
344 3
|
15天前
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
|
28天前
|
容灾 网络协议 数据库
云卓越架构:云上网络稳定性建设和应用稳定性治理最佳实践
本文介绍了云上网络稳定性体系建设的关键内容,包括面向失败的架构设计、可观测性与应急恢复、客户案例及阿里巴巴的核心电商架构演进。首先强调了网络稳定性的挑战及其应对策略,如责任共担模型和冗余设计。接着详细探讨了多可用区部署、弹性架构规划及跨地域容灾设计的最佳实践,特别是阿里云的产品和技术如何助力实现高可用性和快速故障恢复。最后通过具体案例展示了秒级故障转移的效果,以及同城多活架构下的实际应用。这些措施共同确保了业务在面对网络故障时的持续稳定运行。
|
3月前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
101 32
|
3月前
|
存储 监控 API
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
90 12
|
3月前
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
3月前
|
监控 持续交付 API
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
44 4
|
3月前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
89 1

热门文章

最新文章