springcloud微服务实战<1>

单机结构 我只需要一台服务器完成我项目的部署(单体应用),开发部署简单  
他就会有单点问题, 因为此时只有一台机器,一旦这个机器挂了,我用户就没有办法使用应用的服务了
这个就是单点问题

在这里插入图片描述

针对我们的项目进行改造,升级,我们可以从部署层面来提高我们的负载能力 
我们想的是可以加机器####### 
现在用户要发起一个请求,由2个机器共同来承担我们的响应 分别为Mysql 和tomcat
整体分布在不同的机器上面,分布式更多的讲究的是部署层面,只要你部署超过1台, 呢么我们就称为分布式系统

在这里插入图片描述

tomcat 这台机器只有一个节点  一旦他挂了  就不能再访问这个服务
集群的概念就是吧相同功能再部署一份
当我们访问 www.jd.com 有一个dns 的解析器,就是把你的域名进行解析成具体的ip
用户访问 nginx,nginx 帮我们做 负载均衡

在这里插入图片描述

我们做集群的时候 我们要做负载均衡
nginx 仅仅做将请求进行转发  很快的吧请求转发出去分布式 只要部署超过2台就是分布式
集群复制 一份  通常集群要配置我们的Lb的 类似于nginx################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
云原生 可能以后会变成云原生架构  比如说mysql  阿里云有mysql 
什么分库分表 全部搞定了  所有的部署层面的东西全部交给阿里云了
我们运维的高可用阿 被攻击阿  阿里云都提供了一套解决方案了
###  微服务的调用 我们可以通过restTemplate发起调用, 这种方案有什么问题

在这里插入图片描述

比如说 我商品调用----->order
我的ip:port 是写死的我要写端口 地址 
我订单微服务需要维护一份商品微服务的地址
商品服务修改地址之后  我订单服务是无法感知的

在这里插入图片描述

我做集群之后 我调用的时候 我要写一个Lb的功能
我还要感知上线 或者下线的处理远程调用我们会发现一些问题  我们微服务springcloud 提供了注册中心
有一个服务的注册和发现 对于我们的微服务 有一个url 的管理  以及服务的动态感知
服务启动的时候 会把自己的信息注册进注册中心  进行服务注册

在这里插入图片描述

服务列表的拉取
发起调用的时候  我会进行服务的拉取  服务的续约
我会拉取注册中心的服务到本地 然后再发送远程rpc 进行调用
我们将url 的管理放在nacos 中了
加一台机器,减少一台机器  我们通过基于服务心跳来感知 服务的是否健康 来证明是否存活
服务注册和发现的功能  读取本地缓存列表 来执行网络调用
################>>>>>>>>>>>>>>>>
基于ribon 来做负载均衡  管理Url的 也可以实现服务注册和发现的功能 
也可以实现动态感知  动态感知是依赖我们心跳机制来实现的nacos  ribbon 
常见的注册中心  nacos eureka consul
nacos 提供发现配置管理微服务   php 也可以连接到nacos,go也可以连接到nacos上
可以实现不同语言之间的相互调用
这样可以发挥不同语言的优势 比如说 go处理高并发能力强一些远程调用读取的是本地列表 并不是读取注册中心的nacos定期将信息拉取到本地  调用是读取本地的缓存  
我调用是读取本地的缓存 然后再发起的调用 你加一台机器 或者你减少一台机器  这个列表就不会更新  
这个时候就会调用到她已经下线的服务 就会报错
以及新的机器没有办法感知到
##################  nacos 下次拉取的时候就会更新到的
nacos 可以做我们的配置中心 还可以做我们的服务中心

在这里插入图片描述

###我希望从nacos 中获取服务  我们restTemplate 上面加@LoadBanace注解 实现我们的负载均衡策略
# 默认我们可以通过Irule 接口来进行修改

在这里插入图片描述
在这里插入图片描述

这样我们访问到2个就不一样了  我们基于服务来访问
负载均衡的概念  服务端负载均衡和客户端负载均衡

在这里插入图片描述

nginx --->服务端负载均衡
openfeing 客户端负载均衡 
springcloud中用的是客户端负载均衡
我们可以用ribbon来做负载均衡

在这里插入图片描述

我们用ribbon做负载均衡,
我们这样就可以实现负载均衡了
加上@LoadBanance  我们基于resttemplate 和服务发起调用
@LoadBance 帮我们实现负载均衡   基于服务名 

