[Spring Cloud]:Study Notes·壹

news2024/11/16 0:01:52

文章目录

  • 摘要
  • 1 认识微服务
    • 1.1 单体架构与分布式架构
    • 1.2 分布式架构与微服务
    • 1.3 微服务架构
  • 2 nacos
    • 2.1 什么是nacos
    • 2.2 nacos使用
      • 2.2.1 nacos使用逻辑
      • 2.2.2 启动下载好的nacos
      • 2.2.3 引入依赖
      • 2.2.4 各注册服务中配置nacos相关信息
      • 2.2.5 测试nacos注册成功
  • 3 Ribbon负载均衡
    • 3.1 Ribbon负载均衡使用引入
    • 3.2 负载均衡原理
    • 3.3 源码跟踪

摘要

摘要:分布式;微服务;springcloud;nacos;ribbon;RPC

1 认识微服务

1.1 单体架构与分布式架构

架构方式解释优点缺点
单体架构将业务所有功能集中在一个项目中开发,打成一个包部署。1、架构简单;2、 部署成本低耦合度高(维护困难、升级困难)
分布式架构根据业务功能对系统拆分,每个业务功能模块作为独立项目开发,称为一个服务。1、降低服务耦合;2、有利于服务升级和拓展服务调用关系错综复杂

1.2 分布式架构与微服务

微服务是实现分布式架构的一种思想

1.3 微服务架构

特征解释
单一职责微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
自治团队独立、技术独立、数据独立,独立部署和交付
面向服务服务提供统一标准的接口,与语言和技术无关
隔离性强服务调用做好隔离、容错、降级,避免出现级联问题

在这里插入图片描述

2 nacos

2.1 什么是nacos

Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富。

2.2 nacos使用

2.2.1 nacos使用逻辑

  • ① 启动下载好的nacos
  • ② 引入依赖
  • ③ 在各个服务中配置服务名,相关注册信息

2.2.2 启动下载好的nacos

本地windows启动

startup.cmd -m standalone

2.2.3 引入依赖

SpringCloudAlibaba依赖,一般引入父工程

  <!--SpringCloudAlibaba依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.6.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

在需要注册到nacos上的服务引入nacos-discovery依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2.2.4 各注册服务中配置nacos相关信息

spring:
  application:
    name: orderservice #注册服务名,会有集群环境
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos地址,默认用户名密码nacos,nacos
      

2.2.5 测试nacos注册成功

在这里插入图片描述

3 Ribbon负载均衡

3.1 Ribbon负载均衡使用引入

在RestTemplate上添加@LoadBalanced注解,实现负载均衡
在这里插入图片描述

3.2 负载均衡原理

在这里插入图片描述

  • 问题:我们发出的请求为http://userservice/user/1,为什么变成http://localhost:8081?

3.3 源码跟踪

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

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

相关文章

改进YOLO系列 | YOLOv5/v7 引入谷歌 Lion 优化器

论文地址:https://arxiv.org/pdf/2302.06675.pdf 代码地址:https://github.com/google/automl/tree/master/lion 我们提出了一种将算法发现作为程序搜索的方法,并将其应用于发现用于深度神经网络训练的优化算法。我们利用高效的搜索技术来探索一个无限且稀疏的程序空间。为了…

计算机视觉-语义分割: FCN DeepLab Unet

文章目录 1. 概要1.1 什么是语义分割1.2 语义分割作用1.3 全卷积网络1.4 反卷积1.5 上采样三种方式1.6 跳层结构 Skip Layer 2. FCN架构3. DeepLab-v13.1 改进点3.2 空洞卷积(Atrous/Dilated convolution) 4. U-Net参考 1. 概要 1.1 什么是语义分割 从像素水平上理解、识别图…

微信小程序——Echarts使用(保姆式教程)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

从入门到精通!MATLAB基础教程及常用工具箱介绍

文章目录 基础介绍MATLAB窗口介绍MATLAB基本语法变量和数组控制流语句函数的定义和调用绘图MATLAB常用工具箱统计工具箱&#xff08;Statistics Toolbox)控制系统工具箱&#xff08;Control System Toolbox&#xff09;信号处理工具箱&#xff08;Signal Processing Toolbox&am…

搭建TiDB负载均衡环境-HAproxy+KeepAlived实践

作者&#xff1a; 我是咖啡哥 原文来源&#xff1a; https://tidb.net/blog/8e8cca1d 前言 HAProxy 提供 TCP 协议下的负载均衡能力&#xff0c;TiDB 客户端通过连接 HAProxy 提供的浮动 IP 即可对数据进行操作&#xff0c;实现 TiDB Server 层的负载均衡。同时&#xff0c…

SOFA Weekly|SOFARPC 5.10.1 版本发布、Layotto 社区会议回顾与预告、社区本周贡献

SOFA WEEKLY | 每周精选 筛选每周精华问答&#xff0c;同步开源进展 欢迎留言互动&#xff5e; SOFAStack&#xff08;Scalable Open Financial Architecture Stack&#xff09;是蚂蚁集团自主研发的金融级云原生架构&#xff0c;包含了构建金融级云原生架构所需的各个组件&am…

pytorch搭建AlexNet网络实现花分类

pytorch搭建AlexNet网络实现花分类 一、AlexNet网络概述分析 二、数据集准备下载划分训练集和测试集 三、代码model.pytrain.pypredict.py 一、AlexNet网络 概述 使用Dropout的方式在网络正向传播过程中随机失活一部分神经元&#xff0c;以减少过拟合 分析 对其中的卷积层、…

