0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

我所理解的SOA和微服务

lhl545545 来源:电子发烧友网 2018-02-07 14:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SOA和微服务到底是什么关系?

说实话,我确实不明白SOA和微服务到底有什么本质上的区别,两者说到底都是对外提供接口的一种架构设计方式。我倒觉得微服务其实就是随着互联网的发展,复杂的平台、业务的出现,导致SOA架构向更细粒度、更通过化程度发展,就成了所谓的微服务了。以这种说法做为根据,我觉得SOA与微服务的区别在于如下几个方面:

微服务相比于SOA更加精细,微服务更多的以独立的进程的方式存在,互相之间并无影响;

微服务提供的接口方式更加通用化,例如HTTP RESTful方式,各种终端都可以调用,无关语言、平台限制;

微服务更倾向于分布式去中心化的部署方式,在互联网业务场景下更适合;

为什么要使用微服务?

技术为业务而生,架构也为业务而出现,当然SOA和微服务也是因为业务的发展而出现。出现SOA和微服务框架与业务的发展、平台的壮大密不可分,下面借用dubbo的网站架构发展图和说明:

我所理解的SOA和微服务

单一应用架构

当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。

此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。

垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。

此时,用于加速前端页面开发的 Web框架(MVC) 是关键。

分布式服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。

此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。

流动计算架构

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。

此时,用于提高机器利用率的 资源调度和治理中心(SOA) 是关键。

平台随着业务的发展从 All in One 环境就可以满足业务需求(以Java来说,可能只是一两个war包就解决了);发展到需要拆分多个应用,并且采用MVC的方式分离前后端,加快开发效率;在发展到服务越来越多,不得不将一些核心或共用的服务拆分出来,其实发展到此阶段,如果服务拆分的足够精细,并且独立运行,我觉得就可以将之理解为一个微服务了。

理想中的微服务架构

没有什么东西是完美的,网站架构也是这样的,只有「比之前好一点」的架构或「目前最好的实现方式」,不存在理想中的架构,那么理想中微服务架构应该是怎么样的呢,我觉得至少应该有如下几个特点:

能支持当前业务需求,当然这只是最最基本的条件;

每个微服务都要去中心化,不存在单点故障;

每个微服务都要实现高可用、高负载,不会因为一个服务不可用而影响了整套业务流;

每个微服务都要高度通用化,即多种终端都可调用,不分语言和平台;

服务部署或升级简单,不会消耗大量人力并且部署过程不易出现人为错误;

微服务具有快速注册与自动发现功能(例如dubbo框架)

我所理解的SOA和微服务

