首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://blog.51cto.com/yerikyu/2716602

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

【博客大赛】【实战】k8s中长连接服务负载不均衡问题分析

一、概述 本文针对我们生产上出现的流量不均的问题,深层次地分析问题产生原因,对其中的一些机制做一些介绍。 k8s是一个特别复杂的系统,而网络相关的问题是其中最复杂的问题,要通过一两篇文章介绍清楚是很难的。这个流量不均的问题出现的原因并不复杂,就是因为kube-proxy使用了iptables做负载均衡,而它是以概率的方式转发,使用长连接且连接数较少时,偏差会比较大。虽然原因不复杂,但是我们希望能把这其中的整个流程和原理梳理清楚,在介绍过程中,同时介绍一些底层的东西,但是不会太深入。 二、背景介绍 本章主要介绍一些相关的背景,包括出问题的系统,生产上的现象等。 2.1 生产问题描述 出问题的系统是一个以Dubbo服务为基础的应用,日交易量近2000万,在生产上部署到了k8s集群中,发现集群里的Pod流量不均衡,而且差异很大,甚至有时候到了9比1的流量比,有的pod日交易量接近千万,有的还不到一百万,由于交易本身比较快,未造成严重后果。 在默认情况下,Dubbo的消费者会与每一个生产者建立一个长连接,之后的请求都通过这个长连接发送,底层基于Netty实现IO多路复用,即使单个连接也能实现高...

后端服务太多,且涉及多种语言,如何进行高效管理?

从本章开始,我们开始聊聊微服务内容。这里我们还是从场景入手,逐步展开说明,达到快速掌握微服务的一些组件实现原理,最终理解微服务架构的本质。 一、业务场景(八) 当前公司已经拥有了50多个服务,并且服务之间存在调用关系,而这些服务是使用各种语言编写的,比如Java、Go、Node.js。 因为跨语言,而目前流行的 Spring Cloud、Dubbo 都是针对 Java 语言的,所以我们没有使用 Spring Cloud、Dubbo 这些微服务框架。 那么,我们是如何配置各个服务之间的调用关系的呢?我们一起还原下当时的配置过程。 因为这 50 个服务都有负载均衡,所以我们首先需要把服务的地址和负载均衡全部配置在 Nginx 上,类似这样: upstream user-servers { server 192.168.5.150:80; server 192.168.5.151:80; } upstream order-servers { server 192.168.5.153:80; server 192.168.5.152:80; } … server{ listen 80; ser...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册