zoukankan      html  css  js  c++  java
  • Dubbo分布式服务子系统的划分

    一、划分子系统的策略

    按照系统的业务模块的独立性划分

    二、划分时服务子系统的数量的控制

    过多:可能划分过细,破坏业务子系统的独立性,部署维护工作量大,独立进程占用内存多

    过少:没能很好的解耦,开发维护不好分工,升级维护影响面大

    三、服务子系统划分要注意的地方

    3.1 不要出现A服务中的SQL需要链接查询到B服务中的表等情况,这样在A服务与B服务进行垂直拆库时就会出错

          eg:服务虽然拆分了,但是还是用的同一个数据库

    3.2  服务子系统间避免出现环状的依赖调用

           eg:A服务调用B服务,B服务调用C服务,C服务调用A服务;出现这种情况说明服务划分得还是不够细,没有完全的解耦,需要考虑出现环状调用的几个服务之间是否还有能合并得模块

    3.3 服务子系统间的依赖关系链不要过长

          eg:A服务——>B服务——>C服务——>D服务——>E服务;出现这种情况说明服务子系统划分过细,需要考虑几个服务之间是否能向上合并

    3.4 尽量避免分布式事务,如果不能避免,需要考虑使用消息中间件来保证事务的一致性

    四、总结

    Dubbo分布式服务子系统的划分是一个不断优化的过程,刚开始的时候可以只划分几个子系统,随着业务量的变化不断的增多

  • 相关阅读:
    tcp为什么要三次握手
    TCP/IP协议(一)网络基础知识
    拜占庭将军问题深入探讨
    Block Manager
    Standalone 集群部署
    Spark内存管理
    Checkpoint & cache & persist
    Python——在Python中如何使用Linux的epoll
    网络编程——C10K简述
    网络编程——The C10K Problem(C10K = connection 10 kilo 问题)。k 表示 kilo,即 1000
  • 原文地址:https://www.cnblogs.com/leeSmall/p/7587976.html
Copyright © 2011-2022 走看看