当前位置: 首页 > news >正文

微服务优缺点以及如何拆分

微服务优点
1,降低代码逻辑复杂度。
单个微服务模块相当于一个项目,开发人员只用关心这个模块的逻辑即可。
2,技术栈更加灵活
不同的微服务可以使用合适的语言架构实现,然后把服务注册到一个注册中心即可相互调用。
3,按需伸缩
当某一个模块达到瓶颈时,可针对模块多部署几个实例,从而提高整体吞吐量。
4,提高代码通用性
比如系统有订单,会员两个模块,后面有其他项目有会员功能,我们可以单独把会员模块拿过来使用。
缺点:
1,处理故障难度高
微服务架构是一个分布式系统,各模块运行在独立的进程中,出问题时可能需要逐个排查
2,部署工作量大
每个实例都需要配置部署和监控
3,分布式系统常见问题
模块之间通过rpc协议通信,提高了出错概率,分布式事务,分布式日志收集都是我们面临需要解决的问题。
微服务应该怎么拆分
1,根据业务拆分,根据业务功能对微服务进行才分,明确服务的业务场景,在设计时需要考虑业务的可划分性,不易将过于细小的业务片段独立成服务,做到每个模块高内聚低耦合。
2,功能拆分
在业务划分的基础上可以再进行配套服务的功能拆分,可以选择将某一个服务的相对独立的功能拆解出来单独成服务,在功能的拆分过程中需要考虑拆分后的服务所需的数据存储,运行环境是否能够满足。
3,数据拆分,在实际的运行过程中也需要考虑服务之间的数据交互,在进行服务拆分的时候,会出现一些公共的数据存在多个服务之间,这个时候可能需要按照一定的原则对数据进行拆分,一般来说数据拆分将划分为单一负责一部分数据的服务,避免多服务之间进行数据交互。
4,接口拆分
在微服务架构中服务之间通过暴露接口来实现交互,在服务划分的过程中我们还需要考虑服务间的接口拆分,拆分出来的每个服务都应该对暴露一部分接口以供其他服务调用。
接口拆分主要是根据服务的功能和使用场景进行合理的接口设计。
5,微服务的拆分粒度,2-3个人维护一个微服务。
6,一个微服务对一个数据库


http://www.mrgr.cn/news/16189.html

相关文章:

  • YOLOv9独家改进:一种高效移动应用的卷积加性自注意Vision Transformer
  • 技术周总结08.26-09.01(软件架构)
  • 麦弗逊悬架KC特性分析APP开发与应用
  • 渐进式衰老?医美三剑客的“市梦率”幻灭了
  • 干货分享|分享一款自己常用的桌面整理神器 WPS桌面整理
  • 点击消除:删除连续重复的字符
  • 信息安全--(五)物理与环境安全技术(二)机房安全分析与防护
  • 【Linux操作系统】重装系统配置文件一条龙
  • STM32通过ADM3222完成UART转232通信电平转换
  • 设计模式之桥接模式
  • P1494 [国家集训队] 小 Z 的袜子(分块,莫队算法)
  • 分类任务实现模型集成代码模版
  • 【每日一题】【想通后的诈骗题】Wakey Wakey 牛客挑战赛76 A题 C++
  • 探索全能型AI与专业型AI的未来趋势
  • Simulink代码生成:关系运算与逻辑运算
  • 2024大模型学习:机器学习在安全领域的应用|从大数据中识别潜在安全威胁
  • Netty 知识目录
  • 操作系统页面置换: 先进先出算法(FIFO)
  • Unet改进11:在不同位置添加MLCA||轻量级的混合本地信道注意机制
  • 书生浦语实训营-InternVL 多模态模型部署微调实践