【黑马程序员】SpringCloud——微服务

文章目录

  • 前言
  • 一、服务架构演变
    • 1. 单体架构
    • 2. 分布式架构
      • 2.1 服务治理
    • 3. 微服务
      • 3.1 微服务结构
      • 3.2 微服务技术对比
      • 3.3 企业需求
  • 二、SpringCloud
    • 兼容性
  • 三、服务拆分及远程调用
    • 1. 服务拆分
      • 1.1 服务拆分注意事项
      • 1.2 导入服务拆分 Demo
    • 2. 远程调用
      • 2.1 根据订单 id 查询订单功能
      • 2.2 远程调用方式分析
        • 2.2.1 微服务远程调用—查询订单
          • ① 注册 RestTemplate
          • ② 服务远程调用 RestTemplate
  • 总结


前言

跟着B站的黑马程序员学习 SpringCloud,语言为java,目前是第一个学习内容
课程传送门:SpringCloud——微服务


一、服务架构演变

  • 单体架构特点:
    简单方便,高度耦合,拓展性差,适合小型项目

  • 分布式架构特点:
    松耦合,扩展性好,但架构复杂,难度大,适合大型互联网项目

  • 微服务:一种良好的分布式架构方案
    优点:拆分粒度更小、服务更独立、耦合度更低
    缺点:架构非常复杂,运维、监控、部署难度提高

1. 单体架构

在这里插入图片描述

2. 分布式架构

在这里插入图片描述

2.1 服务治理

在这里插入图片描述

3. 微服务

在这里插入图片描述

3.1 微服务结构

在这里插入图片描述

3.2 微服务技术对比

在这里插入图片描述

3.3 企业需求

在这里插入图片描述

二、SpringCloud

在这里插入图片描述

兼容性

在这里插入图片描述

三、服务拆分及远程调用

1. 服务拆分

  • 微服务需要根据业务模块拆分,做到单一职责,不要重复开发相同业务
  • 微服务可以将业务暴露为接口,供其他微服务使用
  • 不同微服务都应该有自己独立的数据库

1.1 服务拆分注意事项

在这里插入图片描述

1.2 导入服务拆分 Demo

在这里插入图片描述

2. 远程调用

  • 基于 RestTemplate 发起的 http 请求实现远程调用
  • http 请求远程调用是与语言无关的调用,只要知道对方的 ip、端口、接口路径、请求参数即可

2.1 根据订单 id 查询订单功能

在这里插入图片描述

2.2 远程调用方式分析

在这里插入图片描述

2.2.1 微服务远程调用—查询订单
① 注册 RestTemplate

在这里插入图片描述

② 服务远程调用 RestTemplate

在这里插入图片描述


总结

以上就是本章要讲的内容,本文仅仅简单复述了老师讲课的文本内容,内容有误麻烦联系。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

conda不同环境pip list包都一样问题;conda国内镜像加速

1、conda不同环境pip list包都一样问题 注意是因为conda创建不同环境里用pip安装容易导致,因为pip install安装 python包管理大多都默认到一个地方,正常用conda install就会有隔离 参考:https://blog.csdn.net/tywwwww/article/details/127…

什么是运营商精准大数据?又有什么作用?

大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 精准大数据,是一种…

Python之Django

web应用程序 # Django框架是一款专门用来开发web应用的框架 # Web应用程序是一种可以通过浏览器访问的应用程序, B/S架构 案例:淘宝网、京东... # 应用程序有两种模式: C/S:客户端/服务器端程序,这类程序一般独立运行 B/S:…

linux之进程控制

进程创建&fork函数 fork函数之前就已经提到,它从已存在进程中创建一个新进程,新进程为子进程,而原进程为父进程。 调用接口:fork() 头文件:unistd.h 功能:创建一个子进程,给子进程返回0,父进程返回子进程pid …

如何用devtools快速开发一个R语言包?

如何用devtools快速开发一个R语言包? 1. 准备工作2. 如何完整开发一个R包3. 初始化新包4. 启用Git仓库5. 按照目标实现一个函数6. 在.R文件夹下创建文件并保存代码7. 函数测试8. 阶段性总结9. 时不时地检查完整工作状态10. 编辑DESCRIPTION文件11. 配置许可证12. 配…

vuecli3 批量打印二维码

