山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十二)- 微服务(2)

目录

4. Ribbon负载均衡

4.1 负载均衡流程

4.2 负载均衡策略

4.3 Ribbon饥饿加载

5. Nacos注册中心

5.1 服务注册到nacos

5.2 nacos服务分级存储模型

5.3 根据权重负载均衡

5.4 环境隔离--namespace


4. Ribbon负载均衡

4.1 负载均衡流程

4.2 负载均衡策略

默认实现是轮流循环策略,是ZoneAvoidanceRule

修改负载均衡规则 :

  1. 代码方式,在order-service启动类中添加(作用于全局,即order微服务访问任何微服务都遵循该策略),修改为随机策略 :

  @Beanpublic IRule randomRule(){return new RandomRule();}
  1. 配置文件方式 ,只针对某个服务(指定服务名,如下面的userservice), 在配置文件中 :

      userservice:ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule     # 负载均衡规则

4.3 Ribbon饥饿加载

Ribbon默认是懒加载,只有在第一次访问时才去创建LoadBalanceClient,请求时间会很长,

饥饿加载会在项目启动时就创建,降低第一次访问耗时

饥饿加载的配置

在order-service 配置文件中 :

  ribbon:eager-load:enable: true   #  开启饥饿加载clients: -userservice   # 指定饥饿加载的服务名称  可以是一个集合-xxxservice-xxxxservice

5. Nacos注册中心

启动nacos命令 :

管理员身份运行cmd到nacos安装的bin目录下

  startup.cmd -m standalone

访问页面 :

  http://192.168.142.1:8848/nacos/index.html

5.1 服务注册到nacos

引入依赖 在父工程中加入 :

  <!--nacos的管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.5.RELEASE</version><type>pom</type><scope>import</scope></dependency>

在user-service中引入nacos服务发现依赖

  <!--nacos客户端依赖包--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

修改user-service的yml配置文件 order-service同理 把user-service服务发现到nacos

  spring:datasource:url: jdbc:mysql://localhost:3306/cloud_user?useSSL=falseusername: rootpassword: 888888driver-class-name: com.mysql.jdbc.Driverapplication:name: userservice  # user服务的服务名称cloud:nacos:server-addr: localhost:8848    # nacos服务地址

5.2 nacos服务分级存储模型

​ user-serviced的配置文件添加

  cloud:nacos:server-addr: localhost:8848    # nacos服务地址discovery:cluster-name: HZ  # 集群名称   HZ代指杭州

开多端口方法 :

修改选项中点击添加VM选项,弹出提示框中添加 -Dserver.port=要开的新端口

结果演示 :

在order-service中加入同样配置,测试order在调用userservice是否优先选择本地集群,把order-service放在HZ,user-service两个分支一个在HZ,一个在SH

order-service的yml文件中同样配置

  cloud:nacos:server-addr: localhost:8848    # nacos服务地址discovery:cluster-name: HZ  # 集群名称   HZ代指杭州

在order-service的yml配置文件中修改对userservice的负载均衡规则 :

  userservice:ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule     # 负载均衡规则

测试结果 : 在杭州集群的order-service只调用了在杭州集群的user-service而未调用在上海集群的user-service

NacosRule负载均衡规则 :

  1. 优先选择本地集群

  2. 本地集群找不到提供者,才去其他集群寻找

  3. 确定了可用实例列表后,再采用随机均衡负载挑选实例

5.3 根据权重负载均衡

通过修改权重控制访问频率,权重越大访问频率越高

5.4 环境隔离--namespace

在页面新建命名空间

修改order-service的yml文件,新增namespace指定命名空间的id

  spring:datasource:url: jdbc:mysql://localhost:3306/cloud_order?useSSL=falseusername: rootpassword: 888888driver-class-name: com.mysql.jdbc.Driverapplication:name: orderservice  # order服务名称cloud:nacos:server-addr: localhost:8848    # nacos服务地址discovery:cluster-name: HZ  # 集群名称   HZ代指杭州namespace: 9d2976a6-9560-46b7-a680-260801971b01   #   命名空间的id

