zoukankan      html  css  js  c++  java
  • 微服务二:微服务的拆分、设计模式、内部结构

    微服务的拆分、设计模式、内部结构

    一、微服务拆分

      
      x轴处理并发量问题。 y轴解决业务量问题(微服务)。Z轴解决数据量问题。
      微服务的拆分,通常根据 系统层面、业务模块层面、功能层面、读写层面、这四个层面来拆分。

    1.系统层面拆分

      根据公司具有的业务系统进行拆分。这是最表面,最简单的拆分。
      

    2.业务模块层面拆分

      业务模块拆分,是根据业务的名称和动词进行拆分。如,对电商系统进行业务模块层面拆分。
      

    3.功能层面拆分

      

    4.读写层面拆分

      
        如果完全按照这四个层面进行拆分,那么微服务将会非常详细,导致拆分的树过于复杂庞大。因此,拆分是没有银弹的。微服务拆分,可以根据团队量来决定。一般来说,一个微服务,应该有3个人来维护。如果团队有12个人,建议将系统拆分成4个微服务。总的来说,服务拆分,应根据公司投入的人力成本。人力成本越多,服务拆分可足够细致。微服务架构设计时,要足够灵活、保证其可扩展性。

    二、微服务架构设计模式

      以团队管理系统为例 展开说明。

    聚合器设计模式

      
      这种设计的特点是 设计简单,性能高效。且解耦、扩展。如果是前后端分离,聚合服务就是各个服务接口功能和业务逻辑。如果前后端没有分离,每个聚合服务,可以是每个页面
      

    三、微服务内部结构

      微服务架构设计,首先就要选择微服务的内部结构。通常其内部结构有如下两种方式:
      
      第一种微服务结构,往往使用webapi,开发平台是.net5或者.netcore。如果想使用跨语言来开发(同时使用多种语言开发微服务,如同时使用java和.net5),则选用第二种。第二种比第一种的通信性能高。这里我们使用第一种。

  • 相关阅读:
    浅谈JS的数组遍历方法
    浅谈JavaScript函数重载
    随机数的组合问题(JavaScript描述)
    如何使用百度bae部署web项目
    阿里前端笔试总结
    有趣的JavaScript隐式类型转换
    CSS如何实现”右部宽度固定,左部自适应“的布局
    Nor Flash的理论性能
    python argparse:命令行参数解析详解
    rwcheck:为嵌入式设备设计的读写压测工具
  • 原文地址:https://www.cnblogs.com/Fengyinyong/p/14817330.html
Copyright © 2011-2022 走看看