cloud Alibaba电商后台组件实战:架构演进,了解领域驱动设计,项目公共模块编写(1)

简介: cloud Alibaba电商后台组件实战:架构演进,了解领域驱动设计,项目公共模块编写(1)

cloud Alibaba项目

架构演进

单体架构

统一在一个程序中 共享数据库和缓存,部署上线简单

缺点明显,代码耦合严重 牵一发而动全身

10.png


垂直架构

优点:服务,部署独立,水平扩展容易

缺点:搭建复杂,服务之间关系错综复杂,维护困难

2.png


SOA架构

开始有了分块的功能划分,但是还是通过一个总线,去调用各个服务节点

优点:提供了底层服务的统一路由,方便调用

缺点 : 实现难度较高,不同架构之间也有耦合

3.png


微服务架构

相比SOA,微服务的入口开始有了变化,不再是直接访问程序,而是通过网关来分派转发

通过过滤的请求会被转发到对应的微服务,每一个服务独立部,运行在不同的机器上,用rest或者http通信

4.png


认识领域驱动设计

优点,有入口鉴权,功能分布细化,性能卓越

缺点, 项目复杂难度,信息暴露,复杂链路等各种问题

5.png


对于领域驱动设计的理解

6.png


理解领域概念,学习领域知识,对领域建模


分析领域模型,推演实体,值对象,领域服务

找出聚合边界,降低服务耦合

为耦合配备储存仓库,数据持久化

实践DDD,并且不断的推到重构


经典分层架构

解读

User Interface 用户接口层 接收用户指令,展示信息

Appllcation 应用程序层 Controller 对外提供服务接口,对内调用领域层

Domain 领域层,相当于是实体对象,领域模型 对应 数据库中的表

infrastructure 基础设施层,为其他层提供基础通用的基础能力,通信能力和持久化机制

7.png


传统开发:


会在开始之前就设计好数据库的表,去实现需求,后面想要修改就会影响到功能甚至是整体结构


领域驱动设计:


初期关心的是业务,持久化只是为了业务设计后期的考虑


电商工程业务解读,微服务模块拆分

Tips


学习领域知识最好的方法就是参考和借鉴


简单理解图

8.png



微服务模块拆分

工程入口以及用户鉴权微服务

网关是微服务架构的唯一入口


这里是电商的门面


涉及到


权限鉴定

服务调用

限流等

9.png


主要功能服务模块

账户,商品,订单,物流


合理的微服务划分

尽可能让每一个服务减少依赖和与其他服务的交集,最好是没有交集

101.png

相关文章
|
3月前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
2月前
|
运维 监控 负载均衡
动态服务管理平台:驱动微服务架构的高效引擎
动态服务管理平台:驱动微服务架构的高效引擎
31 0
|
2月前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
190 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
2月前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
249 3
【赵渝强老师】基于大数据组件的平台架构
|
3月前
|
消息中间件 监控 NoSQL
驱动系统架构
【10月更文挑战第29天】
37 2
|
3月前
|
消息中间件 运维 NoSQL
基础架构组件选型及服务化
【10月更文挑战第15天】本文概述了分布式系统中常见的基础架构组件及其选型与服务化的重要性。
|
1月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
2月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
50 3
|
2月前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
1月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
163 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型

热门文章

最新文章