one_smail
这个作者很懒,什么都没留下…
展开
-
通过gateway调用其它服务时503问题
通过gateway调用其它服务时503问题原创 2022-12-07 23:00:43 · 1233 阅读 · 0 评论 -
读取nacos配置失败
使用SpringCloud(2021.0.1)、SpringCloudAlibaba(2021.0.1.0)、SpringBoot(2.6.6)、nacos最新版本在读取nacos配置中心内容的时候,无法读取。使用JDK17 首先确定关键性依赖都是最新的,并没有版本依赖不符合的问题,查询依赖之间版本号关系可通过SpringCloud和SpringCloudAlibaba以及nacos官网去查询,这里附上SpringCloudAlibaba的github地址:版本说明 · a...原创 2022-04-21 16:26:16 · 2276 阅读 · 0 评论 -
Feign的GZIP压缩配置
开启压缩可以有效节约网络资源,提升接口性能,我们可以配置GZIP来压缩数据feign.compression.request.enable=truefeign.compression.response.enable=true还可以配置压缩的类型、最小压缩值的标准feign.compression.request.mime-type=text/xml,application/xml,application/jsonfeign.compression.request.min-request-原创 2022-02-17 23:46:19 · 1180 阅读 · 0 评论 -
Feign客户端组件配置
Feign中默认使用JDK原生测URLConnection发送HTTO请求,我们可以集成别的组件来替换掉URLConnection,比如HttpClient或者OkHttp配置OkHttp首先需要加入OkHttp依赖 <!--OkHttp--> <dependency> <groupId>io.github.openfeign</groupId> <artifactI原创 2022-02-17 23:37:43 · 365 阅读 · 0 评论 -
Fegin接口调用超时时间配置
通过Options可以配置连接超时时间和读取超时时间,配置如下import feign.Request;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class FeignConfiguration { /** * 配置接口调用连接超时时间合...原创 2022-02-17 23:30:48 · 1065 阅读 · 0 评论 -
Feign的Basic认证配置和自定义认证
通常我们调用的接口都是有权限控制的,很多时候可能认证是通过参数区去传递的,还有就是通过请求头去传递认证信息,比如Basic认证方式。在Feign中我们可以直接配置Basic认证。@Configurationpublic class FeignConfiguration{ public BasicAuthRequestInterceptor basicAuthRequestInterceptor(){ return new BasicAuthRequestInterceptor原创 2022-02-17 23:29:14 · 1607 阅读 · 0 评论 -
自定义Feign的配置
使用Feign调用接口,我们也希望能够在接口调用失败的时候有详细的提示信息供我们排查错误,这时候就需要配置Feign的日志了。1、首先定义一个配置类,代码如下import feign.Logger;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class FeignConf原创 2021-11-14 22:18:15 · 1275 阅读 · 0 评论 -
使用Feign调用服务接口
Java项目中接口如何调用_白衣不尘-CSDN博客一、HttpClient HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持Htto协议的客户端编程工具包,并且它支持HTTP协议最新版本和建议。HttpClinet相比传统JDK自带的URLConnection,提升了易用性和灵活性,使客户端发送HTTP请求变得容易,提高了开发效率;二、OkHttp 一个处理网络请求的开源项目,是安卓端最火的轻量级框架。用于替代HttpUrlConnectio原创 2021-11-14 22:10:26 · 871 阅读 · 0 评论 -
Java项目中接口如何调用
一、HttpClient HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持Htto协议的客户端编程工具包,并且它支持HTTP协议最新版本和建议。HttpClinet相比传统JDK自带的URLConnection,提升了易用性和灵活性,使客户端发送HTTP请求变得容易,提高了开发效率;二、OkHttp 一个处理网络请求的开源项目,是安卓端最火的轻量级框架。用于替代HttpUrlConnection和Apa...原创 2021-11-14 21:45:58 · 767 阅读 · 0 评论 -
代码配置Ribbon
除了在配置文件中配置Ribbon负载均衡策略之外,还可以通过书写代码的方式来配置。第一步:创建自定义负责均衡策略类import com.netflix.loadbalancer.ILoadBalancer;import com.netflix.loadbalancer.IRule;import com.netflix.loadbalancer.Server;import java.util.List;/** * 自定义Ribbon负载均衡 */public clas...原创 2021-10-12 16:59:46 · 228 阅读 · 0 评论 -
Ribbon常用配置
1、禁用Eurekaribbon.eureka.enabled=false当禁用了Eureka之后,就不能再使用服务名称去调用接口,必须指定服务地址2、配置接口地址列表在禁用Eureka之后,不能再使用服务名称,就必须要这个配置#禁用Eureka后手动配置服务地址smile-eureka-server.ribbon.listOfServers=localhost:8081,localhost:8083其中smile-eureka-serve是要配置的服务名称3、配置负载均衡策原创 2021-10-12 16:34:34 · 1634 阅读 · 0 评论 -
Ribbon负载均衡配置
前面已经讲了Ribbon负载均衡的几种类型和自定义负载均衡方式https://blog.csdn.net/qq_40386113/article/details/120718170?spm=1001.2014.3001.5501https://blog.csdn.net/qq_40386113/article/details/120718170?spm=1001.2014.3001.5501 如同自定义Ribbon负载均衡一样,在配置文件中对负载均衡策略进行配置后,对应的策...原创 2021-10-12 12:08:47 · 476 阅读 · 0 评论 -
Ribbon负载均衡策略介绍及自定义负载策略
Ribbon作为一款客户端负载均衡框架,默认的负载策略是轮询,除轮询外,它还提供了其它策略,能够让用户根据自身业务需求进行选择。 BestAvailableRule:选择一个最小的并发请求的Server,逐个考察Server,如果Server被标记为错误,则跳过,然后再选择ActiveRequestCount中最小的Server; AvailabilityFilteringRule:过滤掉那些一直连接失败的且被标记为circuit tripped的后端Server,并过滤...原创 2021-10-12 10:52:13 · 1111 阅读 · 0 评论 -
Ribbon饥饿加载
在进行服务调用的时候,如果网络情况不好,第一次调用会超时。解决此方法可以把超时事件改长一点,或者禁用超时等。 基于SpringCloud的版本Finchley.SR2,解决超时的方法是通过配置eager-load来提前初始化客户端。具体配置如下ribbon: eager-load: enabled: true clients: smile-eureka-clientribbon.eager-load.enabled:代表是否开启Ribbon的饥...原创 2021-10-11 18:53:39 · 1133 阅读 · 0 评论 -
Ribbon API使用
当你有一些特殊的需求,想通过Ribbon获取对应的服务信息时,可以使用LoadBalancer Client来获取,比如你想获取一个Eureka客户端服务的服务地址,可以通过LoadBalancerClient的choose方法来选择一个代码示例如下:import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cloud.client.ServiceInstanc...原创 2021-10-11 18:45:20 · 237 阅读 · 0 评论 -
SpringCloud与Ribbon
第一、整合Ribbon 在Spring Cloud项目中集成Ribbon,需要以下依赖。如果SpringCloud中已经集成了Eureka,则也可以不需要配置,因为Eureka中已经引用了Ribbon。· <!--Ribbon--> <dependency> <groupId>org.springframework.cloud</groupId> <arti...原创 2021-10-11 18:39:40 · 222 阅读 · 0 评论 -
客户端负载均衡Ribbon
当前主流的负载均衡方案有两种,一种是集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如F5),也有软件的(比如Nginx)。另一种则是客户端自己做负载均衡,根据自己的请求情况做负载,Ribbon就属于客户端自己做负载。Ribbor模块: ribbon-loadbalancer:负载均衡模块,可独立使用,也可以和别的模块一起使用。Ribbon内置的负载均衡算法都实现在其中; ribbon-eureka:基于Eureka封装的模块,能够快...原创 2021-10-11 18:29:33 · 236 阅读 · 0 评论 -
Eureka服务上下线监控
在某些特定的需求下,我们需要对注册进Eureka服务端的各Eureke客户端上下线进行监控,例如对客户端上线或者下线的短信通知等。 Eureka中提供了事件监听的方式来扩展,目前支持的事件如下:EurekaInstanceCanceledEvent:服务下线事件EurekaInstanceRegisteredEvent:服务注册事件EurekaInstanceRenewedEvent:服务续约事件EurekaRegistryAvailabelEvent:Eu...原创 2021-10-11 11:53:37 · 972 阅读 · 0 评论 -
Eureka健康检查
默认情况下,Eureka客户端是使用心跳和服务端通信来判断客户端是否存活,在某些场景下,例如MongoDB出现了异常,但是你的应用进程还是存在的,这就以为着应用可以继续通过心跳上报,保持应用自己的信息在Eureka中不被剔除掉。 Spring Boot Actuator提供了/actuator/health端点,该端点可展示应用程序的健康信息,当MongoDB异常时,/actuator/health端点的状态就会变为DOWN,由于应用本身确实处于存活状态,但是MongoDB...原创 2021-10-09 19:33:15 · 1260 阅读 · 0 评论 -
Eureka高可用搭建
在生产环境中通常会搭建一个集群来保证高可用。Eureka集群的搭建方法很简单:每一台Eureka只需要在配置中指定另外多个Eureka的地址就可以实现一个集群的搭建了。 假设我们有master和slaveone、slavetwo三台机器,在集群搭建的时候将master注册到slaveone和slavetwo上面将slaveone注册到master和slavetwo上面将slavetwo注册到master和slaveone上面搭建步奏如下(以两台服务器配置为例...原创 2021-09-28 21:17:58 · 469 阅读 · 0 评论 -
开启Eureka认证(Spring-Security的必要性)
Eureka自带了一个Web的管理页面,方便我们查询注册到上面的实例信息。但是在实际的使用中,注册中心地址有公网IP的话,必然能直接访问到,这样是不安全的,所以我们需要对Eureka进行改造,加上权限认证来保证安全性。 改造Eureka注册中心,及服务端,通过集成Spring-Security来进行安全认证。第一:添加依赖 <dependency> <groupId>org.springframewor...原创 2021-09-28 20:31:25 · 364 阅读 · 0 评论 -
Eureka注册中心出现红色字体报错
第一种:EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE. 造成这种情况的原因是Eureka有自我保护机制,在默认的情况下,如果Eureka在一定的时候内没有接收到某个微服务的心跳,就...原创 2021-09-14 19:57:46 · 1237 阅读 · 0 评论 -
Eureka编写服务消费者
前面使用Eureka编写了服务提供者,那么就应该用服务消费者,用来消费提供者产生的服务。实际开发中,总会存在调用其它服务的接口获取所需信息的场景。Eureka编写服务提供者_白衣不尘-CSDN博客注册中心已经创建并启动完成Eureka编写注册中心服务_白衣不尘-CSDN博客注册中心在微服务架构中是必不可少的一部分,主要用来实现服务治理功能。Spring Cloud Eureka是一个基于REST的服务,并且提供了基于Java的客户端组件,能够非常方便的讲服务注册到Spring Cloud...原创 2021-09-14 19:41:59 · 251 阅读 · 0 评论 -
Eureka编写服务提供者
注册中心已经创建并启动完成Eureka编写注册中心服务_白衣不尘-CSDN博客注册中心在微服务架构中是必不可少的一部分,主要用来实现服务治理功能。Spring Cloud Eureka是一个基于REST的服务,并且提供了基于Java的客户端组件,能够非常方便的讲服务注册到Spring Cloud Eureka中进行统一管理。 CAP定理:C为数据一致性;A为服务可用性;P为服务对网络分区故障的容错性。Eureka是基于AP原则构建的,Zookeeper是基于CP原则构建的。使用Eureka编...原创 2021-09-14 16:32:18 · 215 阅读 · 0 评论 -
Eureka编写注册中心服务
注册中心在微服务架构中是必不可少的一部分,主要用来实现服务治理功能。Spring Cloud Eureka是一个基于REST的服务,并且提供了基于Java的客户端组件,能够非常方便的讲服务注册到Spring Cloud Eureka中进行统一管理。 CAP定理:C为数据一致性;A为服务可用性;P为服务对网络分区故障的容错性。Eureka是基于AP原则构建的,Zookeeper是基于CP原则构建的。使用Eureka编写注册中心服务的步奏如下:第一、创建项目,添加依赖如...原创 2021-09-14 14:31:15 · 238 阅读 · 0 评论 -
Spring Cloud 微服务基本模块介绍
微服务是一种架构风格,即将单体应用划分为小型的服务单元,服务之间使用HTTP的API进行资源访问与操作。 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性,巧妙地简化了分布式系统基础设施的开发。如服务注册、服务发现、配置中心、消息总线、负载均衡、断路器、数据监控等,这些都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud模块介绍:1、Eureka:服务注册中心,用于服务管理;2、Ribbon...原创 2021-09-14 14:18:26 · 986 阅读 · 0 评论