当前位置: 首页 > news >正文

微服务里的小问题

1.微服务为什么设置不同的namespace

为了实现三种服务三种情况下的隔离。

2.为什么要用nginx为naocos集群结点做负载均衡?

2.1 正向代理

就像我们访问外网需要一个代理。

 2.2 反向代理

我们不需要访问真实的ip,只需要访问 这个服务的代理服务器即可,就会被转发到真实的ip,隐藏了真实服务器的ip地址。

就像访问域名,它会给你的请求分到别的具体ip服务器。

2.3 Nginx为啥不用来做服务的负载均衡?

Nacos是做服务的注册与发现(暂不讨论其他功能)的,内部封装了ribbon负载均衡,与open feign整合使用能够很灵活的开发项目;
Nginx能够实现反向代理和负载均衡,一般用来搭建服务器的集群,实现高并发;

作用不同:
区别就是Nacos能够做的服务的注册与发现,Nginx可以实现对服务端的反向代理,但做不到主动让服务的发现。

  1. 如果使用Nginx来实现服务之间的调用,远没有使用Nacos方便
  2. Nacos同样也做不到实现一个服务器集群的反向代理,如上图所示,Nacos如果只有一台服务器,会存在单点故障的风险,所以使用nginx做了集群,不仅消除了风险还提高了并发量。

 nginx 可以对 服务器集群做反向代理。

下面这是 nginx 的代理,nacos的代理 都是分到具体服务器(具体的ip和端口),而不是分到集群。

2.4 nacos 需要有集群,那不然你nacos注册中心也会挂啊

微服务都需要集群,你ngnix也需要集群。

3.Http连接池(跟数据库连接池差不多)

3.1 Http 存在的问题

3.2 创建http 线程池

3. 3 通过连接池获取httpClient(这个对象就是发请求的)

 3.4 设定请求类型并执行请求

3.5 连接池状态观察

4 .gateway和 nginx的区别

有了nginx做网关,为啥还要用到gateway呢?

4.1 不同之处

首先这两种网关的定义不一样

nginx用户访问的总入口,也就是前端页面的容器,流量网关。比如对某个ip服务器的访问。

gateway的定义是针对每一个业务,微服务,属于业务网关。

