聚焦两件事,

1.这个用人能理解的话讲,这个是什么
2.在项目中使用,什么时候使用到这个,怎么使用

这个不涉及具体的代码,只是做一个逻辑闭环。手头上,应该要有一些项目源码。
配置什么的,都做好。这样,就有一个最小mvp的demo,有个样例,下次遇到同等问题,可以参考。

前言介绍,首先我们先确定,为什么要拆分微服务。
是为了在java这一层能承接大量的http请求,处理大量的http请求。并且有各种组件,来处理大流量的http请求。这个才是业务上崔生出来对这个微服务相关组件的需要。我们安装顺序来,在运维配置好url,http请求先会打到gateway上面。由于它底层是利用的内存,以及对于海量 HTTP 请求的场景,使用基于 Netty 的异步网关在性能、资源利用率和功能性上全面优于将 Tomcat 直接暴露在外。
这个是底层已经封装好了,我们现在是要理解拿到这个gateway,在项目层面,我们需要做什么。
这边要搞清楚技术的边界,linux对应的服务器,能不能接收这么大的请求量,这取决于带宽,还有服务器的性能。

gateway篇章

1.拿到以后在服务里创建一个springboot项目。
然后引入相关的依赖

我们创建好了这个gateway就要去思考,要拿gateway做什么配置,要干什么、
我们(业务开发团队)在项目中需要做什么?(业务项目层关心)
我们的工作,就是通过配置和开发,告诉Gateway如何处理这些流量。具体来说,分为以下几个核心动作:
1.在yaml里配置,以uri请求路径直接分配到对应微服务去进行处理
2.在流量的入口做统一的配置处理。以前tomcat要做的事情,gateway也要做,比方说过滤器,请求器。
3.个性化操作,对jwt校验,日志记录,流量控制,跨域处理。

总结一下:
我们想到gateway,
我们就要知道这个是个springboot单体项目,他要注册到nacos上
他的功能是:
把对应的url交给对应的微服务
就要想到这个是流量如何和出口,但凡和流量相关做统一配置处理,或者拦截的,就应该在这里面去进行操作。

(下面的是官方记录,更全,但是懂的都懂,没逻辑,不好记)

定义路由规则:明确“什么样的请求,应该被转发到哪个微服务”。

示例:所有以 /api/user/ 开头的请求,转发到 user-service 服务;所有 /api/order/ 开头的请求,转发到 order-service 服务。

实施过滤与增强:在请求转发的前后,执行必要的逻辑。

安全认证:拦截请求,验证JWT Token是否有效。这是项目安全的第一道大门。

流量控制:对特定API或用户实施限流,防止系统被突发流量冲垮。

请求/响应变换:修改请求头(如添加TraceID)、截断路径、或对响应内容进行封装。

日志记录:统一记录访问日志,用于监控和审计。

集成与协调:让Gateway与微服务生态系统协同工作。

服务发现:让Gateway能够自动从Nacos或Eureka等注册中心发现健康的微服务实例,实现动态路由和负载均衡。

熔断降级:配置当某个目标服务不可用时,Gateway能够快速失败或返回兜底数据,避免请求堆积造成雪崩效应

nacos篇章(这个是纯纯的服务器软件)

故事继续,当http请求大量的打入到gateway上,接下来不是进入到单体服务,而是到微服务的总管家,nacos上,他是管理springboot单体的,我们这边聚焦两件事,这个是什么,以及这个在项目中要做什么。
我们想象一个场景,有一个大型的微服务,gateway,已经接受到了大量http请求,分了好多单体。如何管理这些单体,管什么,如何管。因为如果不去做管理,那么多单体,要是处问题了,都没法定位问题。
于是,有了nacos这个微服务组件。既然他是管家,我们就要聚集到这个点,他管什么单体,管的内容是什么,具体操作是什么。

其实一句话就解释了,
nacos就是springboot单体注册到nacos上,
注册以后,nacos就可以知道,springboot的健康状态,以及修改springboot的配置文件。
至于nacos集群化,和持久化机制这些先略过。

nacos,我们要利用nacos做什么。
做一个前言介绍吧,

对于要做的事情的流程:
1.首先搭建nacos,服务启动
2.命名空间创建
3.在springboot里引入依赖,以及在yaml里写上连接信息
4.本地配置文件只保留连接信息
yaml远程的保留必要的信息

openfegin(这个既不是单体springboot,也不是服务器软件,就是依赖)

如果这个时候,各个单体之间想要沟通和交流。这个时候openfegin就出现了。
由于这个nacos已经知道各个springboot的相关信息了。
openfegin就是解决各个微服务之间数据交互用的。

知道这个信息以后,接下来,要掌握的就是要搭建一个openfegin的使用框架。对openfegin有成熟的理解和认识,处理各种情况。

更多推荐