kubenetes-服务发现和负载均衡

一、服务发布

kubenetes把服务发布至集群内部或者外部,服务的三种不同类型:

  1. ClusterlP
  2. NodePort
  3. LoadBalancer

ClusterIP是发布至集群内部的一个虚拟IP,通过负载均衡技术转发到不同的pod中。
NodePort解决的是集群外部访问的问题,用户可能不能访问pod ip,但是可以访问Node ip,通过nodeIP:nodePort方式提供给外部流量访问。
LoadBalancer类型需要和外部负载均衡设备做交互,需要特定的controller来支撑。

二、服务发现

  1. 微服务架构是由一系列职责单一的细粒度服务构成的分布式网状结构,服务之间通过轻量机制进行通信,这时候必然引入一个服务注册发现问题,也就是说服务提供方要注册通告服务地址,服务的调用方要能发现目标服务。
  2. 同时服务提供方一般以集群方式提供服务,也就引入了负载均衡和健康检查问题。

2.1 集中式LB服务发现

在这里插入图片描述
集中式LB方案实现简单,在LB上也容易做集中式的访问控制,这一方案目前还是业界主流。
集中式LB的主要问题是单点问题,所以服务调用流量都经过LB,当服务数量和调用量大的时候,LB容易成为瓶颈,且LB一旦发生故障,对整个系统的影响将是灾难性的。
集中式LB在消费者和服务提供方之间增加了一跳,有一定性能开销。

2.2 客户端LB服务发现

在这里插入图片描述
客户端LB是一种分布式模式,LB和服务发现能力被分散到每一个服务消费者的进程内部,同时服务消费方和服务提供方之间是直接调用,没有额外开销,性能比较好。该方案以客户库(Client Library)的方式集成到服务调用方进程里头,如果企业内有多种不同的语言栈,就要配合开发多种不同的客户端,有一定的研发和维护成本。
一旦客户端跟随服务调用方发布到生产环境中,后续如果要对客户库进行升级,势必要求服务调用方修改代码并重新发布,所以该方案的升级推广有不小的阻力。

2.3 客户端独立LB进程服务发现

在这里插入图片描述
客户端独立LB进程也是一种分布式方案,没有单点问题,一个LB进程挂了只影响该主机上的服务调用方。
服务调用方和LB之间是进程间调用,性能好。
简化了服务调用方,不需要为不同语言开发客户库,LB的升级不需要服务调用方改代码。
不足是部署较复杂,环节多,出错调试排查问题不方便。

三、负载均衡

3.1 互联网架构发展历程

在这里插入图片描述

3.2 网络包格式

在这里插入图片描述
所谓的负载均衡技术,就是在网络包上修改转化技术,比如将目标ip和port进行修改。在链路层修改目标MAC地址,就是链路层的负载均衡,也叫7层负载均衡。在传输层和网络层修改目标ip和port,就是传输层和网络层的负载均衡,统称4层负载均衡。

3.3 负载均衡技术概览

在这里插入图片描述

3.3.1 网络地址转换

在这里插入图片描述

3.3.2 隧道技术

负载均衡中常用的隧道技术是IP over IP,其原理是保持原始数据包IP头不变,在IP头外层增加额外的IP包头后转发给上游服务器。
上游服务器接收IP数据包,解开外层IP包头后,剩下的是原始数据包。
同样的,原始数据包中的目标IP地址要配置在上游服务器中,上游服务器处理完数据请求以后,响应包通过网关直接返回给客户端。
Overlay中的VXLAN就是一种隧道技术。

3.4 DNS负载均衡

DNS负载均衡技术的实现原理是在DNS服务器中为同一个域名配置多个IP地址,在应答DNS查询时,DNS服务器通过算法返回其中一个IP,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。
严格来说,DNS服务器只是做域名解析,并没有承接请求流量。
DNS域名解析需要注意TTL问题,TTL记录了一个DNS记录在缓存中的有效时间,即多长时间后缓存将过期并需要重新查询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/198464.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于C#实现最长公共子序列

一、作用 最长公共子序列的问题常用于解决字符串的相似度,是一个非常实用的算法,作为码农,此算法是我们的必备基本功。 二、概念 举个例子,cnblogs 这个字符串中子序列有多少个呢?很显然有 27 个,比如其…

人工智能-深度学习之残差网络(ResNet)

随着我们设计越来越深的网络,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力,在这种网络中,添加层会使网络更具表现力, 为了取得质的突破,我们需要一些数学基础知识。 ResNet沿…

构建自定义ChatGPT,微软推出Copilot Studio

11月16日,微软在美国西雅图举办“Microsoft Ignite 2023”全球开发者大会。本次人工智能成为重要主题,微软几乎把所有产品都集成了生成式AI功能并发布了一系列全新产品。 其中,微软重磅推出了Copilot Studio(预览版)&…

助力安全生产--韩施电气为您提供电动机保护及电机故障解决方

上海韩施电气自成立于2008年,是一家专门从事销售电气自动化设备、电力设备、机电设备的综合型贸易公司,公司自成立以来一直专注于EOCR产品的推广销售和技术服务,成为韩国施耐德EOCR在国内的总代理,并授予代理证书,我们…

11 月 11 日 ROS 学习笔记——ROS 架构及概念

文章目录 前言一、 ROS 文件系统级1). 工作空间 Ws2). 功能包3). 消息 msg4). 服务 srv 二、计算图级1). 动态加载节点 nodelet2). 主题 topic3). 服务 srv4). 消息 msg5). 试用练习5). 创建工作空间6). 创建 ROS 功能包和元功能包7). 编译ROS功能包8). 使用 ROS 节点9). 使用主…