安装以个命令: npm install qrcode --save npm install print-js --save 页面使用: import qrcode from qrcode import printJS from print-js <el-button type"primary" click"handleBulkPrint">批量打印</el-button>methods: {// 批量打印…

小H靶场学习笔记:DC-1

DC-1 Created: November 8, 2023 11:41 PM Tags: Drupal, SUID提权 Owner: 只惠摸鱼 打靶场过程 nmap扫描 存活主机 192.168.199.128可能性更大 8011122端口开发 &#xff0c;访问跳转出Drupal页面&#xff0c;确定为靶机 使用插件进行指纹识别 可知以下信息&#xff1a…

Android Studio导入,删除第三方库

Android项目经常用到无私的程序员们提供的第三方类库。本篇博客就是实现第三方库的导入和删除。 一、导入第三方库 1、将需要的库下载到本地&#xff1b; 2、新建Moudle (1)File --- New Moudle (2)选择Android Library --- Next (3)填写Moudle名 --- Finish。一个新的Mou…

变电站自动化系统中的安全措施分析及应用-安科瑞

安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;阐述变电运行中的问题&#xff0c;电气自动化系统与安全运行措施&#xff0c;包括自动控制设备的投入&#xff0c;电气自动 化与计算机技术相、设备数据的采集与处理、自动化系统的升级、人工智能技术的应用。 关键…

【Git】Git 学习笔记_操作本地仓库

1. 安装与初始化配置 1.1 安装 下载地址 在文件夹里右键点击 git bash here 即可打开命令行面板。 git -v // 查看版本1.2 配置 git config --global user.name "heo" git config --global user.email xxxgmail.com git config --global credential.helper stor…

深度学习入门-基于Python的理论与实现摘要记录

基本是《深度学习入门-基于Python的理论与实现》的复制粘贴&#xff0c;以作为日后的检索和查询使用 感知机 感知机接收多个输入信号&#xff0c;输出一个信号。 感知机原理 感知机接收多个输入信号&#xff0c;输出一个信号。 图2-1是一个接收两个输入信号的感知机的例子。…

uniapp:打包ios配置隐私协议框

使用uniapp打包ios 上架商店需要配置隐私协议政策弹窗。当用户点击确定后才能继续操作。 首先manifest.json中配置使用原生隐私政策提示框是不支持ios的。不用勾选。 解决思路&#xff1a; 1、新建页面&#xff1a;iosLogin.vue&#xff0c;pages.json中 这个页面需要放在第一…

计算机网络:概述

0 学时安排及讨论题目 0.1讨论题目&#xff1a; CSMA/CD协议交换机基本原理ARP协议及其安全子网划分IP分片路由选择算法网络地址转换NATTCP连接建立和释放再论网络体系结构 0.2 本节主要内容 计算机网络在信息时代中的作用 互联网概述 互联网的组成 计算机网络在我国的发展 …

extractvalue报错注入理论及实战

报错注入 什么是报错注入 构造语句&#xff0c;让错误信息中夹杂可以显示数据库内容的查询语句&#xff0c;返回报错提示中包括数据库中的内容 如上图所示&#xff0c;通过group by的报错&#xff0c;我们可以知道列数是多少 输入正确的查询数据库的SQL语句&#xff0c;虽然可…

Zookeeper经典应用场景实战(二)

1. Zookeeper 分布式锁实战 1.1 什么是分布式锁 在单体的应用开发场景中涉及并发同步的时候&#xff0c;大家往往采用Synchronized&#xff08;同步&#xff09;或者其他同一个JVM内Lock机制来解决多线程间的同步问题。在分布式集群工作的开发场景中&#xff0c;就需要 一种更…

android studio 字节码查看工具jclasslib bytecode viewer

jclasslib bytecode viewer 是一款非常好用的.class文件查看工具&#xff1b; jclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. Many aspects of class files can be edited in the UI. In addit…

excel表的筛选后自动求和

一般都使用subtotal函数。 通过看一个大佬的视频&#xff0c;发现可以有更简单的方法。 首先任意筛选数据(ctrlshiftl)&#xff0c; 然后选中需要求和的列的最下方的空白单元格&#xff0c;再按alt。 回车即可。 实质它还是用的subtotal函数

【TiDB】TiDB CLuster部署

目录 0 大纲 一 集群部署工具TiUP简介 1 TiUP 简介 2 TiUP使用 3 TiUP使用举例 二 TiDB Cluster安装配置需求 1 生产环境硬件需求 2 操作系统需求 三 TIDB部署 1 软硬件需求以及前置检查​编辑 2 安装TiUP 组件 ​3 集群拓扑文件 4 执行部署命令 &#xff08;1&…

Spring Gateway网关服务分析

关键原理解析 基本原理 Spring Cloud Route核心可以概括为Gateway过滤器框架和Route定义和解析两块内容。 DefaultFilter、GatewayFilter、GlobalFilter 三种过滤器的区别及执行顺序 SpringCloud Gateway中的提到的过滤器包括三种类型&#xff1a; DefaultFilter&#xff1…

金融信贷行业如何准确——大数据精准定位获客渠道

通过大数据精准获客&#xff0c;不仅可以及时拦截网址浏览量&#xff0c;还可以访问移动贷款应用软件的高频活跃客户和新注册客户。此外&#xff0c;通过大数据进行准确的客户获取&#xff0c;还可以获得电话座机号码的实时通信记录&#xff0c;捕捉小程序应用程序和关键词搜索…