在这里插入图片描述

# 加上@LoadBananced 我们就可以基于服务名发起调用了,然后通过restTeplate发送请求  ribon的组件 .有负载均衡算法

在这里插入图片描述

@ LoadBanance才可以帮我们实现负载均衡 默认轮询算法
我们还有权重 把更多的请求分配给性能好的   负载均衡的使用

在这里插入图片描述

我们用到feign的远程调用插件  帮我们实现远程调用  感觉就像调用本地方法一样
1.添加openFeign的依赖

在这里插入图片描述

  我们通过远程调用就可以了调用远程方法感觉就像调用本地方法一样
feign的工作原理  形成一个代理类,创建一个代理类放入到spring容器中,@Autowaird 注入
代理方法中执行 就是基于ribbon 替换 通过restteplate实现远程调用

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

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

相关文章

Qt/C++ 多线程同步机制详解及应用

在多线程编程中,线程之间共享资源可能会导致数据竞争和不一致的问题。因此,采用同步机制确保线程安全至关重要。在Qt/C中,常见的同步机制有:互斥锁(QMutex、std::mutex)、信号量(QSemaphore&…

多模态大模型MiniCPM-V技术学习

目前性价比最高的多模态模型 Minicpm-V-2.6参数8B,int4版本推理显存仅7GB,并且在幻觉数据集上效果好于其他模型,测试下来效果非常好,官方演示里面还给出了手机上端侧运行的图片和视频推理示例 p.s.Qwen2-VL和Minicpm-V-2.6头对头…

【操作系统】02.深入理解操作系统

一、操作系统的定位 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括操作系统内核和其他程序。 由上述的宏观图其实我们就知道:操作系统是一款进行软硬件资源管理的软件。 二、设计操作系统的目的 操…

众数信科AI智能体政务服务解决方案——寻知智能笔录系统

政务服务解决方案 寻知智能笔录方案 融合民警口供录入与笔录生成需求 2分钟内生成笔录并提醒错漏 助办案人员二次询问 提升笔录质量和效率 寻知智能笔录系统 众数信科AI智能体 产品亮点 分析、理解行业知识和校验规则 AI实时提醒用户文书需注意部分 全文校验格式、内…

C一语言—动态内存管理

目录 一、为什么要有动态内存管理 二、malloc和free (2.1)malloc (2.2)free 三、calloc和realloc (3.1)calloc (3.2)realloc 四、常见的动态内存的错误(举例均为错…

springboot每次都需要重设密码?明明在springboot的配置中设置了密码

第一步:查看当前的密码是什么? 打开redis-cli.exe,输入config get requirepass,查看当前的密码是什么? 接着,修改redis的配置文件,找到redis的安装目录,找到相关的conf文件&#x…

Amazon Bedrock 模型微调实践(二):数据准备篇

本博客内容翻译自作者于 2024 年 9 月在亚马逊云科技开发者社区发表的同名博客: “Mastering Amazon Bedrock Custom Models Fine-tuning (Part 2): Data Preparation for Fine-tuning” 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、…

Unity3D入门(一) : 第一个Unity3D项目,实现矩形自动旋转,并导出到Android运行

1. Unity3D介绍 Unity3D是虚拟现实行业中,使用率较高的一款软件。 它有着强大的功能,是让玩家轻松创建三维视频游戏、建筑可视化、实时三维动画等互动内容的多平台、综合型 虚拟现实开发工具。是一个全面整合的专业引擎。 2. Unity安装 官网 : Unity…

1042 Shuffling Machine,1050 String Subtractio

1042 Shuffling Machine 普通模拟即可&#xff0c;注意每一次交换牌的时候需要更新start数组&#xff08;当前卡牌的顺序&#xff09;&#xff0c;并且清空ans数组&#xff08;交换后的卡牌顺序&#xff09; #include<bits/stdc.h> using namespace std; const int N 5…

hal 正点原子 exti外部中断

1.这个是 f4/f7/h7 用于配置外部中断的寄存器 需要先使能时钟 2.这个是f1用于配置外部中断的配置器&#xff0c;也是需要先配置时钟&#xff0c;但是区别在于除了f1 &#xff0c;别的系列都用的SYSCFG 3.这个是外部中断线io和怎么exti对应的 4.这两张图 都是exti和io的对应关系…

QFramework v1.0 使用指南 更新篇:20240919. 新增 BindableDictionary

虽然笔者目前还不知道 BindableDictionary 能用在什么使用场景下&#xff0c;但是还是应童鞋的要求实现了 BindableDictionary。 基本使用如下: using System.Linq; using UnityEngine;namespace QFramework.Example {public class BindableDictionaryExample : MonoBehaviou…

【设计模式】UML类图

目录 前言 一、类图概述 二、类图的作用 三、类图表示法 四、类之间关系的表示方法 1. 关联关系 1.1 单向关联 1.2 双向关联 1.3 自关联 2. 聚合关系 3. 组合关系 4. 依赖关系 5. 继承关系 6. 实现关系 总结 前言 统一建模语言&#xff08; Unified Modeling La…

ClickHouse 的第一篇 研究论文:如何让现代数据分析数据库实现超高速性能?

本文字数&#xff1a;3245&#xff1b;估计阅读时间&#xff1a;9 分钟 作者&#xff1a;ClickHouse Team 本文在公众号【ClickHouseInc】首发 我们非常激动地宣布&#xff0c;第一篇关于 ClickHouse 的研究论文【chrome-extension://mhnlakgilnojmhinhkckjpncpbhabphi/pages/p…

基于ACMEv2协议的免费SSL证书申请-支持Let‘s Encrypt/Google/ZeroSSL

项目&#xff1a;https://github.com/cook-code-jazor/acmex 非开源&#xff0c;使用webui管理证书的申请&#xff0c;所有文件本地化存储&#xff0c;支持windows/linux/osx。 证书申请直连ACMEv2服务商&#xff0c;没有任何中间接口&#xff0c;支持Lets Encrypt/Google/Ze…

Inf-MLLM:单个 4090D 实现 4M Token 长序列问答

一、背景 本文中我们简单介绍一个新的解决长序列推理效率的新方案 Inf-MLLM&#xff0c;也是基于 Token 稀疏化。有关 Token 稀疏化的方案通常可以从如下几个方面了解&#xff1a; 怎么识别关键 Token&#xff0c;包括静态识别或动态识别&#xff0c;比如 Streaming LLM 里 At…

从观《中国数据库前世今生》纪录片谈起:云数据库的未来发展与挑战

从观《中国数据库前世今生》纪录片谈起&#xff1a;云数据库的未来发展与挑战 前言 作为一名资深程序员&#xff0c;我在职业生涯中始终密切关注数据库技术的发展动态。近日&#xff0c;我观看了《中国数据库前世今生》这部纪录片&#xff0c;深受触动。这部纪录片不仅记录了…

Ubuntu 安装和使用 Fcitx 中文输入法;截图软件flameshot

一、Ubuntu 安装和使用 Fcitx 中文输入法 在 Ubuntu 上安装和使用 Fcitx 输入法框架是一个常见的选择&#xff0c;特别是对于需要中文输入的用户。以下是详细的步骤来安装和配置 Fcitx 输入法&#xff1a; 1. 安装 Fcitx 和相关输入法 首先&#xff0c;更新你的包列表并安装…

经济下行,这个AI美女短视频带货副业赛道,为什么不来试一试?

经济下行&#xff0c;普通人应该尽早认清一个事实&#xff0c;没有一技之长&#xff0c;没有核心竞争力&#xff0c;即便是打工皇帝&#xff0c;年入百万也只是浮云。 一定要保证主业的稳定&#xff0c;再探索新的机会&#xff0c;要多从”1-10"&#xff0c;而不是反复”…

昇思量子计算系列教程-Grover搜索算法

基于MindSpore Quantum的Grover搜索算法 概述 如果你听过量子计算&#xff0c;那么你一定听说过Grover搜索算法。1996年&#xff0c;Lov Grover [1] 提出了Grover搜索算法&#xff0c;它是一种利用量子状态的叠加性进行并行计算并实现加速的算法。Grover搜索算法被公认为是继…

《让手机秒变超级电脑!ToDesk云电脑、易腾云、青椒云移动端评测》

前言 科技发展到如今2024年&#xff0c;可以说每一年都在发生翻天覆地的变化。而云上这个词时常都被大家提起&#xff0c;从个人设备连接到云端在如今在也不是梦了。而云电脑这个市场近年来迅速发展&#xff0c;无需购买和维护额外的硬件就可以体验到电脑端顶配的性能和体验&am…