【学习笔记】Spring Cloud

news2024/11/26 15:00:08

1、Spring Cloud简介:

成熟的微服务框架,定位为开发人员提供工具,以快速构建分布式系统

2、Spring Cloud核心组件

服务注册中心:Spring Cloud Netflix Eureka,会启动一个Eureka Serve,把其他的组件作为Eureka Client来注册上去,这是整体的一个思路
服务调用方式:REST API、Feign、Ribbon
服务网关:Spring Cloud Netflix Zuul
熔断器:Spring Cloud Netflix Hystrix(有了这个流量大的时候也可以征程运转)

3、项目整体设计

  • 项目介绍
  • 接口设计
  • 数据流向
  • 表设计

4、Spring Cloud的每个模块实际上都是一个Spring Boot项目

5、Eureka的作用与架构

在这里插入图片描述
对Eureka的认知,如果服务长时间没有发送请求给Eureka,Eureka会认为该服务不再可用,将其除名,服务状态并不是一成不变。

6、引入Eureka:

服务端:
(1)引入依赖
父项目(标识spring cloud的版本依赖)和子项目(eureka)都要加依赖
(2)配置文件:端口号等等
(3)启动注解:整个Spring boot就拥有了作为Eureka Server的能力

@SpringBootApplication
@EnableEurekaServer
public class CourseServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(CourseServiceApplication.class, args);
    }
}

客户端:
注意:使用spring-cloud-starter-netflix-eureka-client这个依赖就可以不用在启动类写@EnableEurekaClient注解

  • 引入依赖
  • 配置文件

== 注意:使用spring-cloud-starter-netflix-eureka-client这个依赖就可以不用在启动类写@EnableEurekaClient注解==

7、服务整合:Feign

  • 引入依赖
  • 配置文件
  • 加入注解:@EnableFeignClients
    有了这个注解,就有了调用Feign的能力

8、负载均衡策略:

  • RandomRule 表示随机策略
  • RoundRobinRule 表示轮询策略
  • ResponseTimeWeightedRule加权,根据每一个Server的平均响应时间动态加权
  • 配置不同的负载均衡方式:
    Ribbon.NFLoadBalancerRuleClassName

9、网关Zuul:

网关Zuul:

  • 身份校验
  • 安全处理

集成Zuul:

  • 把自己注册到Eureka这个注册中心
  • 引入依赖
  • 配置路由地址

利用网关实现过滤器

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

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

相关文章

Git分布式版本控制系统

Githttps://git-scm.com/ 1. Git简介 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone)&#xff…

梳理Retrofit的知识体系

作者:RainyJiang 在学习Retrofit后,由于它本身就是OKHttp的封装,面试中也经常会被一起问到;单纯的解析它的源码学习难免会有点无从下手,往往让人抓不住重点,学习效率并不是很高,本文从提出几个问…

我的创作纪念日 2048 AI 面试 Java GoLang

《突击面试》 《面试1v1》 机缘 提示:可以和大家分享最初成为创作者的初心 例如: 实战项目中的经验分享日常学习过程中的记录通过文章进行技术交流… 收获 提示:在创作的过程中都有哪些收获 例如: 获得了多少粉丝的关注获得…

VMware Workstation 11 安装教程

哈喽,大家好。今天一起学习的是VMware Workstation 11的安装,vm虚拟机是小编非常喜欢的生产力软件,小编之前发布的测试教程钧在vm上进行的实验。 VMware Workstation是一款功能强大的桌面虚拟计算机软件,它能够让用户在宿主机操作…

轻松搞定邮件营销!这些工具可以助你提升转化率

据可靠数据统计,邮件营销得投资回报比达1:44,他高性价比的特性在众多营销方式中脱颖而出。他促使企业能够以较低的成本,和客户建立联系并维持长期联系。邮件营销对企业来讲无疑是极佳的获客渠道和营销方式。 想要做好邮件营销通常…

【Java基础学习打卡04】计算机操作系统

目录 引言一、操作系统基本概念二、Windows操作系统三、进程与线程1.进程2.线程 四、CPU与内存总结 引言 了解操作系统基本概念,熟悉Windows操作系统,理解进程与线程概念,并知晓CPU与内存如何工作。 一、操作系统基本概念 计算机操作系统&a…

使用Scala集成开发环境

一、搭建Scala的IntelliJ IDEA开发环境 (一)启动IDEA (二)安装Scala插件 启动IDEA,在欢迎界面中选择Configure→Plugins命令 在上方的搜索框中搜索scala关键字 单击绿色的【Install】按钮,安装完毕&am…

