认识微服务---Spring Cloud

news2024/11/24 20:28:21

一、服务架构演变

1、单体架构:将业务的所有功能集中在一个项目开发,打包成一个部署。

优点:

  • 架构简单
  • 部署成本低

缺点:

  • 耦合度高不利于大型项目开发

 

2、分布式架构 :根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。

优点:

  • 降低服务耦合
  • 有利于服务升级拓展

 

 3、微服务

微服务是一种经过良好架构设计的分布式架构方案:

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发
  • 面向服务:微服务对外暴露业务接口
  • 自治:团队独立、技术独立、数据独立、部署独立
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

二、服务技术对比

微服务这种方案需要技术框架来落地,全球的互联网公司都在积极尝试自己的微服务落地技术。在国内最知名的就是SpringCloud和阿里巴巴的Dubbo。

 

三、SpringCloud

SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud/

SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验:

 

 SpringCloud与SpringBoot的版本兼容关系如下:

 

 四、服务拆分及远程调用

1、服务拆分及注意事项:

  • 单一职责:不同微服务,不要重复开发相同业务
  • 数据独立:不要访问其它微服务的数据库
  • 面向服务:将自己的业务暴露为接口,供其它微服务调用

2、远程调用

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

RestTemplate 是 Spring Boot 框架中的一个用于发送 HTTP 请求的类。它提供了一种简单且灵活的方式来执行 GET、POST、PUT、DELETE 等 HTTP 请求,并提供了多种配置选项和错误处理机制。

所以我在启动类中添加了一个配置方法。(目的是为了在order-service项目中可以访问到user-service项目)

 

然后注入 RestTemplate,写上user-serivce项目的端口号,进行访问

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

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

相关文章

系列十二、Linux中安装Zookeeper

一、Linux中安装Zookeeper 1.1、下载安装包 官网:Index of /dist/zookeeper/zookeeper-3.4.11 我分享的链接: 链接:https://pan.baidu.com/s/14Hugqxcgp89f2hqGWDwoBw?pwdyyds 提取码:yyds 1.2、上传至/opt目录 1.3、解…

vcpkg 安装开源包 以及 配置 已解决

Vcpkg 可帮助您在 Windows、 Linux 和 MacOS 上管理 C 和 C 库。 这个工具和生态链正在不断发展,我们一直期待您的贡献! 若您从未使用过 vcpkg,或者您正在尝试了解如何使用 vcpkg,请查阅 入门 章节。 如需获取有关可用命令的简短…

GPT4All : 便捷易用的本地智能问答推理软件(乱记)

安装与使用 去官网 https://gpt4all.io/index.html下载可执行文件。 打开应用即可看到是否共享数据的选项: 然后自动进入模型下载界面 测试 内存占用 缺点:在我本地的轻薄本上运行时,风扇会有轻微噪声,关闭软件很久都没停止。…

基于 Vue3 和 WebSocket 实现的简单网页聊天应用

首先附上项目介绍,后面详细解释技术细节 1. chat-websocket 一个基于Vue3和WebSocket的简易网络聊天室项目,包括服务端和客户端部分。 项目地址 websocket-chat 下面是项目的主要组成部分和功能: 项目结构 chat-websocket/ |-- server/ # WebSocket 服…

图像分割实战-系列教程1:语义分割与实例分割概述

1、图像分割任务概述 1.1 图像分割 分割任务就是在原始图像中逐像素的找到你需要的轮廓 如图分别是(物体检测)与(图像分割)两个任务的效果对比,实际上会比检测任务要稍微麻烦一些,将图像会分为几个区域把…

Windows上ModbusTCP模拟Master与Slave工具的使用

场景 Modbus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用: Modebus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用_modbus poll激活-CSDN博客 数据对接协议为Modbus TCP,本地开发需要使…

数据加密、端口管控、行为审计、终端安全、整体方案解决提供商

PC端访问地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是关于这几个概念的解释: 数据加密:这是一种通过加密算法和密钥将明文转换为密文,以及通过解密算法和解密密钥将密文恢复为明文…

树莓派 ubuntu20.04下 python调讯飞的语音API,语音识别和语音合成

