zoukankan      html  css  js  c++  java
  • 微服务如何拆分

    一、微服务如何拆分

    1、先明白起点和终点

    2、需要考虑的因素和坚持的原则

    二、起点和终点

    1、起点

         既有架构的形态

    2、终点

      好的架构不是设计出来的,而是进化而来的。

      一直在演进

    三、不适合上微服务的

    1、系统中包含很多很多强事务场景的

    2、业务相对稳定,迭代周期长

    3、访问压力不大,可用性要求不高

    四、如何拆功能

    1、单一职责,松耦合,高内聚

    2、关注点分离

      按职责

      按通用性

      按粒度级别

    六、服务拆分方法

    服务和数据的关系

      先考虑业务功能,再考虑数据

           无状态服务(一个数据被多个服务共享)

    七、如何拆分“数据”

    1、每个微服务都有单独的数据存储

    2、依据服务特点选择不同结构的数据库类型

      依据服务的功能特点,选择合适的数据库。

         1)有些前置服务使用node开发,主要是展示类型的数据,对事务要求不高。那这个服务可以考虑NoSql的MongoDB

         2)比如服务是做搜索类型的,我们可以优先考虑elasticsearch。

          3) 对事务要求高的,优先考虑支持事务的关系型数据库,如MySql

    3、难点在确定边界。

    4、针对边界设计API

    5、依据边界权衡数据冗余

  • 相关阅读:
    进程池和线程池
    TCP并发、GIL、锁
    进程间通信
    装饰器与反射
    装饰器大全
    面向对象三大特征: 封装 继承 多态
    面向对象 魔术方法
    魔术方法
    ubuntu 中导 tarfile,win 不亲切
    os VS shutil
  • 原文地址:https://www.cnblogs.com/linlf03/p/9964090.html
Copyright © 2011-2022 走看看