当然,这只是其中能想到的几点,实际环境中用到的微服务框架有可能会根据实际业务需求优化出更加个性化的功能,也可能有些功能是不需要的。还是那句话,架构是服务于业务的,能快速方便的满足业务需求的架构才是好的架构,才是好的微服务架构。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SOA
    SOA
    +关注

    关注

    1

    文章

    320

    浏览量

    29036
  • 微服务
    +关注

    关注

    0

    文章

    147

    浏览量

    8050
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SOA应用-光子集成

    SOA
    天津见合八方光电科技有限公司
    发布于 :2025年12月02日 14:50:11

    如何基于Nginx构建微服务网关

    今天,将分享我们团队如何基于Nginx构建了一个日均处理10亿+请求的微服务网关,以及踩过的那些坑。这套方案已经稳定运行2年+,经历过多次大促考验。
    的头像 发表于 09-02 16:29 633次阅读

    电商API的微服务架构优化策略

    ​ 随着电子商务的快速发展,API(应用程序编程接口)已成为电商平台的核心组件,负责连接用户、商家和后台系统。微服务架构通过将应用拆分为独立、可扩展的服务单元,显著提升了系统的灵活性和可维护性。然而
    的头像 发表于 07-23 14:30 399次阅读
    电商API的<b class='flag-5'>微服务</b>架构优化策略

    OptiSystem应用:宽带SOA特性

    dBm范围内变化。 图1.SOA系统布局 信号增益和前向ASE总功率随输入信号功率变化曲线如图2示。 (a)信号增益随输入信号功率变化曲线 (b)总ASE功率随输入信号功率变化曲线 图2.(a
    发表于 06-10 08:45

    OptiSystem应用:SOA波长变换器(XGM)

    本案例演示了SOA作为使用交叉增益饱和效应(XGM)的波长变换器的应用。 波长为λ1的光信号与需要转换为波长为λ2的连续光信号同时输入SOASOA对λ1光功率存在增益饱和特性,结果使得输入光信号
    发表于 05-20 08:46

    OptiSystem应用:宽带SOA特性

    dBm范围内变化。 图1.SOA系统布局 信号增益和前向ASE总功率随输入信号功率变化曲线如图2示。 (a)信号增益随输入信号功率变化曲线 (b)总ASE功率随输入信号功率变化曲线 图2.(a
    发表于 05-19 08:48

    OptiSystem应用:SOA波长变换器(XGM)

    本案例演示了SOA作为使用交叉增益饱和效应(XGM)的波长变换器的应用。 波长为λ1的光信号与需要转换为波长为λ2的连续光信号同时输入SOASOA对λ1光功率存在增益饱和特性,结果使得输入光信号
    发表于 04-01 09:35

    微服务器架构几种典型的基础框架,你了解吗?

    SpringCloud、Dubbo、Dropwizard、Akka等是常见微服务框架。SpringCloud基于SpringBoot,生态丰富;Dropwizard轻量且继承SpringBoot优点
    的头像 发表于 03-04 11:05 797次阅读

    OptiSystem应用:宽带SOA特性

    dBm范围内变化。 图1.SOA系统布局 信号增益和前向ASE总功率随输入信号功率变化曲线如图2示。 (a)信号增益随输入信号功率变化曲线 (b)总ASE功率随输入信号功率变化曲线 图2.(a
    发表于 02-05 09:29

    NVIDIA 发布保障代理式 AI 应用安全的 NIM 微服务

    NVIDIA NeMo Guardrails 包含全新 NVIDIA NIM 微服务,能够为各行业构建 AI 的企业提高 AI 的准确性、安全性和可控性。   AI 智能体有望成为能够完成各种任务
    发表于 01-17 16:29 282次阅读

    微服务容器化部署好处多吗?

    微服务容器化部署好处有很多,包括环境一致性、资源高效利用、快速部署与启动、隔离性与安全性、版本控制与回滚以及持续集成与持续部署。这些优势助力应用可靠稳定运行,提升开发运维效率,是现代软件架构的优质选择。UU云小编认为微服务容器化部署好处主要体现在以下几个方面:
    的头像 发表于 01-17 10:22 549次阅读

    容器化能替代微服务吗?两者有何区别

    和可维护性。而容器化技术则是一种轻量级的虚拟化技术,它将应用程序及其依赖项打包到一个独立的容器中,使其能够在不同的环境中一致地运行。虽然容器化技术为微服务提供了一个理想的运行环境,但微服务架构本身强调的
    的头像 发表于 01-13 10:40 695次阅读

    OptiSystem应用:SOA波长变换器(XGM)

    本案例演示了SOA作为使用交叉增益饱和效应(XGM)的波长变换器的应用。 波长为λ1的光信号与需要转换为波长为λ2的连续光信号同时输入SOASOA对λ1光功率存在增益饱和特性,结果使得输入光信号
    发表于 01-06 08:51

    宝藏级微服务架构工具合集

    宝藏级热门微服务架构工具包含Spring Boot、Eclipse Vert.X、Kubernetes、Tyk、RabbitMQ、Apache Kafka等。其中,Spring Boot简化了微服务
    的头像 发表于 12-21 16:33 910次阅读

    面向服务的整车EE架构(SOA)设计开发咨询服务

    经纬恒润多年来一直致力于为客户提供先进电子电气架构解决方案,近年来,经纬恒润在国内率先开展整车SOA架构的技术研发和业务布局,参与多款SOA架构下量产车型的研发,积累了丰富的SOA架构设计经验。
    的头像 发表于 12-12 15:11 1254次阅读
    面向<b class='flag-5'>服务</b>的整车EE架构(<b class='flag-5'>SOA</b>)设计开发咨询<b class='flag-5'>服务</b>