zoukankan      html  css  js  c++  java
  • 微服务介绍

    一、 微服务介绍

    1 一系列微小的服务共同组成

    2  跑在自己的进程里

    3 每个服务为独立的业务开发

    4 独立部署

    5 分布式管理

    二、分布式定义

    旨在支持应用程序和服务的开发,可以利用物理架构,由多个自治的处理元素,不共享主内存,但通过网络发送消息合作。

    三、架构的演进

    详细请参考 微服务演进史 

    四、微服务优点

    1、服务组件化(比如支付功能,独立出来)和去中心化(你需要什么组件,你就去调用什么组件)。

    2、分散服务治理和分散数据管理

     分散服务治理: 支付和订单对安全要求比较高,花费更多的精力(如70% ~80%,这是系统的核心); 商品浏览安全低,图片可以让用户下载

     分散数据管理: 商品可以用一个库,订单可以用一个库,相互独立

    3、强调业务单一性,弱化业务耦合度

    4、容错设计和资源合理分配

     容错设计: 单个服务出了问题,对业务没有影响。进行熔断,降级,限流等处理

    资源合理分配: 单体引用,比如有10个模块,只有订单占用CPU和内存比较多,其它服务几乎不需要。微服务可以把订单独立出来,分配更好的机器(更好的CUP和内存)

    五、微服务的缺点

    1、对人员技能素质要求较高。

    比如对于单体应用,微服务多了服务间的调用。

     2、过多的约定俗成对团队协调性要求较高

    比如有个字典数据,服务A和服务B都需要。解决方法: 可以统一有单个服务维护,其它服务需要要就调用它。 例外一种方法就是服务A和服务B就约定好这个字典数据,固定写在自己的服务里。

    3、微服务拆分粒度决定了扩展难度和维护难度

    服务拆分可能拆出几十甚至上百个服务,扩展和维护难度肯定变大

    4、回归冒烟等测试可以用灾难来形容

    比如订单服务改了下,所有影响的服务都要改下。把所有的服务都回归测试一遍。

    六、简单的微服务架构

    七、Spring Cloud是什么

    1、Spring Cloud是一个开发工具集,含了多个子项目

      1)、Spring Boot使用

      2)、对Netflix开源组件的进一步封装

    2. Spring Cloud简化了分布式开发

    八、微服务的基本术语

    服务提供者: 业务实现者,封装业务接口同时提供业务实现逻辑

    服务消费者: 业务调用者,调用服务提供者对外暴露的接口

    负载均衡: 同一个服务的多个服务提供者分摊请求处理

    注册中心: 提供公共的地方让服务提供者和消费者相互发现

    服务治理: 服务拆分以后各种问题和解决方案的集合。

  • 相关阅读:
    双飞翼布局 & 圣杯布局
    php正则
    面向对象-object对象
    面向对象-赋值运算
    面向对象-作用域
    js高级-面向对象
    8.5学习笔记
    10.22
    10.19
    react路由
  • 原文地址:https://www.cnblogs.com/linlf03/p/9956751.html
Copyright © 2011-2022 走看看