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、依据边界权衡数据冗余

  • 相关阅读:
    win7服务器从本地粘贴的文件,粘贴卡死
    AOP面向切面编程
    静态代理和动态代理
    查询数据库中第n行数据
    记录我的成长
    路径总和,双重递归
    java Queue 常用方法(持续更新)
    对称二叉树
    Linux学习之五——Linux虚拟机文件系统
    Linux学习之四——命令运行机制及查看命令帮助
  • 原文地址:https://www.cnblogs.com/linlf03/p/9964090.html
Copyright © 2011-2022 走看看