Spring Cloud - Eureka版-学习理解

1.总体理解

一个项目部署在一台服务器上,服务器负荷过大,可能导致项目崩溃,这个时候把项目的各个服务切开成一个个模块,比如支付宝切分成支付模块,用户模块这样,分别在不同的服务器上启用,可以分散服务器压力。这里面具体实现还需要一个注册中心,把不同的模块的服务接口集中在注册中心,需要的时候调用即可。

这里学习的注册中心是Eureka Server,alibaba版的注册中心是nacos。

视频地址:Spring Cloud从入门到实战

代码地址:【总】Spring Cloud从入门到实战!

2.Eureka Server 注册中心

简介:给各种微服务进行注册,方便统一调用

3.Eureka Client 服务提供者

简介:实际服务提供者,比如获取本地服务端口的请求,其他注册在注册中心的微服务可以间接调用给自己使用。

4.RestTemplate的使用

简介:简化 Java 的 Http 通信过程,广泛用于与 RESTful 服务进行通信,如调用外部 API、微服务。

简化 Java 的 Http 通信过程:可以进行GET、POST、PUT、DELETE 等 Http 请求,并且可以设置请求头、请求参数、请求体等。还支持响应的处理,包括将响应体解析为不同类型的对象、处理响应状态码、处理错误等。

5.Zuul 服务网关

简介:可以实现负载均衡,简化调用

应用场景:为什么需要网关?因为当需要调用多个微服务时候,调用不同的微服务可能会遇见麻烦的跨域问题,同时还要记住每一个微服务的网络地址才能进行调用,很麻烦,这个时候用网关,可以不用记住不同微服务的ip地址,请求直接统一访问网关,网关在自行判断访问对应的api服务。

网关映射比如要调用8010端口的微服务api,就需要http://localhost:8010/student/findAll,加了网关代理后记住网关的端口8030,加个/p就可以映射了(p是设置里设置的映射) http://localhost:8030/p/student/findAll

6.Ribbon 负载均衡

简介:可以实现负载均衡,需要通过Ribbon 特定的端口调用(可以自定义负载均衡的算法?)

场景:假设有三个提供相同功能的微服务A,B,C和Ribbon,都在注册中心注册了,那么Ribbon可以提供负载均衡算法来自动的均衡调用这几个服务

7.Feign 负载均衡 熔断

简介:基于Ribbon实现,可以实现负载均衡、熔断(集成Hystrix)

负载均衡:可以让用户平均访问特定服务开启的多个端口,比如8070和8080,访问一百次,每个都访问50次,而不是某个端口被单独的访问,比如8080被访问100次,8070被访问为0次。

熔断:微服务报错时,指定的进行的代码操作,比如微服务出错了,跳转到指定的错误页面

8.Hystrix

简介:集成于Feign,可以熔断和数据监控

应用场景:数据监控可以查看指定服务的调用各种情况指标,比如

  1. 延迟:服务调用的响应时间。
  2. 请求量:服务接收到的请求数量
  3. ......

9.Config配置中心(本地)

简介:配置文件在项目本地上,通过配置中心访问

应用场景:更新配置,可以不重启微服务。

10.Config配置中心(远程)

简介:配置文件在Git上,通过配置中心访问

流程:Git上传配置文件config后,设置一个ConfigServer服务,可以让其他的微服务提取到Git的配置文件。通过请求配置模块的yml,找到配置服务模块的注册名称,注册名称找到配置服务模块,里面找到bootstrap的git地址,账号密码,然后通过定向名称检索就找到了配置服务。

11.Zipkin 服务跟踪

简介:可视化监控服务调用

适用场景:分布式系统中有很多个服务在相互调用,调用关系是错综复杂的

相关推荐
二哈赛车手5 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
candyTong7 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
GetcharZp8 小时前
GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式
后端
阿维的博客日记8 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
zhangxingchao10 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端
IT_陈寒10 小时前
SpringBoot那个自动配置的坑,害我排查到凌晨三点
前端·人工智能·后端
ServBay10 小时前
OpenCode 和它的7款必备插件
后端·github·ai编程
ping某10 小时前
逐字节拆解 tcpdump
后端
阿凡98073010 小时前
花 100 dollar,用 Claude 打通 EasyEDA&Fusion 双向同步
后端·程序员
irving同学4623810 小时前
从零搭建生产级 RAG:Embedding、Chunking、Hybrid Search 与 Reranker
前端·后端