SpringCloud微服务
文章平均质量分 82
对微服务知识进行相关学习和巩固
狗二蛋的幸福生活
我亦无他,唯手熟尔
展开
-
关于Feign的接口调用坑点
关于Feign的调用前面自己在学习微服务的时候没有过多留意,后面到了公司真正调用的时候,一堆问题,连都连不通,要么空指针异常,要么获取不到参数,花了大半个下午还没解决,回家后特地自己建了两个微服务进行实验,觉得要好好总结一下知识点,要不然太对不起我下午花的时间了。原创 2023-03-03 02:01:00 · 1517 阅读 · 1 评论 -
8. 微服务之消息队列RabbitMQ以及五种消息队列模式
即客户端并不是直接向服务端发起请求,而是会通过一个消息队列,客户端发起请求放入消息队列后就不会去等待服务端的执行结果,而是交给消息队列去下发请求做后台处理,客户端察觉不到。再创建一个监听类,在其中添加监听方法,并定义为Component组件加入Spring中,开启启动类监听队列消息。创建一个监听类,在其中添加监听方法,并定义为Component组件加入Spring中,开启启动类监听队列消息。创建一个监听类,在其中添加监听方法,并定义为Component组件加入Spring中,开启启动类监听队列消息。原创 2022-11-21 19:42:00 · 3743 阅读 · 0 评论 -
7. 微服务之Docker自动化部署
可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统运行时利用沙箱机制形成隔离容器,各个应用互不干扰启动、移除都可以通过一行命令完成,方便快捷镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。例如 mysql 镜像:镜像是分层结构,每一层称为一个 LayerBaseImage层:包含基本的系统函数库、环境变量、文件系统Entrypoint:入口,是镜像中应用启动的命令。原创 2022-11-19 00:10:29 · 3149 阅读 · 0 评论 -
关于Docker中容器之间互相访问问题
因为 容器中的ip地址 和 宿主机的ip地址 是不同的,所以当 nacos 用 localhost 时,其实对应的是 nacos容器的ip地址,所以调用 localhost 时,并不能通过 宿主机的ip地址调用3306端口映射到容器中3306端口调用mysql容器,也不能通过 nacos容器ip地址调用3306端口调用mysql容器,因为docker中 nacos容器 和 mysql容器分配的地址是不同的。这种模式下,docker不为容器进行任何网络配置,需要我们自己为容器添加网卡,配置IP。原创 2022-11-17 21:06:34 · 6031 阅读 · 0 评论 -
6. 微服务之Gateway网关
当发起者与服务端所在域不一致时就是跨域,其中 协议、域名、端口,有一样不同则视为跨域,而当前后端分离,前端用ajax发起请求到后端时,此时因为域的不同。创建一个新的模块作为网关系统,在 pom.xml 中引入 SpringCloudGateway 的依赖,同时还要引入 nacos 的服务发现依赖。GatewayFilter 是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理。全局过滤器的作用也是处理一切进入网关的请求和微服务响应,与路由过滤器的作用一样。原创 2022-11-14 20:50:35 · 1392 阅读 · 0 评论 -
5. 微服务之基于Feign的远程调用
Feign 是一个声明式的http客户端,其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。原创 2022-11-13 16:19:44 · 696 阅读 · 0 评论 -
4. 微服务之Nacos配置管理
在项目启动时,bootstrap.yml 优先级大于 application.yml,所以可以将 nacos 相关配置信息放入 bootstrap.yml 中用于先读取 nacos中的配置文件。在 resource 目录添加 bootstrap.yml 文件,进行配置,其优先级高于 application.yml 文件。无论环境如何变化,[服务名称].[后缀名] 这个文件一定会加载,因此多环境共享配置可以写入这个文件。可用于对各个服务进行统一配置,并且可以通过修改配置信息来进行服务更新,而不用重启服务。原创 2022-11-12 17:47:38 · 1813 阅读 · 0 评论 -
3. 微服务之nacos服务注册发现
若为 非临时实例 时,服务下的实例不存在时Nacos不会剔除该服务,而会一直等待该服务实例的恢复。在服务模块 pom.xml 中引入 nacos 客户端依赖。,当某服务下的实例不存在时Nacos会主动进行该服务剔除。在 application.yml 中更改负载均衡配置。在服务模块 application.yml 中进行配置。在 application.yml 中添加配置信息。在 application.yml 中添加配置。在 application.yml 中进行配置。默认账号和密码都为:nacos。原创 2022-11-12 14:55:50 · 679 阅读 · 0 评论 -
2. 微服务之Ribbon负载均衡
而饥饿加载则会在项目启动时创建,降低第一次访问的耗时,通过在 application.yml 配置中开启饥饿加载。,即第一次访问时才会创建 LoadBalanceClient,请求时间会很长。在 xxxApplication 类中定义一个新的 IRule。全局范围 - 针对 该服务消费者 调用的所有服务提供者。局部范围 - 针对 该服务消费者 调用的指定服务提供者。在 application.yml 文件中添加配置。原创 2022-11-09 17:27:41 · 680 阅读 · 0 评论 -
1. 微服务之Eureka服务注册发现
编写启动类,添加 @EnableEurekaServer 注解开启EurekaServer自动装配。在启动类中的 RestTemplate 添加负载均衡注解 @LoadBalanced。在调用某服务时若存在多个实例模块,则要采用负载均衡策略。添加 application.yml 文件,添加配置。在 application.yml 中进行配置。新建一个模块,在 pom.xml 中引入依赖。在 idea 中对一个模块添加多个运行对象。在 pom.xml 中引入依赖。先进行注册,参照 3.2。原创 2022-11-09 17:02:05 · 322 阅读 · 0 评论