微服务框架 SpringCloud微服务架构 多级缓存 48 多级缓存 48.6 Tomcat集群的负载均衡

news2024/9/25 17:17:08

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

多级缓存

文章目录

      • 微服务框架
      • 多级缓存
      • 48 多级缓存
        • 48.6 Tomcat集群的负载均衡
          • 48.6.1 Tomcat集群的负载均衡

48 多级缓存

48.6 Tomcat集群的负载均衡

48.6.1 Tomcat集群的负载均衡

在这里插入图片描述

OK,到现在我们已经实现了 由 OpenResty 直接向Tomcat 发起请求,获得数据的流程

【笔者是直接把Tomcat 部署到了 Linux 服务器本身】

在这里插入图片描述

实际情况中,Tomcat 可能会有多台,这样的话,请求时就需要实现一个负载均衡

它本身并不难

在这里插入图片描述

然后改一下反向代理配置

在这里插入图片描述

但是,非常可惜的一个点,进程缓存不能共享

在这里插入图片描述

如果硬要实现, 进程缓存就需要在多台 Tomcat 服务器上都 写上那些代码【因为负载均衡 →轮询!!!!!!】

  • 消耗额外空间
  • 缓存命中率也不高了

现在我想这样一件事,

在这里插入图片描述

只要是访问10001 之后,永远都有缓存,我就必须让 /item/ 10001 这个请求,每次都走到同一个Tomcat 服务器,这样才能保证这个缓存一直生效

【这样我们的 JVM 进程缓存才有意义】

但是现在是轮询,肯定是做不到的

【解决办法】

修改负载均衡算法

在这里插入图片描述

现在就来实现一下

在这里插入图片描述

这样就定义好了

重新加载Nginx

在这里插入图片描述

这一次,我踏马直接在Linux 服务器上跑起来俩,一个是我们刚刚的 8888,再跑一个 8889

在这里插入图片描述

在这里插入图片描述

OK

现在来访问 ,先 10001

在这里插入图片描述

OK, 10001 访问成功, 看看是哪台 服务器接收到了请求

在这里插入图片描述

OK, 8889 拿到了请求

再来一次【预期效果,如果是轮询,就应该轮到 8888 了,直接看看就完事儿】

在这里插入图片描述

查看日志

在这里插入图片描述

8888 并没有变,

在这里插入图片描述

8889 也没有变, 这说明什么,它绝对走的 是 8889 的进程缓存

现在换个id

在这里插入图片描述

OK,查看日志

在这里插入图片描述

我淦,还是 8889

再试试,这个算法到底咋算的

在这里插入图片描述

OK,10003 是 8888 接到了,再试一个

在这里插入图片描述

10004 也是 8888 接到了,总之,现在实现了“能定死找对Tomcat 服务器了”

这就是对于多台Tomcat 服务器的 负载均衡,并且确保 JVM 进程缓存永远生效

黑马,你是我的神!!!!!!!!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app个人总结

uni-app是什么? uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多…

在vue项目中封装axios

在哪里封装: 封装axios,src文件夹下新建一个util的文件夹,这个文件夹就是放一些工具的,可以在这里面封装axios。新建一个js文件,这里是在http.js文件里封装axios 封装axios的第一种方案:函数法 方法&#…

【Numpy】NumpyQuickStart

Numpy快速入门 Ding Jiaxiong【2022-12-17】 Gitee仓库:https://gitee.com/DingJiaxiong/machine-learning-study.git 文章目录Numpy快速入门先决条件导包基础知识举个栗子数组的创建数组的打印基本操作通用功能索引切片和迭代形状操作更改数组的形状将不同的数组堆叠在一起将一…

【进阶C语言】什么?你居然还不知道结构体可以实现位段?一文带你速通位段结构的使用

目录 🤩前言🤩: 🤯正文:位段🤯: 1.位段概述: 2.位段的内存分配: 3.位段的跨平台问题: 4.位段的应用: 🥳总结🥳&#x…

[附源码]Node.js计算机毕业设计好又多百货商业广场有限公司自助收银操作系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

三面美团测开岗,HR 现场直接发 offer,他是横着走出来的

前情提要 这是一个发生在我朋友身上的真实事情: 这里就叫他程序员 Y 吧。 程序员 Y 工作不到两年,周末在朋友圈发了个喜报,准备入职美团。 之后,我就带着祝福跟 Y 聊了许久,聊天的内容就是具体了解一下他面试的过程…

事业编招聘:气象局2023年度公开招聘公告

