美文网首页
五、服务拆分的原则

五、服务拆分的原则

作者: 薛定谔的猫_1406 | 来源:发表于2018-06-13 21:17 被阅读0次

一、服务拆分的原则

  • 单一职责,高内聚低耦合
  • 服务粒度适中
  • 以业务模型切入
  • 演进式的开发


    好的服务具备的特征

二、分析业务模型及服务拆分

业务模型
确定服务边界

三、微服务数据库的拆分

数据库拆分

四、微服务如何实现数据的一致性:在微服务架构下每个服务对应一个数据库,这就在原来单体应用中对一个库的操作变成了跨服务数据库的操作,遇到有事务约束的场景,比如转账汇款,库存扣减,订单状态等,就从本地事务变成分布式事务,然而分布式事务并不适用于微服务。

4.1 在微服务架构下使用最终一致性来替代分布式事务。最终服务性指的是节点间的数据在一段时间后最终达到一致的状态,有两种模式来实现最终一致性:

  • 可靠事件模式:一般借助消息队列和内部表来完成。指的是它的前序事件发生,后续事件就一定会发生。比如支付宝向余额宝转账,转账后余额宝一定会增加,但是可靠事件模式不能进行回滚。
  • 补偿模式- sagas模型:saga是一系列有序的本地事务,每个本地事务通过更新数据库或者发送消息来触发下一个本地事务,如果本地事务失败,saga会有序的执行补偿事务,来回滚刚才的操作。特点是支持回滚。


    可靠事件模式
    补偿模式

相关文章

  • 架构师进阶实战随堂笔记五

    场景五:微服务中的服务划分问题 微服务拆分原则、方法与最佳实践 目录 应该怎样去拆分服务呢? 基本原则: 低耦合,...

  • 五、服务拆分的原则

    一、服务拆分的原则 单一职责,高内聚低耦合 服务粒度适中 以业务模型切入 演进式的开发好的服务具备的特征 二、分析...

  • springcloud

    微服务 服务拆分的原则 高内聚、低耦合 服务正交性原则 拆分层级最多三层 粒度适中,演进式拆分 避免循环依赖 通用...

  • Java高并发-应用拆分

    应用拆分 应用拆分原则 应用拆分思考 Dobbo 和 SpringCloud Dobbo : 分布式服务框架,提供...

  • 微服务的拆分规范和原则

    微服务的拆分规范和原则 拆分方案 压力模型拆分 业务模型拆分--主链路拆分--领域模型拆分--用户群体拆分--前后...

  • 微服务拆分原则

    微服务拆分原则 微服务拆分过程中需严格遵守高内聚、低耦合原则,同时结合项目的实际情况,综合考虑业务领域、功能稳定性...

  • 业务拆分原则介绍

    1. 常见的做法 常见的错误做法: 服务拆分粒度越小越好 按照大公司的套路拆分 以代码量为拆分标准 拆分核心三原则...

  • 微服务架构设计和拆分

    微服务架构的设计原则 拆分足够微 轻量级通信 领域驱动原则 单一职责原则 DevOps(开发/运维)及两个披萨 不...

  • AKF扩展立方

    X轴原则:横向扩展 复制服务或者数据库来分散事务负载. Y原则 将不同的服务数据拆分开来.把各个业务独立开来. Z...

  • 微服务拆分策略和原则

    一、前言 微服务在最近几年大行其道,很多系统的研发都在考虑采用微服务架构,同时,随着 Docker 容器技术和De...

网友评论

      本文标题:五、服务拆分的原则

      本文链接:https://www.haomeiwen.com/subject/yyeseftx.html