gateway的主要功能有,路由,断言,过滤器,利用它的这些特性,可以做流量控制(对流量进行筛选。

nginx做网关,更多的是做总流量入口,反向代理,负载均衡等,还可以用来做web服务器。

4.2 相同之处

都对流量做负载均衡。

nginx对总流量复杂均衡,gateway对业务流量做负载均衡。

4.3 geteWay的负载均衡还是要去nacos 里扒。

所以得配置nacos的地址。 

 

5.gateway只实现了只实现了 31种过滤器,但是我们能不能自定义一个呢?

全局过滤器的作用也是处理一切进入网关的请求和微服务响应,与 GatewayFilter 的作用一样。区别在于 GlobalFilter 的逻辑可以写代码来自定义规则;而 GatewayFilter 通过配置定义,处理逻辑是固定的。

当然gate way是有自己的全局过滤器。

过滤器 如果 order (用来排序的)的值都一样,那就默认过滤器>当前过滤器> GlobalFilter。

 

过滤器执行的顺序规则如下:

 

5.1 gateway解决跨域问题

相关文章:

微服务里的小问题

1.微服务为什么设置不同的namespace 为了实现三种服务三种情况下的隔离。 2.为什么要用nginx为naocos集群结点做负载均衡? 2.1 正向代理 就像我们访问外网需要一个代理。 2.2 反向代理 我们不需要访问真实的ip,只需要访问 这个服务的代理服务器即可&a…...

数据库之基本功:Where 中常用运算符

1. 运算符及优先级 ( )优先级最高 SQL> show user; USER is "SCOTT" SQL> select ename, job, sal, comm from emp where jobSALESMAN OR jobPRESIDENT and sal> 1500;ENAME JOB SAL COMM …...

浅谈 Nodejs原型链污染

一直在做php的题目,对其它语言做的很少。刚好在西湖论剑2022复现时,遇到了一道原型链污染的题目,借此机会开始简单学习一下 Nodejs的洞 p🐂讲解的十分清楚,因此下面举例子就直接用p🐂的例子进行解释了 目…...

Linux系统安装Docker

目录 Linux系统安装Docker 1、如果之前安装过旧版本的Docker,可以使用下面命令卸载 2、安装docker 3、启动docker 4、配置镜像加速 Linux系统安装Docker 前提:Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10&#xff0…...

MCP2515国产替代DP2515带有SPI 接口的独立CAN 控制器

DP2515是一款独立控制器局域网络(Controller AreaNetwork, CAN)协议控制器,完全支持CAN V2.0B 技术规范。该器件能发送和接收标准和扩展数据帧以及远程帧。DP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的…...

【Kubernetes】第二十篇 - k8s 污点和容忍度

一,前言 上一篇,介绍了 k8s ConfigMap 管理服务环境变量; 本篇,介绍 k8s 污点和容忍度; 二,污点与容忍度介绍 通过污点和容忍度配置可以干预 Pod 部署到特定的节点; 比如: 不想让…...

60% 程序员大呼:我要远程办公!

近几年数字化的普及,白领们从挤地铁、打卡、开会、写日报转变成“早上9点视频会议”,企业的办公场所也从写字楼、会议室、工位变成了手机、电脑中的线上会议室,远程办公已经成为一种流行的办公形式。《财富》杂志发现,75%的员工表…...

jmeter+ant+jenkins接口自动化测试框架

大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基与java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具。将这三者结合起来可以搭建一套We…...

【protoc自定义插件】「go语言」实现rpc的服务映射成http的服务,protoc生成gin的插件,(详解实现原理及过程)

文章目录前言一、工程实践中如何更好的使用proto文件?二、protoc命令如何查询依赖的proto文件以及执行原理1. protoc命令如何查询依赖的proto文件2. protoc执行的插件加载原理是什么?3. proto文件中的package和go_package的作用三、protoc插件开发原理体…...

【C语言】3天速刷C语言(语句、函数)

语句分支语句if语句if语句语法结构语法结构: if(表达式)语句; if(表达式)语句1; else语句2; //多分支 if(表达式1)语句1; else if(表达式2)语句2; else语句3;表达式如果成立,则执行,不成立则弹出。switch语句语法结构:switch(…...

Linux系统中指针的详细分析与操作

文章目录 一、指针 二、指针的初始化 三、指针的运算 四、指针与数组 五、指针与字符串 六、函数指针 七、NULL 指针 八、对复杂指针的解释 C 语言指针真正精髓的地方在于指针可以进行加减法,这一点极大的提升了程序的对指针使用的灵活性,同时也…...

工程(十一)——NUC11+D435i+VINS-FUSION+ESDF建图(github代码)

博主的合并代码gitgithub.com:huashu996/VINS-FUSION-ESDFmap.git一、D435i深度相机配置1.1 SDKROS参考我之前的博客,步骤和所遇见的问题已经写的很详细了https://blog.csdn.net/HUASHUDEYANJING/article/details/129323834?spm1001.2014.3001.55011.2 相机标定参数…...

第十四届蓝桥杯三月真题刷题训练——第 4 天

目录 题目 1 :九数算式_dfs回溯(全排列) 题目描述 运行限制 代码: 题目2:完全平方数 问题描述 输入格式 输出格式 样例输入 1 样例输出 1 样例输入 2 样例输出 2 评测用例规模与约定 运行限制 代码: 题目 1 &am…...

Hadoop 运行环境搭建(开发重点)

文章目录Hadoop 运行环境搭建(开发重点)一、安装JDK二、安装配置 Hadoop1、安装 hadoop2、hadoop 目录结构3、设置免密登录4、完全分布式模式(开发重点)1)分发jdk2)集群配置(1) 集群部署规划(2) 配置文件说…...

在社交媒体上行之有效的个人IP趋势

如果您认为无论是获得一份工作、建立一家企业还是推动个人职业发展,社交媒体都是帮助您实现目标的可靠工具,那么个人IP就是推动这一工具前进的燃料。个人IP反映了您是谁,您在所处领域的专业程度,以及您与他人的区别。社交媒体将有…...

Java网络编程