宁夏回族自治区气象局2023年度公开招聘应届高校毕业生公告(气象类) 根据《事业单位人事管理条例》《事业单位公开招聘人员暂行规定》和《气象部门事业单位公开招聘应届高校毕业生管理办法(试行)》等有关规定和工作需要&#xff0…

C++ 面向对象

C 面向对象,内存管理(未完。。。) 对象内存模型 类型转换 dynamic_cast type_info 多态 虚函数 override final虚表结构 运行时类型信息(RTII)基类析构函数必须为虚函数,否则会有内存泄漏的危险继承有两…

GitHub 推出对所有公共存储库的免费秘密扫描

GitHub 正在推出对其代码托管平台上所有公共存储库的免费扫描公开秘密(例如凭据和授权令牌)的支持。 秘密扫描是一种安全选项,组织可以启用它以进行额外的存储库扫描,以检测已知类型的秘密的意外暴露。 它通过匹配合作伙伴和服务…

【Java编程系列】Mybatis的Interceptor注入yml自定义变量,多种实现方式

1、前言 当前有一个任务,需要将mybatis的sql进行拦截过滤处理,而拦截处理时,需要有一些白名单放行的配置方法名路径。所以,这里使用到了yml的配置文件来配置变量路径,而后引入拦截器做动态放行。 2、注入自定义变量方式…

5点起床,一直干到11点的外卖小哥转行程序员,入职起薪12K

“我是要成为卷王的男人”是95后的小魏的座右铭,曾经的他5点起床,10分钟洗漱完毕就开始了一天的工作—送外卖。是的,曾经的他是万千外卖小哥的其中一员。 19年毕业的小魏学的是土木工程,曾经他也在工地待过,风尘仆仆却…

教程!!!!!

使用门槛:需要自行准备能开全局代理的科学工具 好评赠送免费科学工具,也可以自己准备科学工具。 下单以后,我们会发送一串账号密码给您。如图: 其中卡号就是chatgpt的账号,密码就是chatgpt密码。 第一步&#xff1…

星火计划学习笔记——第八讲Apollo控制模块解析与实践1

文章目录1. 控制理论简介1.1 控制的作用1.2 自动驾驶控制的目标1.3自动驾驶控制器的设计2. 汽车运动学与动力学2.1 常用的自动驾驶控制算法2.2 车辆运动学模型 Kinematics2.3 车辆动力学模型 Dynamics3. Apollo控制模块3.1 Apollo控制模块3.2 规划与控制相配合3.3 Apollo控制模…

零基础学习编程,选择什么编程语言比较合适?

随着互联网的兴起,越来越多的人想要学习编程,却不知道该从哪开始学,小编就通过以下几点给大家分析一下,零基础入门学习编程,该如何选择编程语言。 1、哪一门语言容易入门! 所有语言的知识体系分为三大块&…

SAP ABAP 物料主数据的视图维护状态

SAP ABAP 物料主数据的视图维护状态 引言: 物料主数据的视图维护状态会经常使用,是物料主数据批量创建/修改的逻辑路由。 关键字:SAP ABAP VPSTA PSTAT T132T 文章目录SAP ABAP 物料主数据的视图维护状态1. 技术说明2. 维护状态3. 维护记录…

Linux——实用指令

帮助指令 man 获得帮助信息 基本语法 man [命令或配置文件] 注意:命令可以组合使用,比如ls -al,ls -la help 获得shell内置命令的帮助信息 基本语法 help命令 时间日期类 date指令 显示当前日期 基本语法 date(显示…

【细胞分割】原子力显微镜图像分析【含GUI Matlab源码 1371期】

⛄一、AFM简介 理论知识参考文献:原子力显微镜(AFM)图像的计算机辅助分析 ⛄二、部分源代码 function varargout AFManalysis(varargin) % AFMANALYSIS M-file for AFManalysis.fig % AFMANALYSIS, by itself, creates a new AFMANALYSIS…

【图像处理】高效斑点特征提取技术研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

10年经验Python老司机分享:转行如何自学Python并且找到工作?

目前信息化产业发展势头很好,互联网就成为了很多普通人想要涉及的行业,因为相比于传统行业,互联网行业涨薪幅度大,机会也多,所以就会大批的人想要转行来学习Python开发。 零基础学习Python必须明确的几点: …

5个千兆网口,将有什么样高速网络传输体验?——米尔MYD-J1028X开发板实测分享

本篇测评由电子工程世界的优秀测评者“HonestQiao ”提供。 此次的板卡测试,是米尔MYD-J1028X开发板的高速网络数据传输测试体验。 01 本次测试的主角 米尔MYD-J1028X开发板提供了5个超级给力的最高支持千兆网络接口,具体如下: 通过查看官…