Ubuntu20.04 + 3090 安装nvidia驱动,附加解决重启黑屏卡在 /dev/***: clean, **files,***blocks的问题

目录 准备禁用nouveau解决黑屏问题并安装驱动参考 准备 首先需要知道当前电脑/服务器的显卡型号,这个自行查找自己电脑配置 查找显卡对应的驱动版本 通过命令ubuntu-drivers devices查看当前设备所支持的驱动,带有recommended的驱动为推荐安装的版本 不…

【K8S 从0到1实战】Kubernetes一主多从部署实战指南

目录 前言前置准备安装虚拟机关闭防火墙禁用 SELinux关闭 Swap 分区时区设置和时间同步主机名和域名解析配置转发 IPv4 并让 iptables 看到桥接流量 Docker 安装cri-docker 安装Kubernetes 部署配置 Kubernetes 镜像源Kubernetes 组件安装Master 节点初始化Node 节点加入集群…

基于Ti_AWR2243级联板的发射端波束形成(相控阵)的实践

说明 Ti的级联板功能十分强大,用这块板子做TDM(时分)的发射以及TDM发射模式下的数据处理可能更为大家所熟知,但其实因为AWR2243芯片在每个发射链路上有6bit的移相器,再加上板子上有9个发射天线是排布在同一个水平线上的,所以也可以…

万物的算法日记|第二天

笔者自述: 一直有一个声音也一直能听到身边的大佬经常说,要把算法学习搞好,一定要重视平时的算法学习,虽然每天也在学算法,但是感觉自己一直在假装努力表面功夫骗了自己,没有规划好自己的算法学习和总结&am…

JavaSE进阶——玩转IO流

文章目录 前言一、File类介绍1、概念引入2、实际应用2.1 操作文件2.2 操作文件夹 二、IO流介绍三、字符流1、读文件1.1 一次读一个1.2 一次读多个,使用char数组去装 2、写文件2.1 一次写一个2.2 一次写完,使用字符数组 3、文件复制3.1 综合应用3.2 使用缓…

论文解读:ExamPle:用于预测植物小分泌肽的可解释的深度学习框架

ExamPle: explainable deep learning framework for the prediction of plant small secreted peptides 期刊:Bioinformatics 影响因子:6.931 中科院分区:小类数学与计算生物2区 出版日期:2023年3月10日 Github:https://gith…

Seata客户端的启动过程 学习记录

Seata客户端的启动过程 1.自动装配4个配置类 将在SpringBoot启动时往容器中添加4个类 1. 自动配置类 SeataAutoConfiguration SeataAutoConfiguration将会往容器中添加两个bean failureHandler 事务处理失败执行器globalTransactionScanner failureHandler failureHandle…

03 表达关系的术语

文章目录 表达关系的术语关联关联的语义表达(6点) 泛化细化(也称为实现)依赖例题 UML 基本关系的一般用法① 模型化简单依赖②模型化单继承③模型化结构关系例题 表达关系的术语 关联 定义:关联是类目之间的结构关系,描述了一组具有相同结构、相同语义…

【MySQL数据库一】MySQL数据库初体验

MySQL数据库初体验 1.数据库基本概念1.1 数据Data1.2 表1.3 数据库1.4 数据库管理系统1.5 数据库系统 2.数据库的发展3.主流的数据库介绍3.1 SQL Server(微软公司产品)3.2 Oracle (甲骨文公司产品)3.3 DB2(IBM公司产品…

安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【二】

安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【一】 前面分享了这篇帖子,很多友友希望更新下新机型的基带替换方法。今天对其中做一些补充说明。由于安卓机型跨版本幅度较大。有的机型从出厂安卓8有可能官方目前已经更新到安卓12 13等等。所以任何的教…

每天五分钟机器学习:如何确定梯度下降中的学习率?

本文重点 学习率是梯度下降算法中的一个重要参数,它控制着每次迭代中参数的更新幅度,因此学习率的大小直接影响着算法的收敛速度和精度。在实际应用中,如何选择合适的学习率是一个非常重要的问题。 手动调整法 最简单的方法是手动调整学习率。我们可以根据经验或者试错的…

sealos 五年磨一剑——云操作系统正式发布

这是计划的一部分 这是一个宏伟的计划,漫长且有趣。。。 2018 年的一个晚上,我写下了 sealos 第一行代码,当时仓库命名 “kubeinit”,后一想格局太小,我不可能只做一个安装 kubernetes 的事,安装只是计划…

不知道测试什么?这些是你需要知道的软件测试类型和常识

有多少软件测试类型呢? 我们作为测试人员了解很多种不同的软件测试类型,例如功能测试(Functional Test)、非功能测试、自动测试、敏捷测试、以及它们的各种子类型. 尽管在我们的测试过程中会接触很多种测试类型, 或者听说过某些测试类型,但是很少人敢说…