微服务

1. SaaS

软件即服务,是一种通过互联网提供软件服务的模式。供应商将软件统一部署在自己的服务器,用户按照自己的需求,向供应商订购所需要的服务。就比如我们使用的阿里云服务器,我们只需要根据自己的使用需求,选择内存、镜像、使用时长等参数。供应商(阿里云)就会根据我们的这些选择,确定这台云服务器所需要的价格,付款后即可立即使用。

特点:

  • 服务通过网络进行访问。
  • 用户可按需求定制化服务。按需租赁、按需付费。
  • 简单:用户无需担心硬件环境。对所购买的服务只需要注册安装即可上手使用。
  • 灵活:随用随买。如果不需要该服务的时候,也能很便捷的停用。

2.服务架构

一个完整的服务,是由许多的小模块组成的。每个模块的功能都不尽相同。因在在确立系统架构的时候,就要对各个功能进行分析,判断该功能在以后是否有复用、扩展的可能性,或者是功能需要调整的复杂性。首先在这里引出微服务的概念。

  • 什么是微服务

微服务是一种架构风格:(特点:高内聚,低耦合)

1. 一组小服务
2. 每个服务运行在独立进程中
3. 服务之间使用轻量级通信
4. 服务可独立部署
5. 是基于业务能力实现
6. 无集中式管理
  • 微服务的特点
    1. 单一职责;微服务中每一个服务都对应唯一的业务能力
    2. 轻量级的通信;
    3. 隔离性,运行在自己的进程中,不会相互干扰;
    4. 有自己的数据,数据的独立性,每个微服务都有自己的数据库;
    5. 面向服务:技术实现的多样性,对外只提供Rest风格的接口。各个服务的具体实现互不影响
    
  • 微服务的优缺点
     微服务的优缺点大多源于它的特点
       优点
         1. 独立。服务与服务之间松耦合,无论是在开发阶段或部署阶段都是独立的。
         2. 能够快速响应, 局部修改容易, 一个服务出现问题不会影响整个应用。
         3. 每个微服务都很小,高内聚。而且对划分出来的服务也便于任务的分配,提高开发效率
       缺点
         1. 对架构水平要求高
         2. 分布式系统过于复杂。跟踪问题难,管理难度高。
    

3.spring-cloud-alibaba的架构体系

  • 一些组件
     1. Sentinel:限流,服务熔断、降级。从多个角度保证服务之间的稳定性。
     2. Nacos:注册中心+配置中心
     3. Dubbo:分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案。
     4. Seata:是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务,能处理一个典型的分布式事务过程
    
  • Dubbo----远程服务调用的分布式框架
    Dubbo架构
    在这里插入图片描述

节点角色说明:

   Provider: 暴露服务的服务提供方。
   Consumer: 调用远程服务的服务消费方。
   Registry: 服务注册与发现的注册中心。
   Container: 服务运行容器。
   Monitor: 统计服务的调用次调和调用时间的监控中心。

调用关系说明:

  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

结合项目结构分析,主要分为三层

 1. Face层:提供访问(远程调用的接口)。
 2. Produce层:充当Provider。是对Face层接口的具体实现。
 3. Web(Controller)层:充当Consumer。调用服务。

关于注解:

 @DubboService:负责暴露并提供服务
 @DubboReference:引用服务

在这里插入图片描述

@DubboService将服务暴露出去,在配置文件中写明了包扫描的地址。那么服务启动的时候,就会去对应的包下扫描。
把所暴露出的服务初始化进容器中。然后通过@DubboReference就能把对应的服务引用过来。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值