SpringCloud Feign的基本概念与应用
本文介绍了一些关于SpringCloud Feign的基本概念与应用。
RestTemplate由于微服务架构,无法直接请求其他服务的service,需要远程调用,因此会用到RestTemplate来做远程调用。同时我们使用Ribbon结合RestTemplate来实现使用服务名称代替ip和端口以及负载均衡。Feign则是一种更加优雅的方式,不会需要像RestTemplate一样出现url
使用方法首先添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
然后主启动类上加上@EnableFeignClients注解,就像@EnableEurekaServer注解一样
在Service接口上添加@FeignClient注解,并且指定服务的名称(注册到服务注册中心的名称),因此这里就可以实现跨服务调 ...
SpringCloud Nacos的基本概念与应用
本文介绍了一些关于SpringCloud Nacos的基本概念与应用。
Nacos服务注册首先父模块的依赖控制处需要添加spring cloud alibaba
<!-- SpringCloudAlibaba有关依赖 --><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.1.RELEASE</version> <type>pom</type> <scope>import</scope></dependency>
接着在服务模块的pom中添加spring-cloud-starter-alibaba-nacos-discovery依赖
<!--nacos --><dependency> <groupI ...
SpringCloud Ribbon的基本概念与应用
本文介绍了一些关于SpringCloud Ribbon的基本概念与应用。
Ribbon负载均衡流程像这样的url:http://userservice/user/1 是没有办法通过http访问的,因为实际上不存在这么一个网站,因此Ribbon起到一个请求拦截处理的作用
收到请求后,向Eureka拉取服务
返回服务列表,进行负载均衡,轮询获取具体服务端口
具体操作需要在xxx-service模块中的xxxServiceApplication中将RestTemplate注入spring容器
@Bean@LoadBalancedpublic RestTemplate restTemplate() { return new RestTemplate();}
Ribbon底层
LoadBalancerInterceptor拦截http请求,将请求解析得到服务名称
将服务名称交给RibbonLoadBalancerClient
RibbonLoadBalancerClient通过DynamicServerListLoadBalancer向eureka拉取服务列表 ...
SpringCloud Eureka的基本概念与应用
本文介绍了一些关于SpringCloud Eureka的基本概念与应用。
Eureka角色服务端:EurekaServer,服务端,注册中心。负责心跳监控,记录服务信息
客户端:EurekaClient,分为消费者和提供者。
Eureka的作用eureka服务类似注册中心:
服务消费者和提供者将服务信息注册到注册中心
消费者向注册中心拉取提供者的新消息
通过负载均衡进行选择
实现远程调用
注册中心使用心跳续约,随时监控服务状态
Eureka搭建搭建服务步骤如下:
创建模块,引入spring-cloud-starter-netflix-eureka-server依赖
<!-- Eureka服务端 --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>2.2.1.RELEAS ...
My First Blog
第一篇文章2023年8月29日正式搭建属于我的博客,希望有一天我也能写出像hexo一样能被万人使用的project