[Spring Cloud]:Study Notes·壹

文章目录

  • 摘要
  • 1 认识微服务
    • 1.1 单体架构与分布式架构
    • 1.2 分布式架构与微服务
    • 1.3 微服务架构
  • 2 nacos
    • 2.1 什么是nacos
    • 2.2 nacos使用
      • 2.2.1 nacos使用逻辑
      • 2.2.2 启动下载好的nacos
      • 2.2.3 引入依赖
      • 2.2.4 各注册服务中配置nacos相关信息
      • 2.2.5 测试nacos注册成功
  • 3 Ribbon负载均衡
    • 3.1 Ribbon负载均衡使用引入
    • 3.2 负载均衡原理
    • 3.3 源码跟踪

摘要

摘要:分布式;微服务;springcloud;nacos;ribbon;RPC

1 认识微服务

1.1 单体架构与分布式架构

架构方式 解释 优点 缺点
单体架构 将业务所有功能集中在一个项目中开发,打成一个包部署。 1、架构简单;2、 部署成本低 耦合度高(维护困难、升级困难)
分布式架构 根据业务功能对系统拆分,每个业务功能模块作为独立项目开发,称为一个服务。 1、降低服务耦合;2、有利于服务升级和拓展 服务调用关系错综复杂

1.2 分布式架构与微服务

微服务是实现分布式架构的一种思想

1.3 微服务架构

特征 解释
单一职责 微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
自治 团队独立、技术独立、数据独立,独立部署和交付
面向服务 服务提供统一标准的接口,与语言和技术无关
隔离性强 服务调用做好隔离、容错、降级,避免出现级联问题

[Spring Cloud]:Study Notes·壹_第1张图片

2 nacos

2.1 什么是nacos

Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富。

2.2 nacos使用

2.2.1 nacos使用逻辑

  • ① 启动下载好的nacos
  • ② 引入依赖
  • ③ 在各个服务中配置服务名,相关注册信息

2.2.2 启动下载好的nacos

本地windows启动

startup.cmd -m standalone

2.2.3 引入依赖

SpringCloudAlibaba依赖,一般引入父工程

  
<dependency>
    <groupId>com.alibaba.cloudgroupId>
    <artifactId>spring-cloud-alibaba-dependenciesartifactId>
    <version>2.2.6.RELEASEversion>
    <type>pomtype>
    <scope>importscope>
dependency>

在需要注册到nacos上的服务引入nacos-discovery依赖

<dependency>
    <groupId>com.alibaba.cloudgroupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>

2.2.4 各注册服务中配置nacos相关信息

spring:
  application:
    name: orderservice #注册服务名,会有集群环境
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos地址,默认用户名密码nacos,nacos
      

2.2.5 测试nacos注册成功

[Spring Cloud]:Study Notes·壹_第2张图片

3 Ribbon负载均衡

3.1 Ribbon负载均衡使用引入

在RestTemplate上添加@LoadBalanced注解,实现负载均衡
[Spring Cloud]:Study Notes·壹_第3张图片

3.2 负载均衡原理

[Spring Cloud]:Study Notes·壹_第4张图片

  • 问题:我们发出的请求为http://userservice/user/1,为什么变成http://localhost:8081?

3.3 源码跟踪

你可能感兴趣的:(spring,cloud,学习,笔记)