SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)

微服务的一种架构,主要分为服务注册发现(Eureka、Nacos、Consul),服务远程调用(OpenFeign、Dubbo),服务链路监控(Zipkin、Sleuth),统一配置管理(SpringCloudConfig、Nacos),统一网关路由(SpringCloudGateway、Zuul),流量控制、降级(Hystix、Sentinel)。
视频资源教程下载:
https://pan.baidu.com/s/169SFtYEvel44hRJhmFTRTQ
提取码:1234

Day1:跨模块调用,服务注册发现(Eureka)

跨模块调用方法一:
使用RestTemplate,在application类中注册restTemplate,然后使用restTemplate.getForObject或postForObject发送http请求

SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第1张图片
url为被调用模块的请求地址
SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第2张图片
缺点:当被调用的服务为集群,调用者就不知道调用哪个端口的服务了,不可能固定一个端口的服务,需要负载均衡。

方法二,通过Eureka注册发现服务
SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第3张图片
Eureka中分服务端,客户端;
服务端负责记录服务信息、心跳监控
客户端有两种:
服务提供者Provider:注册自己的信息到EurekaServer,每隔30秒向服务端发送一次心跳。
服务消费者Consumer:根据服务名称从EurekaServer中拉去服务列表、基于负载均衡选中一个微服务发起远程调用。

SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第4张图片

使用:

服务端:

  1. 新建maven子模块eureka做服务端,pom文件加eureka服务端依赖:
    (版本号由父pom.xml指定,注意springboot和springcloud版本是否冲突,不然运行会报错)
    SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第5张图片
  2. 启动类添加注解@EnableEurekaServer,开启euerka
    SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第6张图片
  3. 配置文件配置eureka实列信息,并注册本身
    SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第7张图片
    打开端口相应页面
    SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第8张图片
    客户端:
  4. 引入依赖
    SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第9张图片
  5. 配置eureka客户端信息
    SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第10张图片
    模拟服务者集群:
    SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第11张图片
    最终eureka中心:
    SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第12张图片

负载均衡:Ribbon

@LoadBalanced开启负载均衡的底层实现是ribbon

服务注册与配置管理(Nacos)

直接启动jar包的方式启动nacos,不需要新建模块管理
子pom注释掉eureka客户端依赖,使用nacos依赖
父pom导入springcloudAlibaba依赖在这里插入代码片

>
                >com.alibaba.cloud>
                >spring-cloud-alibaba-dependencies>
                >2.2.5.RELEASE>
                >pom>
                >import>
            >

SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第13张图片
服务的application.yml文件配置nacos信息
SpringCloud笔记一: 跨模块调用,服务注册发现(Eureka、Nacos)_第14张图片
负载均衡修改,优先使用同局域网下的服务
在这里插入图片描述

你可能感兴趣的:(java,spring,intellij-idea)