首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

grpc 检测客户端连接是否存在

默认情况下,服务端是没有检测客户端连接是否存活的。 如果因为网络抖动,客户端退出,此时客户端会向服务端发送一个Fin_wait2的消息。...但这个消息如果丢失,服务端将长期认为客户端“仍然存在”,即使此时客户端已经退出。...为了解决这个问题,grpc服务端在启动的时候,可以传入keepalive参数,原理是:每隔N秒ping客户端,当客户端无法ping通的时候,服务端会主动断开连接。...= nil { log.Fatalf("failed to serve: %v", err) } 上面的代码表明,每隔5s ping一次客户端,并且回包必须在1s内返回。否则连接将被回收。...select { case <-sendctx.Done(): case <-stream.Context().Done()://当keepalive连接超时

7.1K40

spring feign http客户端连接池配置以及spring zuul http客户端连接池配置解析

背景 一般在生产项目中, Feign会使用HTTP连接池而不是默认的Java原生HTTP单路由单长连接;而是使用连接池。...源代码类比解析 本文基于Spring Cloud Dalston.SR4,但是基本思路上,这块比较稳定,不稳定的是Feign本身HttpClient的配置实现上。...因为可以配置,并且实现的连接池粒度更细一些。 Feign Http客户端解析 Feign调用和网关Zuul调用都用了HttpClient,不同的是,这个HttpClient所在层不一样。...先看看Feign,Feign的Http客户端默认是ApacheHttpClient。...Zuul Http客户端解析 Zuul利用底层的Ribbon Http客户端,更好用些;同样的,我们先看下核心源码RibbonLoadBalancingHttpClient: public class

2.4K10

如何在 Kubernetes 滚动部署中实现真正的零停机时间:避免断开客户端连接

对用户的负面影响之一是连接中断。我本来很想讨论客户端连接断开的影响,但不是在本文中。 默认情况下,Kubernetes 部署策略涉及滚动部署。是的!滚动部署听起来很有趣,但还有更多。...当 API 服务器收到来自客户端或滚动部署期间的 Pod 删除通知时,它首先在 etcd 中修改 Pod 的状态,然后通知端点控制器和 Kubelet。...当从客户端或滚动部署期间收到删除 Pod 的请求时,此请求将到达控制平面上的 API 服务器。...我们已经能够确定在滚动部署期间连接断开的原因;那么我们如何解决这个问题呢? 解决方案 Kubernetes 从未被设计为“即插即用”的编排工具;它需要适当的配置以相应地适应每个用例。...,并且在所有进程完成并且 Pod 正常关闭之前,客户端连接不会中断,但新连接会定向到稳定的 Pod。

19710

Spring 5 新增全新的reactive web框架:webflux

Spring 5发布了一个非常重要的模块,名字叫做:spring-webflux。该模块平级的就是spring-webmvc。 具体能做什么呢?自然是mvc不擅长的事情了。...就是webflux可以让你在web应用下也可以体验tcp长连接传输流数据的快感了。这在过去我们都是通过一些奇技淫巧才能实现的能力。...服务端in目录下新建了文件,服务端检测到后,立马把新建的文件的绝对路径发送给了客户端。...新建文件命令: touch fileName 客户端发送请求命令: curl http://localhost:9995/files/spring webflux 实现 pom 之前是web,现在换成了...左边是服务端,右边是客户端。服务端in目录下新建了文件,服务端检测到后,立马把新建的文件的绝对路径发送给了客户端

6.3K70

重磅 Spring Boot 2.1.4 正式版发布!

Spring Boot版本很多,作为使用Spring Boot的技术人而言,版本的选择也尤为重要 登录 官网 不难发现 Spring Boot已默更新到Spring Boot 2.1.4版本(RELEASE...从GitHub发布记录来看,此时更新包括新特性、类库升级、BUG修复三分部分 ⭐️ New Features - 新特性 检查Reactor Netty是否断开客户端错误#16406 将jaxb-runtime...#16268中缺少jaxb-api依赖性 使用@WebFluxTest#16266导入ErrorWebFluxAutoConfiguration 使用Log4j2时,未检测到log4j2.properties...文件#16262 在插件配置中包含finalName导致StackOverflowError#16202 具有不兼容的默认编码的客户端可能会损坏日志文件端点的输出,因为它未指定它生成的字符集#16189...或MVC应用程序无法启动#16177 @WebFluxTest不为任何反应模板引擎#16170启用自动配置 当使用WebFlux / actuator / health / {component}时,当组件关闭时返回

1.2K30

Redis客户端在执行命令时的流程以及连接断开或异常情况的处理

图片Redis客户端在执行命令时的流程如下:客户端与Redis服务器建立连接客户端通过TCP/IP协议与Redis服务器建立连接。...在Redis客户端连接断开或异常情况下,可以使用以下策略来处理这些问题:使用断线重连机制:当发现连接断开时,可以尝试重新连接到Redis服务器。...可以设置一个定时器,定时检查连接状态,如果发现连接断开,则进行重新连接操作。设置合适的连接超时时间:可以设置一个适当的连接超时时间,当连接超时时,可以进行重连操作或者报错处理。...使用连接池:在应用中使用连接池可以避免每次都建立和断开连接的开销。连接池可以维护一定数量的连接,当需要连接时从连接池中获取连接,使用完毕后归还连接连接池,这样可以复用连接,提高性能。...总的来说处理Redis客户端连接断开或异常情况时,需要尽量避免影响正常业务操作。通过监控连接状态、使用重连机制、设置合适的超时时间、使用连接池等策略,可以保证Redis客户端的稳定性和可靠性。

62151

正火的 Spring Boot 2.0 更新了啥?

Spring Boot 2.0 非常容易使用 Spring Security 5.0 保护响应式应用,当检测Spring Security 存在的时候会自动进行默认配置。...Redis 方面默认引入了 Lettuce,替代了之前的 Jedis 作为底层的 Redis 连接方式。 Lettuce 是一个可伸缩的线程安全的 Redis 客户端,用于同步、异步和反应使用。...嵌入式 Netty 服务器: 由于 WebFlux 不依赖于 Servlet API,我们现在可以首次为 Netty 作为嵌入式服务器提供支持,该 spring-boot-starter-webflux...响应式编程: WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。...默认情况下,Spring Boot 2.0 使用 Netty WebFlux,因为 Netty 在异步非阻塞空间中被广泛使用,异步非阻塞连接可以节省更多的资源,提供更高的响应度。

1.2K20

微服务架构之Spring Boot(七十九)

可以通过设置 management.metrics.web.server.requests-metric-name 属性 来自定义名称 57.3.2 Spring WebFlux度量标准 自动配置支持WebFlux...57.3.4 HTTP客户端度量标准 Spring Boot Actuator管理 RestTemplate 和 WebClient 的工具。...默认情况下,已检测客户端生成的度量标准使用以下信息进行标记: method ,请求的方法(例如, GET 或 POST )。...57.3.6数据源度量标准 自动配置使用名为 jdbc 的度量标准启用所有可用 DataSource 对象的检测。数据源检测会生成表示池中当前活动,最大允许和最小允许连接的 计量器。...57.3.8 RabbitMQ指标 自动配置将使用名为 rabbitmq 的度量标准启用所有可用RabbitMQ连接工厂的检测

74410

websocket消息推送设计

优点:性能良好,社区活跃,技术成熟,协议栈丰富,有全套 Spring 解决方案,兼容性强。 缺点:需要对 SockJS 和 STOMP 进行学习,断线重连、心跳检测、二进制支持不好,需要自行实现。...优点:性能良好,支持广播、组播,断线重连、心跳检测、二进制。支持安卓和 IOS 平台。 缺点:有一定的学习成本,需要自行封装同 Spring 的集成,资源消耗大。...Spring Webflux和RSocket就是其中的代表,目前官方已经放出了一些相关的 DEMO。 优点:高吞吐量、高性能。 缺点:技术比较新、学习资料少,学习成本高。...此时客户端定时向服务端发送心跳消息,如果超过设定的时间仍没有收到心跳,则认为客户端与服务端的长连接已经断开,然后服务端会关闭连接并清理内存中的会话信息。...如果某一个节点出现宕机时,客户端通过心跳检测发现后会尝试重新与其他节点建立长连接,保证消息中心服务的可用性。

4.4K10

Spring Boot 2.0 新特性和发展方向

因此,spring.cache.hazelcast.config属性不再可用。 默认connection pool变了 默认的连接池已经由Tomcat切换到了HikariCP。...我们之前的文章中提到过spring webflux。你可以移步查看:Spring 5 新增全新的reactive web框架:webflux。...现在你可以通过使用spring.data.elasticsearch.cluster-nodes自动配置TransportClient,具体value可以是一个或多个要连接的节点的地址。...jOOQ Spring Boot现在可以根据DataSource自动检测出jOOQ方言(类似于JPA方言)。 此外,还引入了@JooqTest用于只有jOOQ才能hold的测试场景。...强大的Mongo客户端自定义 现在可以通过MongoClientSettingsBuilderCustomizer这个bean来高度定制化Spring Boot的Mongo客户端

1.6K90
领券