网络编程 什么是网络编程? 可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信) Java.net. 包下提供了网络编程的解决方案* 基本的通信架构 基本的通信架构有两种方式:CS架构(Client客户端/Se…...

PTA:L1-001 Hello World、L1-002 打印沙漏、L1-003 个位数统计(C++)

目录 L1-001 Hello World 问题描述: 实现代码: L1-002 打印沙漏 问题描述: 实现代码: 原理思路: L1-003 个位数统计 题目描述: 实现代码: 原理思路: 过于简单的就不再写题…...

构造HTTP请求

使用formform使用如下:<body><!-- 表单标签,允许用户和服务器之间交互数据 --><form action"https://www.sogou.com" method"get"><!-- 要求提交的数据以键值对的结构来组织 --><input type"text" name"stduent…...

转速/线速度/角速度计算FC

工业应用中很多设备控制离不开转速、线速度的计算,这篇博客给大家汇总整理。张力控制的开环闭环方法中也离不开转速和线速度的计算,详细内容请参看下面的文章链接: PLC张力控制(开环闭环算法分析)_plc的收卷张力控制系统_RXXW_Dor的博客-CSDN博客里工业控制张力控制无处不…...

学习笔记:Java并发编程(补)ThreadLocal

【尚硅谷】学习视频&#xff1a;https://www.bilibili.com/video/BV1ar4y1x727【黑马程序员】学习视频&#xff1a;https://www.bilibili.com/video/BV15b4y117RJ 参考书籍 《实战 JAVA 高并发程序设计》 葛一鸣 著《深入理解 JAVA 虚拟机 | JVM 高级特性与最佳实践》 周志明 著…...

基于MCP的任务编排框架:让AI代理动态规划与执行复杂工作流

1. 项目概述&#xff1a;一个面向AI代理的任务编排与执行框架最近在折腾AI应用开发&#xff0c;特别是想让大语言模型&#xff08;LLM&#xff09;能更“自主”地完成一些复杂任务时&#xff0c;发现了一个绕不开的痛点&#xff1a;任务编排。你给模型一个目标&#xff0c;比如…...

Git Conflict Resolution

1. 这篇文章解决什么问题&#xff1f; Git 冲突不是异常情况&#xff0c;而是多人协作和分支开发里的正常现象。 常见问题包括&#xff1a; 1. 为什么会产生冲突&#xff1f; 2. 冲突文件里的 <<<<<<<、、>>>>>>> 是什么&#xff1f…...

ChatGPT 2026新增“因果推理引擎”功能(OpenAI内部白皮书首次公开)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT 2026“因果推理引擎”功能全景概览 ChatGPT 2026 引入的“因果推理引擎”&#xff08;Causal Reasoning Engine, CRE&#xff09;标志着大语言模型从关联统计迈向可解释性因果建模的关键跃迁。…...

飞书文档批量导出工具:25分钟搞定700+文档的迁移难题

飞书文档批量导出工具&#xff1a;25分钟搞定700文档的迁移难题 【免费下载链接】feishu-doc-export 飞书文档导出服务 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 当企业需要切换办公平台或进行数据备份时&#xff0c;飞书文档的批量迁移常常成为…...

AI时代算力、模型与安全的三角博弈:从Nvidia生态到工程实践

1. 项目概述&#xff1a;当算力、智能与安全交织的时代最近和几个在芯片设计、大模型应用以及安全服务公司工作的朋友聊天&#xff0c;大家不约而同地都聊到了一个话题&#xff1a;我们正处在一个由Nvidia芯片驱动的AI浪潮之巅&#xff0c;但这场盛宴似乎并非没有天花板。一方面…...

白起、项羽、黄巢杀降时的第三选择

白起、项羽、黄巢&#xff0c;他们都曾站在“杀降”这个决策悬崖上。与其说这是他们个人的暴虐&#xff0c;不如说他们当时都陷入了一个由战争逻辑、资源短缺和恐惧心理共同构筑的绝境。在那个系统里&#xff0c;他们几乎无法做出别的选择。&#x1f3b2; 那场被逼到墙角的困兽…...

2026购物机器人操作指南:工作原理与使用教程

在电商自动化和AI技术不断发展的背景下&#xff0c;购物机器人&#xff08;Shopping Bot&#xff09;正在成为越来越多人关注的工具。无论是用于限量商品抢购、价格监控&#xff0c;还是电商数据采集&#xff0c;它都在改变传统的线上购物方式。本文将从基础概念出发&#xff0…...

Claude Code配置切换器:一键管理多AI服务环境变量

1. 项目概述&#xff1a;为什么我们需要一个Claude Code的配置切换器如果你和我一样&#xff0c;日常重度依赖Claude Code这个AI编程助手&#xff0c;那你肯定遇到过这个场景&#xff1a;今天想用智谱的GLM-4.5&#xff0c;明天想切到月之暗面的Kimi&#xff0c;后天可能又得用…...

如何快速掌握microeco:微生物组学数据分析的完整实战指南

如何快速掌握microeco&#xff1a;微生物组学数据分析的完整实战指南 【免费下载链接】microeco An R package for downstream data analysis of microbiome omics data 项目地址: https://gitcode.com/gh_mirrors/mi/microeco 你是否曾因复杂的微生物组学数据分析而感到…...

FreeRTOS CPU使用率统计的坑:为什么你的数据跑了1小时就不准了?

FreeRTOS CPU使用率统计的陷阱与高精度优化方案 当你在嵌入式系统中集成FreeRTOS的CPU使用率统计功能时&#xff0c;可能会遇到一个令人困惑的现象&#xff1a;系统运行约1小时后&#xff0c;统计数值突然出现明显偏差。这不是你的代码出了问题&#xff0c;而是隐藏在32位变量和…...