zoukankan      html  css  js  c++  java
  • 微服务的优缺点

    觉得基于springcloud、dubbo的微服务缺点大于优点。很多技术人员为了微服务而微服务。

    基于springcloud、dubbo的微服务和基于jar的微服务。

    基于springcloud、dubbo的微服务简称传统微服务,基于jar的微服务简称jar微服务。

    jar微服务定义:服务的相互调用通过引用jar,调用本地api方法。定义的其他部分和传统微服务定义一致。传统微服务是通过微服务进行服务隔离,jar微服务通过jar包进行服务隔离。

     

    ## 传统微服务的优点

    1. 微服务是松藕合的,无论是在开发阶段或部署阶段都是独立的。

    2. 能够快速响应, 局部修改容易, 一个服务出现问题不会影响整个应用。

    3. 易于和第三方应用系统集成, 支持使用不同的语言开发, 允许你利用融合最新技术。

    4. 每个微服务都很小,足够内聚,足够小,代码容易理解。团队能够更关注自己的工作成果, 聚焦指定的业务功能或业务需求。

    5. 开发简单、开发效率提高,一个服务可能就是专一的只干一件事, 能够被小团队单独开发,这个小团队可以是 2 到 5 人的开发人员组成

     

    ## 传统微服务的缺点

    1. 服务调用跨网络,增加网络IO,降低性能。

    2. 服务调用跨更多节点,分布式事务数据不一致性可能更大。

    3. 需要服务发现,增加复杂度。

    4. 运维、测试基于微服务架构的应用也很复杂。

    5. 每个服务都是一个独立系统,代码重复,增加系统框架不一致的可能性。

    6. 所以服务总的启动时间长。

    7. 服务依赖的传递性,A依赖B,B依赖C。那么只能先部署好C、再部署B、再部署A。

     

    ## 传统微服务的优点

    1. 传统微服务能使用不同的语言、框架开发。

    2. 一个jar是计算密集型的,一个jar是io密集型的,集成在一个系统里,会有资源冲突。

     

    ## 说明

    1. 关于解耦,传统微服务解耦和jar微服务解耦效果差不多。

    2. 关于服务发现,这本是传统微服务自找麻烦,自己挖了坑,自己再把它填上。

     

    ##都需要注意的地方

    边界定义清楚

    ##传统微服务适用场景

    服务跨部门,甚至服务跨公司。不同部门资源很难统一协调,也很可能使用不同的语言或框架。团队内部千万不要为了微服务而去微服务。

  • 相关阅读:
    利用avicap32.dll实现的实时视频传输
    异常错误:在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
    很不错的python 机器学习资源
    基于C#的机器学习--目录
    C#WinForm无边框窗体移动----模仿鼠标单击标题栏移动窗体位置
    C# WinForm窗体控件GroupBox修改边框颜色控件
    wireshark抓包新手使用教程
    Winform开发框架之权限管理系统功能介绍
    自定义控件开发的调试及DesignMode的状态处理
    Winform开发框架之权限管理系统改进的经验总结(4)--用户分级管理
  • 原文地址:https://www.cnblogs.com/uestc2007/p/13926104.html
Copyright © 2011-2022 走看看