微服务架构思考 冷不防 2023-07-24 05:54 20阅读 0赞 ### 文章目录 ### * * * 一、从需求的角度去考虑 * * * * 服务拆分的缺点: * 服务拆分的优点: * 服务拆分的粒度: * 二、从迭代的角度去考虑 * * * * 依赖的两个层次: * 影响的两个层次: * 变动的两个层次: * 服务拆分的粒度: ### 一、从需求的角度去考虑 ### ###### 服务拆分的缺点: ###### 1.每个服务都需要单独的机器部署,浪费资源,增加运维负担; 2.服务拆分后会产生分布式事务、跨库事务、跨库分页; 3.服务较多时,服务之间的依赖关系复杂,不好治理; 4.拆分后不便于排查问题,不便于debug; 5.特殊业务的服务归属问题难以决定,当一个接口即可以放在A这边,又可以放在B这边或放在A这边A觉得不合适,放在B这边B觉得也不合适,即A觉得A要解耦,B应该内聚,而B恰恰相反,觉得自己的服务要解耦,让其他服务内聚,会出现双方架构上的争论; 7.技术难度增加:一些服务拆分的细节问题需要考虑,定时任务问题,缓存问题等; ###### 服务拆分的优点: ###### 1.将服务拆分后代码整洁,模块分明,逻辑清晰,降低业务复杂度,减少不同业务之间的表的关联查询; 2.服务拆分将提高迭代速度和质量:服务拆分后一个模块的版本回退不会影响另一个(如果API不变的话),这样可以先开发后决定是否提交测试;开发之间的依赖较少,可以流水线似的进行交付; 3.以服务为单位建立AB双角色的负责人机制:传统的以业务为单位建立负责人机制容易出现甩锅现象,以服务为单位时,你在代码上为别人提供服务的同时也要在开发过程中提供相关的服务; 4.降低耦合,一个模块更新升级对其他模块影响小 5.负载: 6.水平扩展、垂直拆分容易 7.让各模块职责明确,边界清晰,业务不会乱成一团,否则新加功能时只知道往整体塞,但不知道各个业务之间的联系和职责,导致最后系统越来也复杂。 8.一个人一个模块可以伴随着个人的成长进行模块的优化,前提是需要经常由架构做代码review。 ###### 服务拆分的粒度: ###### 通过确定哪些优点你优先考虑,哪些缺点你可以接受来决定服务的粒度。 ### 二、从迭代的角度去考虑 ### 每个迭代会引起系统代码的变动,从下面三个维度去考虑架构是否方有以下耦合 ###### 依赖的两个层次: ###### 1.系统间依赖:一个系统的变动影响其他系统; 2.系统内依赖:一个模块的变动影响同一个系统内的其他模块; ###### 影响的两个层次: ###### 1.接口依赖:一个单元接口参数的变动会引起另一个单元实现的变动 2.服务依赖:一个单元停止服务会导致另一个单元不能正常提供服务 ###### 变动的两个层次: ###### 1.改变依赖:一个单元的修改或一个接口的修改会影响到另一个单元 2.新增依赖:一个单元的增加或一个接口的增加会影响到另一个单元 ###### 服务拆分的粒度: ###### 服务的拆分需要根据具体业务的重要性来决定细到哪一个层次。
相关 【微服务】微服务架构设计 文章目录 背景 一、流量入口Nginx 二、网关 三、业务组件 四、服务注册中心 五、缓存和分布式锁 六、数据持久层 七、 亦凉/ 2023年10月12日 18:07/ 0 赞/ 91 阅读
相关 微服务架构 — 微服务框架 目录 文章目录 目录 微服务框架 第一代微服务框架 Spring Cloud Dubbo 下一代微服务框架 — S 迈不过友情╰/ 2023年10月05日 04:47/ 0 赞/ 46 阅读
相关 架构:微服务架构 系统架构设计描述了在应用系统的内部,如何根据业务、技术、组织、灵活性、可扩展性以及可维护性等多种因素,将应用系统划分成不同的部分,并使这些部分彼此之间相互分工、相互协作,从而为 古城微笑少年丶/ 2023年07月10日 08:59/ 0 赞/ 25 阅读
相关 微服务架构 Microservices a definition of this new architectural term The term "Microservice Arc 忘是亡心i/ 2022年07月13日 06:08/ 0 赞/ 555 阅读
相关 微服务架构 微服务架构 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术 £神魔★判官ぃ/ 2022年04月25日 07:06/ 0 赞/ 290 阅读
相关 微服务架构 [微服务架构核心20讲][20] -------------------- 01 | 微服务定义 微服务是一种架构风格 大中台,小前台 > 定义一 一 港控/mmm°/ 2022年04月24日 04:08/ 0 赞/ 427 阅读
相关 微服务与微服务架构 什么是微服务? > 微服务的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是 偏执的太偏执、/ 2021年12月17日 05:59/ 0 赞/ 609 阅读
相关 微服务架构 一、先了解一下什么是单体应用 就是一个应用程序包含了所有模块功能,各模块同时部署。当然这种应用模式比较容易部署、测试,但随着项目的加大,单体模式就会变得越来越臃肿,维护的成 古城微笑少年丶/ 2021年09月23日 07:40/ 0 赞/ 602 阅读
还没有评论,来说两句吧...