SORT+yolov5多目标跟踪

SORT 是一种简单的在线实时多目标跟踪算法。要点为&#xff1a; &#xff08;1&#xff09;以 IoU 作为前后帧间目标关系度量指标&#xff1b; &#xff08;2&#xff09;利用卡尔曼滤波器预测当前位置&#xff1b; &#xff08;3&#xff09;通过匈牙利算法关联检测框到目标&a…

thingsboard安装使用教程

1、安装tb-postgres tb-postgres是ThingsBoard与PostgreSQL数据库的单实例。 拉取tb-postgres镜像 docker pull thingsboard/tb-postgres 创建tb-postgres容器 docker run -itd --name tb-postgres -p 9090:9090 -p 1883:1883 -p 5683:5683/udp -p 5685:5685/udp -p 5432:…

如何使用银行四要素API接口提高用户身份认证的安全性

银行四要素是指银行在开户、转账等行为中对客户身份的核实&#xff0c;包括姓名、身份证号、银行卡号和手机号码。为了满足客户实名认证的需求&#xff0c;我们开发了相应的API接口&#xff0c;方便第三方开发人员进行身份核实的操作。 API接口名称&#xff1a;银行四要素验证…

Grafana图表配置快速入门

1、Grafana图表配置快速入门 前面我们使用 Prometheus Grafana 实现了一个简单的 CPU 使用率变化图&#xff0c;但是这个图还有许多缺陷&#xff0c;例如&#xff1a; 左边栏的数值太小了无法调整&#xff0c;下面的图标信息无法定制化等等。 其实 Grafana 的功能是非常强大…

平面电磁波的反射与折射,极化滤波作用

目录 引言 反射定律和折射定律 反射系数和折射系数 平面电磁波在理想介质分界面上的全反射和全折射 全反射 全折射 极化滤波作用 平面电磁波在良导体上的反射与折射 引言 再复杂的电磁波我们都可以看作是很多平面电磁波的叠加 我们在前面介绍的时候&#xff0c;我们认…

【Android】使用Epoxy 注解处理器,自动生成大量的 Model 类,简化复杂的 RecyclerView 开发流程

Epoxy 是一个 Android 库&#xff0c;它可以帮助开发者更轻松地构建复杂的 RecyclerView。其中&#xff0c;ImageButtonModel_ 是 Epoxy 自动生成的一个 Model 类&#xff0c;用于表示一个带有图像的按钮。 下面是使用注解器自动生成代码截图&#xff1a; ImageButtonModel_…

《C++ Primer》--学习2

字符串&#xff0c;向量和数组 标准库类型 string 直接拷贝和拷贝初始化 如果使用等号&#xff08;&#xff09;初始化一个变量&#xff0c;实际上执行的是拷贝初始化&#xff0c;编译器把等号右侧的初始值拷贝到新创建的对象中去。如果不使用等号&#xff0c;则执行的是直接…

css定位装饰

目录 1、垂直对齐方式 2、光标类型 3、边框圆角 4、overflow溢出部分显示效果 5、元素本身隐藏 6、案例 元素整体透明度 1、垂直对齐方式 浏览器在处理行内标签和行内块标签时&#xff0c;默认按照文字去解析。 浏览器文字类型元素排版中存在用于对齐的基线。 图片和文…

Spring Security --- Thymeleaf 中 Spring Security 的使用

目录 初步 获取属性 权限判断 初步 Spring Security可以在一些视图技术中进行控制显示效果例如&#xff1a;JSP或Thymeleaf在非前后端分离且使用Spring Boot的项目中多使用Thymeleaf作为视图展示技术Thymeleaf对Spring Security的支持都放在thymeleaf-extras-springsecurity…

gma 2.0.0a2 (2023.06.17) 更新日志

从本版本开始&#xff0c;gma 1.x 不再维护。一方面是由于精力和时间有限&#xff0c;另一方面由于 gma 2.x 与 1.x 相差巨大&#xff0c;同时维护两个相差巨大的版本较困难。   本版本 &#xff08;gma 2.0.0a2&#xff09;依旧为预览版&#xff0c;但内容已趋于稳定&#x…

2023年江西省赣州市职业院校技能大赛(中职组) 网络安全竞赛试题

2023年江西省赣州市职业院校技能大赛&#xff08;中职组&#xff09; 网络安全竞赛试题 三、竞赛任务书内容 &#xff08;一&#xff09;拓扑图 &#xff08;二&#xff09;A模块基础设施设置/安全加固&#xff08;200分&#xff09; 一、项目和任务描述&#xff1a; 假定你…

探索 StableDiffusion:生成高质量图片学习及应用

本文主要介绍了 StableDiffusion在图片生成上的内容&#xff0c;然后详细说明了StableDiffusion 的主要术语和参数&#xff0c;并探讨了如何使用 prompt 和高级技巧&#xff08;如图像修复、训练自定义模型和图像编辑&#xff09;来生成高质量的图片。 介绍StableDiffusion ▐ …

详解Python 使用 selenium 进行自动化测试或者协助日常工作

这篇文章主要介绍了Python 使用 selenium 进行自动化测试 或者协助日常工作,我们可以使用 selenium来帮助我们进行自动化的 Web 测试&#xff0c;也可以通过 selenium 操作浏览器做一些重复的&#xff0c;简单的事情&#xff0c;来减轻我们的工作 Python 使用 selenium 进行自动…