修改结果 :

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

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

相关文章

【OpenGL第一个程序】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、OpenGL第一个程序 前言 本文介绍了OpenGL入门的第一个程序&#xff0c;有详细的注释&#xff0c;便于大家理解其中的逻辑。 一、OpenGL第一个程序 #inclu…

加工工件管口倒角在0.00~0.01mm

对于加工工件管口倒角在0.00~0.01mm这样极小尺寸范围内的测量&#xff0c;常规的测量工具和方法可能难以满足精度要求。这种微小倒角的测量通常需要采用高精度的检测技术和设备&#xff0c;以下是一些适用的测量方法&#xff1a;1. 光学干涉仪&#xff1a;利用光波干涉原理&…

cesium绘制区域编辑

npm 安装也是可以的 #默认安装最新的 yarn add cesium#卸载插件 yarn remove cesium#安装指定版本的 yarn add cesium1.96.0#安装指定版本到测试环境 yarn add cesium1.96.0 -D yarn install turf/turf <template><div id"cesiumContainer"></div&…

大学理科生搜题软件?分享四个软件和公众号,来对比看看吧 #笔记#知识分享

在快节奏的大学生活中&#xff0c;合理利用这些日常学习工具&#xff0c;能够让你事半功倍&#xff0c;提高学习效率。 1.福昕翻译 可以一键翻译文档内容&#xff0c;并提供还原排版的译文&#xff0c;对经常看外文文献的朋友来说&#xff0c;绝对是福音 福昕翻译是一流专业…

微信小程序全栈开发实践教程

掌握小程序开发&#xff1a;一站式项目实操指南 课程旨在系统地介绍小程序开发中常用的组件与接口&#xff0c;并强调最佳实践与常见错误的讲解。为确保学习效果&#xff0c;课程将围绕一个大型实战项目展开&#xff0c;该项目综合了小程序开发的关键技术和知识点。通过循序渐…

设计模式基础——设计原则介绍

1.概述 ​ 对于面向对象软件系统的设计而言&#xff0c;如何同时提高一个软件系统的可维护性、可复用性、可拓展性是面向对象设计需要解决的核心问题之一。面向对象设计原则应运而生&#xff0c;这些原则你会在设计模式中找到它们的影子&#xff0c;也是设计模式的基础。往往判…

HTML大雪纷飞

目录 写在前面 HTML简介 完整代码 代码分析 运行结果 系列文章 写在后面 写在前面 小编又又又出现啦&#xff01;这次小编给大家带来大雪纷飞HTML版&#xff0c;不需要任何的环境&#xff0c;只要有一个浏览器&#xff0c;就可以随时随地下一场大雪哦&#xff01; HTM…

Diffusion Model, Stable Diffusion, Stable Diffusion XL 详解

文章目录 Diffusion Model生成模型DDPM概述向前扩散过程前向扩散的逐步过程前向扩散的整体过程 反向去噪过程网络结构训练和推理过程训练过程推理过程优化目标 详细数学推导数学基础向前扩散过程反向去噪过程 Stable Diffusion组成结构运行流程网络结构变分自编码器 (VAE)文本编…

富港银行 邀请码 兑换码 优惠码 分享

首次记得一定要扫码注册&#xff0c;扫码注册开户费50美金&#xff0c;每笔26美金手续费&#xff0c;目前能接收CBI银行资金的有&#xff1a;工行、交通、中行&#xff0c;请知悉 cbi帐户管理费&#xff1a;10美元/月&#xff0c;余额>500美元&#xff0c;1美元/月/&#x…

521源码-免费源码下载-免费网络教程如何在PHP中实现跳转并携带POST数据

