当前位置: 首页 > news >正文

面试知识储备-SpringCloud

1.为什么要出现springcloud?

单体架构

定义:传统的项目所有功能打成一个jar包就能直接部署,所有功能糅合到一起,非常简单

缺点:大公司项目某些功能的并发量大,会占用大量的资源,影响其他功能的正常运行(比如非常重要的交易功能)

微服务架构

定义:将各个功能拆分为独立项目,单独编译,拥有独立数据库

特点:高内聚低耦合

2.springcloud

提供了各种微服务组件,如果要使用的话只能用到2021的版本,否则jdk8不支持后续版本

如何拆分服务

1.独立工程 - 分开设计project 多个文件夹

2.Maven聚合 只有一个project 每个服务设为一个module

3.注册中心Nacos

服务治理的三个角色:服务提供者,服务调用者,注册中心

所有的服务都应该在注册中心注册,注册中心提供调用者多个ip地址以达到负载均衡,注册服务应每隔一段时间发送心跳续约,确保服务没有宕机

nacos是springcloudalibaba的注册服务中心,首先它是一个服务,我们需要去启动它,然后引入依赖,配置它的ip地址

服务注册

然后启动我们的单体服务,服务会自动在注册中心注册,启动多个实例时复制启动项就可以(只需要一份代码),新的启动项要放在新的端口,防止冲突

服务发现

服务发现springcloud定义了一套标准,我们通过注入discoveryclient和服务名称来调用实例列表,然后通过负载均衡算法来挑选实例,在获取实例的uri

4.简化版微服务openfeign

以上部分是nacos的原理部分,为了简化代码的书写我们引入一个新的组件openfeign和负载均衡器,然后启动openfeign

可以通过注解的方式简化以上三步

在openfeign中引入连接池可提高性能

相关文章:

  • 《安全大模型技术与市场研究报告》发布,海云安榜上有名
  • 双指针算法:快速排序模拟实现
  • 网络安全的十字路口:向“架构化”转移
  • [IntelliJ IDEA插件]推荐一款简单方便的插件CodeChrono
  • SLAM 精度评估
  • (十三)MipMap
  • 谷歌正在试行人脸识别办公室安全系统
  • mmaction2版本适配(Linux)
  • 比赛获奖的武林秘籍:01 如何看待当代大学生竞赛中“卷”“祖传老项目”“找关系”的现象?
  • 龙芯杯个人赛记录
  • Django 对模型创建的两表插入数据
  • 11.SQL注入-盲注基于(base on boolian)
  • sharepoint api 没有这个文件所属site的权限的情况下访问指定文件
  • 脑启发设计:人工智能的进化之路
  • 深入理解计算机系统 CSAPP 家庭作业8.26
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 2017届校招提前批面试回顾
  • 30秒的PHP代码片段(1)数组 - Array
  • CODING 缺陷管理功能正式开始公测
  • Docker下部署自己的LNMP工作环境
  • java第三方包学习之lombok
  • jQuery(一)
  • JS字符串转数字方法总结
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Python十分钟制作属于你自己的个性logo
  • Spring-boot 启动时碰到的错误
  • 创建一个Struts2项目maven 方式
  • 大整数乘法-表格法
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 前端性能优化——回流与重绘
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 使用 @font-face
  • 首页查询功能的一次实现过程
  • 携程小程序初体验
  • 译米田引理
  • 在weex里面使用chart图表
  • 转载:[译] 内容加速黑科技趣谈
  • 通过调用文摘列表API获取文摘
  • ​secrets --- 生成管理密码的安全随机数​
  • # 数论-逆元
  • #{} 和 ${}区别
  • #{}和${}的区别?
  • (14)Hive调优——合并小文件
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (离散数学)逻辑连接词
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • **PHP二维数组遍历时同时赋值
  • *上位机的定义
  • .Net - 类的介绍
  • .net core 控制台应用程序读取配置文件app.config
  • .NET NPOI导出Excel详解
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET/C# 项目如何优雅地设置条件编译符号?