微服务01-Eureka Ribbon

微服务

我的个人地址

微服务是一种架构风格,旨在将单一应用程序拆分为一组小型、独立部署的服务,每个服务都围绕特定的业务功能进行构建。这些服务 之间通过轻量级的通信机制互相通信,比如使用HTTP协议或消息队列。微服务架构提供了灵活性和可伸缩性,使团队能够独立开发、部署和扩展每个服务,从而提高整体应用程序的可维护性和可靠性。

提供者与消费者:

服务提供者:业务中被调用的微服务 暴露接口出去的

务消费者:业务中调用其他微服务的服务

一个服务既可以是提供者,也可以是消费者。

Eureka 注册中心

服务拆分后 需要远程调用其他微服务,消费者无法获取具体的地址信息,面对多个服务无法选择,单独服务的状态例如宕机或者激活无法得得知道

Eureka的作用:

Eureka-server注册中心

负责记录服务提供者以及消费者的信息,服务会每隔30s发一次心跳,确保状态。

每个服务启动的时候会注册自己的信息 EurekaServer会记录下来,消费者根据服务名拉取信息

Eureka-client客户机

根据服务的类型分为消费者和提供者

消费者会在注册中心拉取提供者的信息,通过负载均衡算法去选择用哪一个。

消费者如何感知提供者的状态:提供者会每隔30秒发一次心跳,保证状态

搭建Eureka注册中心

引入依赖

使用SpringCloud引用依赖 需要版本一致 尽量网上cv

需要配置yml 里的url地址端口 还有Eureka的本身名称以及服务地址 以及@EnableEurekaServer启动服务

配置完注册中心配置服务注册

引入客户端依赖 配置yml 完成服务注册

这个直接百度即可

Eureka消费者拉取服务:

@Bean

注册RestTemplate 用于发起请求 利用服务名去发起请求

使用@LoadBalanced 用Ribbon来做负载均衡

负载均衡:

负载均衡就是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁碟驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。

轮询【默认】

随机

加权

重试

最小链接 这个最好是自己去看相关的内容

Ribbon-负载均衡原理

这个要去看源码 Ribbon主要是Irule这个接口来实现负载均衡的 他的子接口实现类有很多的规则 如 默认简单轮询 过滤筛选轮询 权重 重试机制 随机机制 Ribbon捕获客户端的http信息 拿到url 拿到主机名服务名 然后去Eureka拉取服务注册的信息 拿到信息后 由ribbon通过轮询实现负载均衡。

自定义方式:1.代码实现 定义一个@Bean 返回一个新的规则

2.配置文件方式 【个人觉得麻烦】

Ribbon-饥饿加载:

ribbon默认采用懒加载,tomcat启动时不加载,第一次访问才去创建负载均衡的客户机,再去拉取。 这样时间长

如果感觉第一次耗时长,可以开启饥饿加载。通过yml去配置。可以提升速度

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

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

相关文章

CS 下载安装详解

目录 CS简介: CS下载地址: CS的安装: CS简介: CS为目前渗透中常用的一款工具,它的强大在于控制windows木马,CS主要控制windows木马。 CS下载地址: 链接:https://pan.baidu.com/…

WordPress Country State City Dropdown CF7插件 SQL注入漏洞复现(CVE-2024-3495)

0x01 产品简介 Country State City Dropdown CF7插件是一个功能强大、易于使用的WordPress插件,它为用户在联系表单中提供国家、州/省和城市的三级下拉菜单功能,帮助用户更准确地填写地区信息。同时,插件的团队和支持也非常出色,为用户提供高质量的服务。 0x02 漏洞概述 …

内存分配算法

一、实验目的: 实验目的: 通过编写一个内存分配模拟程序,实现首次适应算法(First Fit)、循环首次适应算法(Next Fit)、最佳适应算法(Best Fit)和最差适应算法&#xff08…

【Pytorch】【MacOS】14.m1芯片使用mps进行深度模型训练

读者要先自行安装python以及anaconda,并且配置pytorch环境 第一步 测试环境 import torch # 判断macOS的版本是否支持 print(torch.backends.mps.is_available()) # 判断mps是否可用 print(torch.backends.mps.is_built())如果第一个语句为False,说明当前…

Python简介

Python简介 1. Python定义 Python 是一种简单易学并且结合了解释性、编译性、互动性和面向对象的脚本语言。Python提供了高级数据结构,它的语法和动态类型以及解释性使它成为广大开发者的首选编程语言。 Python 是解释型语言: 开发过程中没有了编译这个环…

AIGC-常见图像质量评估MSE、PSNR、SSIM、LPIPS、FID、CSFD,余弦相似度----理论+代码