球幕投影有哪些常见的物理表现形式?

近年来,投影技术不断发展完善,给内容的表达方式带来了突破,使其展示形式不再局限于平面,即使在弧面、球面等异形幕墙上,也能呈现出令人惊叹的视觉画面。其中球幕投影备受关注,它以半球形屏幕将图像投影到球…

2023年AI生成音频研究报告

第一章 行业概况 1.1 定义 AI音频生成行业,作为人工智能生成内容(AIGC)技术渗透的关键领域,正迅速成为技术革新的前沿阵地。这一领域专注于运用先进的人工智能技术和复杂算法来创造音频内容,覆盖了语音合成、音乐制作…

直流充电桩测试仪的作用

直流充电桩测试仪主要用于对充电桩进行全面的功能测试和性能评估,以确保其正常运行和安全使用。直流充电桩测试仪可以对充电桩的各个功能进行测试,包括连接性测试、通信测试、充电功率测试等。通过测试可以检测充电桩是否正常工作,是否能够正…

【开源】基于Vue.js的高校宿舍调配管理系统

项目编号: S 051 ,文末获取源码。 \color{red}{项目编号:S051,文末获取源码。} 项目编号:S051,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能需求2.1 学生端2.2 宿管2.3 老师端 三、系统…

基于C#实现字符串相似度

一、概念 对于两个字符串 A 和 B,通过基本的增删改将字符串 A 改成 B,或者将 B 改成 A,在改变的过程中我们使用的最少步骤称之为“编辑距离”。比如如下的字符串:我们通过种种操作,痉挛之后编辑距离为 3,不…

MES管理系统与ERP系统的实施顺序与决策

在现今的数字化时代,制造企业纷纷寻求通过先进的系统来提升运营效率。其中,ERP管理系统与MES管理系统被誉为是数字化转型的两大利器。然而,在推进这两个系统时,企业常常面临一个关键问题:究竟应该先实施哪一个系统&…

rocketmq 安装dashboard1.0.0 mq消息控制台安装 rocketmq控制台安装 rocketmq-dashboard-1.0.0编译安装

1. 官网: 下载 | RocketMQ 2. dashboard安装包位置: 在连接最下面,点击download.zip即可 3. 需要安装maven, 编译命令: mvn clean install -U -Dmaven.test.skiptrue4. 启动jar: java -jar rocketmq-dashboard-1.0.0.jar &…

第 372 场 LeetCode 周赛题解

A 使三个字符串相等 求三个串的最长公共前缀 class Solution { public:int findMinimumOperations(string s1, string s2, string s3) {int n1 s1.size(), n2 s2.size(), n3 s3.size();int i 0;for (; i < min({n1, n2, n3}); i)if (!(s1[i] s2[i] && s2[i] s…

阿里云ESSD云盘、高效云盘和SSD云盘介绍和IOPS性能参数表

阿里云服务器系统盘或数据盘支持多种云盘类型&#xff0c;如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等&#xff0c;阿里云服务器网aliyunfuwuqi.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延…

腾讯混元模型

最近腾讯的混元大模型内测,我有幸申请到了一个名额。 身为一个程序员,我想大家最关注的一定是该模型的代码和类代码能力,因为这直接关系到这个模型能帮我们解决多少问题,节约多少时间,提高多少效率。 对此,我针对工作中可能会用到的几个点进行了详细的体验。 先说结论:腾讯混元…

2024年全网最全的Jmeter+ant+jenkins实现持续集成教程

jmeterantjenkins持续集成 一、下载并配置jmeter 首先下载jmeter工具&#xff0c;并配置好环境变量&#xff1b;参考&#xff1a;https://www.cnblogs.com/YouJeffrey/p/16029894.html jmeter默认保存的是.jtl格式的文件&#xff0c;要设置一下bin/jmeter.properties,文件内容…

【项目】云备份系统基础功能实现

目录 一.项目介绍1.云备份认识2.服务端程序负责功能与功能模块划分3.客户端程序负责功能与功能模块划分4.开发环境 二.环境搭建1.gcc升级7.3版本2.安装jsoncpp库3.下载bundle数据压缩库4.下载httplib库 三.第三方库认识1.json(1)json认识(2)jsoncpp认识(3)json实现序列化(4)jso…

广州华锐互动VRAR:利用VR开展刑事案件公安取证培训,沉浸式体验提升实战能力

随着科技的飞速发展&#xff0c;虚拟现实(VR)技术为我们的生活和工作带来了前所未有的便利。近年来&#xff0c;VR技术在刑事案件公安取证培训中的应用逐渐显现出其独特优势。通过模拟真实的犯罪现场&#xff0c;VR技术为学员提供了沉浸式的体验&#xff0c;使他们在安全的环境…

IDEA导入jar包

通过maven导入本地包 mvn install:install-file -DfileD:\WebProject\ERP\zhixing-heyue-erp-server\zxhy-service-api\src\main\java\com\zxhy\service\api\invoice\baiwang\lib\com_baiwang_bop_sdk_outer_3_4_393.jar -DgroupIdcom.baiwang -DartifactIdbaiwang.open -Dver…

纯JS,RSA,AES,公钥,私钥生成及加解密

通过网络找的JS源文件&#xff0c;修改后使用&#xff0c;包含RSA 密匙对生成 及AES 加解密 涉及的JS源文件 下载 GitHub - cgrlancer/RSA-AES: 纯js,RSA,AES前端加解密 前端引用 import {generateRsaKeyWithPKCS8,encryptByRSA,decryptByRSA,encrypt,decrypt,testRsa} fr…