微服务的一种架构,主要分为服务注册发现(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请求
文章图片
url为被调用模块的请求地址
文章图片
缺点:当被调用的服务为集群,调用者就不知道调用哪个端口的服务了,不可能固定一个端口的服务,需要负载均衡。
方法二,通过Eureka注册发现服务
文章图片
Eureka中分服务端,客户端;
服务端负责记录服务信息、心跳监控
客户端有两种:
服务提供者Provider:注册自己的信息到EurekaServer,每隔30秒向服务端发送一次心跳。
服务消费者Consumer:根据服务名称从EurekaServer中拉去服务列表、基于负载均衡选中一个微服务发起远程调用。
文章图片
使用: 服务端:
- 新建maven子模块eureka做服务端,pom文件加eureka服务端依赖:
(版本号由父pom.xml指定,注意springboot和springcloud版本是否冲突,不然运行会报错)
文章图片
- 启动类添加注解@EnableEurekaServer,开启euerka
文章图片
- 配置文件配置eureka实列信息,并注册本身
文章图片
打开端口相应页面
文章图片
客户端: - 引入依赖
文章图片
- 配置eureka客户端信息
文章图片
模拟服务者集群:
文章图片
最终eureka中心:
文章图片
服务注册与配置管理(Nacos) 直接启动jar包的方式启动nacos,不需要新建模块管理
子pom注释掉eureka客户端依赖,使用nacos依赖
父pom导入springcloudAlibaba依赖
在这里插入代码片
com.alibaba.cloud
>spring-cloud-alibaba-dependencies>
2.2.5.RELEASE
pom
>import>
文章图片
服务的application.yml文件配置nacos信息
文章图片
负载均衡修改,优先使用同局域网下的服务
文章图片
推荐阅读
- redis|springboot整合spring @Cache和Redis
- Spring|[01] 使用IDEA搭建SpringCloud项目方法_简单入门
- 物联网|MQTT协议学习总结
- SSM|一、Spring MVC 简介
- Java|SpringMVC 的入门
- 米哈游2023秋季招聘正式开始~提前批有机会免笔试!
- The|机场售票及管理系统Java+MySQL实现
- java|MySQL学习笔记(7)
- 后端|mybatis-plus条件查询