一、微服务如何拆分

1、先明白起点和终点

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

 

二、起点和终点

1、起点

     既有架构的形态

2、终点

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

  一直在演进

 

三、不适合上微服务的

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

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

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

 

四、如何拆功能

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

2、关注点分离

  按职责

  按通用性

  按粒度级别

 

六、服务拆分方法

服务和数据的关系

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

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

 

七、如何拆分“数据”

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

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

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

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

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

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

3、难点在确定边界。

4、针对边界设计API

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

 

相关文章:

  • 2021-07-11
  • 2021-04-04
  • 2021-10-26
  • 2021-11-07
  • 2021-05-28
  • 2021-06-06
  • 2022-01-09
猜你喜欢
  • 2021-10-31
  • 2021-06-02
  • 2021-08-07
  • 2021-11-25
  • 2021-12-03
  • 2021-12-19
相关资源
相似解决方案