微服务拆分

熟悉黑马商城

服务拆分原则

什么时候拆分?

  • 创业型项目:先采用单体架构,快速开发,快速试错。随着规模扩大,逐渐拆分。
  • 确定的大型项目:资金充足,目标明确,可以直接选择微服务架构,避免后续拆分的麻烦。

怎么拆分?

从拆分目标来说,要做到:

  • 高内聚:每个微服务的职责要尽量单一,包含的业务相互关联度高、完整度高。
  • 低耦合:每个微服务的功能要相对独立,尽量减少对其它微服务的依赖。

从拆分方式来说,一般包含两种方式:

  • 纵向拆分:按照业务模块来拆分
  • 横向拆分:抽取公共服务,提高复用性

拆分服务

将hm-service中与商品管理相关功能拆分到一个微服务module中,命名为item-service

将hm-service中与购物车有关的功能拆分到一个微服务module中,命名为cart-service

服务调用

Spring给我们提供了一个RestTemplate工具,可以方便的实现Http请求的发送。使用步骤如下:

  1. 注入RestTemplate到Spring容器
  1. 发起远程调用

总结

什么时候拆分微服务?

  • 初创型公司或项目尽量采用单体项目,快速试错。随着项目发展到达一定规模再做拆分

如何拆分微服务?

  • 目标:高内聚、低耦合。
  • 方式:纵向拆分、横向拆分

拆分后碰到的第一个问题是什么,如何解决?

  • 拆分后,某些数据在不同服务,无法直接调用本地方法查询数据
  • 利用RestTemplate发送Http请求,实现远程调用
相关推荐
mounter6254 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
架构师老Y4 小时前
008、容器化部署:Docker与Python应用打包
python·容器·架构
星河耀银海4 小时前
远控体验分享:安全与实用性参考
人工智能·安全·微服务
企业架构师老王4 小时前
2026企业架构演进:科普Agent(龙虾)如何从“极客玩具”走向实在Agent规模化落地?
人工智能·ai·架构
PD我是你的真爱粉5 小时前
MCP 协议详解:从架构、工作流到 Python 技术栈落地
开发语言·python·架构
Henb9297 小时前
# 大规模数据平台架构演进
架构
小程故事多_808 小时前
从零吃透Transformer核心,多头注意力、残差连接与前馈网络(大白话完整版)
人工智能·深度学习·架构·aigc·transformer
Warren2Lynch9 小时前
AI 驱动的 UML 图表支持全景指南
人工智能·架构·uml
架构师老Y10 小时前
013、数据库性能优化:索引、查询与连接池
数据库·python·oracle·性能优化·架构
键盘鼓手苏苏10 小时前
Kubernetes与GitOps高级实践
云原生·kubernetes·k8