PHP是一种流行的服务器端脚本语言&#xff0c;用于构建动态的Web应用程序和网站。在PHP中&#xff0c;经常需要进行页面跳转以及跨页面传输数据。本文将讨论如何在PHP中实现跳转并携带POST数据。 要理解如何在PHP中跳转并携带POST数据&#xff0c;首先需要了解HTTP请求是如何工…

Windows Presentation Foundation(WPF)要点总结

Windows Presentation Foundation&#xff08;WPF&#xff09;是微软推出的一种用于构建Windows桌面应用程序的框架。自从WPF在.NET Framework 3.0中引入以来&#xff0c;它以其强大的功能和灵活性&#xff0c;逐渐成为开发人员构建现代、富用户界面应用程序的首选。本文将概述…

在vue中实现下载文件功能

实际操作为&#xff0c;在表格中 我们可以获取到文件的id&#xff0c;通过插槽就可以实现 <template #default"scope"><el-button type"text" click"handleDown(scope.row)"><span>下载</span></el-button> </…

数组基础-笔记

数组是非常基础的数据结构&#xff0c;实现运用和理解是两回事 数组是存放在连续内存空间上的相同类型的数据的集合 可以方便的通过下表索引的方式获取到下标下对应的数据。 举一个字符数组的例子&#xff1a; 注意两点&#xff1a; 数组下标从0开始 数组内存空间的地址是连…

Python的selenium爬取

1.selenium 1.1.前言 使用python的requests模块还是存在很大的局限性&#xff0c;例如&#xff1a;只发一次请求&#xff1b;针对ajax动态加载的网页则无法获取数据等等问题。特此&#xff0c;本章节将通过selenium模拟浏览器来完成更高级的爬虫抓取任务。 1.2.什么是seleniu…

运维开发详解

运维开发&#xff0c;简单来说&#xff0c;就是维护和优化计算机系统、网络以及软件应用正常运行的工作&#xff0c;同时通过编写代码来自动化这些维护任务&#xff0c;提高效率。想象一下&#xff0c;运维就像是照顾一盆植物&#xff0c;你要浇水、施肥、修剪&#xff0c;保证…

Redhat7.4部署MySQL-5.7.17搭建双主互为主从

一、准备工作 需要先准备已经搭建好的两台数据库&#xff0c;并且保证服务器之间网络是通的&#xff0c;3306端口可以相互访问。 二、修改两台数据库my.cnf 配置文件&#xff0c;将下列内容添加进去&#xff0c;放在 [mysqld] 下 我们暂定两台服务器为A服务和B服务&#xff…

【音视频基础概念】颜色与图像

文章目录 前言一、三原色不同三原色的概念三原色的作用 二、颜色空间颜色空间是什么颜色空间的作用常见颜色空间示例灰度图像是什么灰度图像的作用灰度图像的技术细节示例 总结 前言 在当今数字媒体时代&#xff0c;音视频技术在我们的日常生活中占据了重要位置。无论是观看电…

线代与图形学的暧昧二三事

A Swift and Brutal Introduction to Linear Algebra 计算机图形学依赖于线性代数、微积分、统计...物理方面涉及到光学&#xff08;波动光学&#xff1a;不再假设光是直线传播&#xff0c;作为一种光波与物体表面材质进行作用接触&#xff0c;如何生成不同的外观&#xff09;…

npm build报错Cannot find module ‘webpack‘解决方法

目录 一、问题描述二、问题原因三、解决方法 一、问题描述 npm build 报错&#xff1a; Error: Cannot find module webpackRequire stack:- D:\Workspaces\WebstormProjects\yy-cloud\ruoyi-ui\node_modules\compression-webpack-plugin\dist\index.js- D:\Workspaces\Websto…

Xshell 使用

Xshell 使用 ①xshell 安装包 ②xshell 卸载 ③xshell 同时控制多窗口 ①xshell 安装包 Xshell 7 破解版 ②xshell 卸载 第一步: 打开控制面板卸载xshell 第二步: win+R,输入regedit,打开注册表,删除xshell相关注册信息 注册表目录: 在下面两个目录中查找xshell相关…