目录 1.环境搭建2.去讯飞官网申请密钥3.语音识别(sst)4.语音合成(tts)5.USB声卡可能报错 1.环境搭建 #环境说明:(尽量在ubuntu下使用, 本次代码均在该环境下实现) sudo apt-get install sox # 安装语音播放软件 pip …

边缘计算网关:重新定义物联网数据处理

随着物联网(IoT)设备的爆炸式增长,数据处理和分析的需求也在迅速增加。传统的数据处理方式,将所有数据传输到中心服务器进行处理,不仅增加了网络负担,还可能导致数据延迟和安全问题。因此,边缘计…

私有部署ELK,搭建自己的日志中心(四)-- kibana展示es的数据

一、说在前面的话 前一篇已把elk的安装连带讲完,本文重在讲述如何在kibana展示es数据。 二、数据的展示 展示es数据库的客户端工具有很多,比如es head插件,但是一说到要查询日志,还是非kibana莫属了。 1、kibana.yml # 服务端…

OpenCV入门01:图像处理简介/图像的基础操作

项目开源,地址:https://gitee.com/zccbbg/opencv_study 文章目录 图像处理简介灰度图像二值图像彩色图 opencv 介绍图像基础操作图像读取与显示绘制几何图形图像的属性其他操作算数操作加法混合 图像色彩空间转换 图像处理简介 灰度图像 ● 灰度图像是…

Linux服务器搭建笔记-006:拓展/home目录容量

一、问题说明 Ubuntu服务器在使用过程中创建的新用户,每位用户会在/home目录下生成一个属于其个人的主文件夹。如果不限制各个用户的使用空间,所有的用户都会共用/home所挂载的硬盘。在这种多用户情况下,会很快的填满/home目录,导…

一款超酷的一体化网站测试工具:Web-Check

Web-Check 是一款功能强大的一体化工具,用于发现网站/主机的相关信息。用于检查网页的工具,用于确保网页的正确性和可访问性。它可以帮助开发人员和网站管理员检测网页中的错误和问题,并提供修复建议。 它只需要输入一个网站就可以查看一个网…

企业品牌推广在国外媒体投放的意义和作用何在?

海外广告投放是企业在国际市场推广的重要战略,具有多种形式,包括社交媒体广告、短视频广告、电视广告等。这些广告形式在传播信息、推动销售、塑造品牌形象等方面发挥着独特的作用。 其中软文发稿是一种注重叙事和信息传递的广告形式,对于企…

k8s 架构

主要组件 k8s有如下的主要组件: Control plane(s) and worker node(s)OperatorsServicesPods of containersNamespaces and quotasNetwork and policiesStorage. 一个k8s集群是有一个或多个 cp(控制平面)节点和一组worker 节点组成的。这个…

ChatGPT使用注意事项有哪些?

一、环境注意事项 1、需要构造稳定的环境,很多人说自己的号为什么突然被封,被封的原因是因为有些环境会自动换IP,所以你要设置好 2、搭建美国住宅IP 3、注册时也不要使用香港,最好选择美国、新加坡等地区注册 二、API调用注意事…

(已解决)(pytorch指定了gpu但还是占用了一点0号gpu)以及错误(cuDNN error: CUDNN_STATUS_INTERNAL_ERROR)

文章目录 错误原因解决问题 错误原因 出现错误cuDNN error: CUDNN_STATUS_INTERNAL_ERROR,从这个名字就可以看出,出错原因其实有可能有很多种,我这里说一种比较常见的,就是:显存不足。 一个困惑点在于,在…

k8s的陈述式资源管理(命令行操作)

(一)k8s的陈述式资源管理 1、命令行:kubectl命令行工具——用于一般的资源管理 (1)优点:90%以上ce场景都可以满足 (2)特点:对资源的增、删、查比较方便,对…

【neo4j】desktop下载

【neo4j】desktop下载 https://neo4j.com/download/ 点击download,填写表格 之后就可以正常使用了

Jackson进行Json反序列化对于一个小写字母开头后跟大写字母无法识别反序列成功问题

问题描述 json数据:{“pTargetId”:“123”} javaBean: Datapublic static class Test {private String pTargetId;}运行下面代码: public static void main(String[] args) throws JsonProcessingException {String json "{\"pT…