持续更新和补充中…多多交流! 参考: 图像评价指标PNSR和SSIM 函数 structural_similarity 图片相似度计算方法总结 MSE和PSNR MSE: M S E 1 m n ∑ i 0 m − 1 ∑ j 0 n − 1 [ I ( i , j ) − K ( i , j ) ] 2 MSE\frac{1}{mn}\sum_{i0}^{m-1}\sum_{j0}^{n-1}[…

汽车展厅应用客流统计,洞察客户规律,完成热门车型分析

在汽车展厅中,客流统计正逐渐成为一项不可或缺的重要工具,它帮助我们洞察客户规律,从而能够更好地完成热门车型分析。 一、客流统计-客户画像分析 客流统计下的客户画像构建为我们提供了深入了解客户的途径。通过对进入展厅的人群进行细致分析…

Flutter 中的 InkWell 小部件:全面指南

Flutter 中的 InkWell 小部件:全面指南 在 Flutter 中,InkWell 是一个用于添加可交互元素的 widget,它能够响应用户的点击操作,并且提供了墨水涟漪动画效果,这是 Material Design 中的一个标准反馈机制。InkWell 可以…

(五)Python3 接口自动化测试,pytest的使用

(五)Python3 接口自动化测试,pytest的使用 简介pytest是python的单元测试框架,用于单元测试,集成测试,功能测试。 它提供了丰富的功能和灵活的用法,使得编写和运行测试变得简单而高效。 pytest框架优点: 1)简单易用:语法简洁清晰,编写测试用例友好,几分钟内上手。 …

2007NOIP普及组真题 4. Hanoi双塔问题

线上OJ: 【07NOIP普及组】Hanoi双塔问题 题解分析 1、本题考的其实不是Hanoi塔,而是瞪眼法(数学推导)和高精度。 2、本题不需要输出移动的顺序,只是输出移动的次数即可。 核心思想: 1、从上述图中&#x…

常见算法(3)

1.Arrays 它是一个工具类,主要掌握的其中一个方法是srot(数组,排序规则)。 o1-o2是升序排列,o2-o1是降序排列。 package test02; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparat…

LeetCode 每日一题 2024/5/20-2024/5/26

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 5/20 1542. 找出最长的超赞子字符串5/21 2769. 找出最大的可达成数字5/22 2225. 找出输掉零场或一场比赛的玩家5/23 2831. 找出最长等值子数组5/24 1673. 找出最具竞争力的…

PostgreSQL用户与角色简述

简述 PostgreSQL通过角色(role)来控制数据库的访问权限。角色可以拥有数据库对象(比如表、函数等),并允许将这些对象的权限授予其他角色,从而实现对象访问的控制。角色(role)包含了…

19、设计模式之命令模式

命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对…

虹科Pico汽车示波器 | 免拆诊断案例 | 2012 款雪佛兰科鲁兹车偶尔多个故障灯异常点亮

故障现象 一辆2012款雪佛兰科鲁兹车,搭载1.8 L 发动机,累计行驶里程约为9.6万km。该车组合仪表上的发动机故障灯、ABS故障灯及动力转向故障灯偶尔异常点亮,同时发动机转速表和发动机冷却液温度表的指针会突然归零,严重时发动机无…

独享IP是原生IP吗?二者有何区别?

原生IP: 原生IP是指由Internet服务提供商(ISP)直接分配给用户的IP地址,这些IP地址通常反映了用户的实际地理位置和网络连接。原生IP是用户在其所在地区或国家使用的真实IP地址,与用户的物理位置直接相关。在跨境电商中…

C++ 学习 关于无符号数的计算

C 学习 关于含无符号数表达式的计算 🌈 哈喽,失踪人口回归 这篇blog 来源于C 的学习 当然C语言同样适用 C Primer 的笔记 🌿让我们从一个问题开始 如果你回答对了 那么就可以跳过了~ 对于下面的问题 //读程序写结果。 unsigned u 10,u2 42…

牛客NC367 第K个n的排列【困难 dfs,全排列问题 Java/Go/PHP/C++】

题目 题目链接: https://www.nowcoder.com/practice/1595969179464e4c940a90b36abb3c54 思路 全排列问题本文提供的答案在力扣同一道题60. 排列序列,超时了但是截止文章发表日,牛客上是能通过全部测试用例的Java代码 import java.util.*;pu…

Redis - 优惠卷秒杀

场景分析 为了避免对数据库造成压力,我们在新增优惠卷的时候,可以将优惠卷的信息储存在Redis中,这样用户抢购的时候访问优惠卷信息,通过Redis读取信息。 抢购流程: 业务分析 既然在新增优惠卷的时候,我…

【c语言】了解指针,爱上指针(5)

了解指针,爱上指针(5) 回调函数qsort函数冒泡排序模拟实现qsort函数 回调函数 回调函数:就是一个通过函数指针调用的函数。 把函数的指针作为参数传给另一个函数,当这个指针被用来调用指向的函数时,此时被…