基本Spring Cloud的微服务架构搭建及应用(一)

基于Spring Boot和Spring Cloud实现微服务架构学习(一)-Spring框架介绍 基于Spring Boot和Spring Cloud框架开发的微服务架构学习(一)-Spring框架介绍总结 看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感悟。 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道。因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区。官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选 阅读详情

1、Spring Cloud介绍

Spring Cloud家族有许多成员:

Spring Cloud Config - 配置管理工具包,集中化管理集群配置,目前支持本地存储、Git 以及 Subversion;
Spring Cloud Bus - 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署;
Spring Cloud Sleuth - 日志收集工具包,封装了 Dapper 和 log-based 追踪以及 Zipkin 和 HTrace 操作,为 SpringCloud 应用实现了一种分布式追踪解决方案;
Spring Cloud Stream - Spring 数据流操作开发包,封装了与 Redis、Rabbit、Kafka 等发送接收消息;
Spring Cloud OAuth2 - 基于 Spring Security 和 OAuth2 的安全工具包,为你的应用程序添加安全控制;
Eureka,服务注册和发现,它提供了一个服务注册中心、服务发现的客户端,还有一个方便的查看所有注册的服务的界面;
Zuul,网关,所有的客户端请求通过这个网关访问后台的服务;
Ribbon,即负载均衡;
Feign,服务客户端,服务之间如果需要相互访问,可以使用RestTemplate,也可以使用Feign客户端访问,它默认会使用Ribbon来实现负载均衡;
Hystrix,监控和断路器;
......

在当前文章中不会对这些组件的单个使用作很详细的介绍,这些资料网上都可以找到,读者可以根据自己的需要去网上查询,这里只是演示如何将其中一些常用的组件组合起来,搭建起一个可以运行的Spring Cloud应用架构。

Spring Cloud的有一些组件并不是都是完美的,有一些国产组件比它做得更好、更符合国人的使用习惯,如阿里用于微服务治理的Sentinel比Hystrix更好用(基于Sentinel的高可用限流系统设计及实现)、推程的Apollo比Spring Cloud Config更适合作配置中心、Skywalking的无侵入式调用链监控比Spring Cloud Sleuth更灵活更方便集成等等,可以根据自己的实际情况选择最合适的。

2、示例架构介绍

当前的示例应用中,不会把所有的组件都用完,只是拣选一些常用几个组件作为示例演示,其中Zuul with Ribbon作为网关、Eureka作为注册与发现中心、Feign为远程调用组件、spring-cloud-config-serverw作为配置中心并以Git作为配置存储中心,并且编写了两个基于Spring Boot的示例应用application-1和application-2用于演示,以下是本次示例的架构图:

当前示例的所有代码都放在了码云上面:https://gitee.com/laofeng/spring-cloud,读者可以自己下载下来自己尝试。

3、项目搭建及运行

1、config-service本地的Git缓存目录默认为/data/spring-cloud-config/repo,如果该目录不存在则需要建立该目录;config-service是从git中去拉取配置的,如果没有现成的则需要先搭建一个gitlab,我建意通过docker搭建,比较方便,以下是一个操作命令:

Docker安装Gitlab
1)拉取镜像:
docker pull gitlab/gitlab-ce
2)启动:
docker run -d -p 443:443 -p 8881:80 -p 222:22 --name gitlab --restart always -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
3)通过admin/admin登陆后,再创建用户test_user并设置密码test_user,再通过test_user登陆创建名为spring-cloud-config的项目,再把当前目录spring-cloud-config中的内容复制过去并提交到Git中。

2、将commons工程安装到本地maven仓库中:mvn source:jar install ;

3、项目启动顺序:eureka-service、 config-service、gateway-service、application-1、application-2;

4、通过Eureka查过各服务及应用的启动情况,访问URL:http://127.0.0.1:8761/ ;

5、验证:

​ 访问application-1提供的接口:

​ http://127.0.0.1:20250/test/getARandomValue 该接口实际会访问application-2提供的接口

​ http://127.0.0.1:20250/test/getValueOfKey1

​ 访问application-2提供的接口:http://127.0.0.1:20260/test/getARandomValue

​ 访问网关接口:

​ http://127.0.0.1:8762/api/test/getValueOfKey1

​ http://127.0.0.1:8762/api/test/getARandomValue

​ 如果以上都可以正常访问,则说明应用启动成功。

今天就到此为止,后面会把这几个应用如何搭建的步骤分为不同的文章写出来。

 

 

使用Spring Cloud搭建微服务项目 使用Spring Cloud搭建微服务项目的案例,使用到Nacos、Dubbo、Sentinel、Seata、gateway等知识。 阅读详情

相关推荐

深入理解微服务架构:从零搭建 Spring Cloud 微服务项目

通过本篇文章,你已掌握微服务的基本架构和核心技术,下一步可以深入研究。创建一个 Spring Boot 项目,添加。请求会自动转发到 order-service。等关键技术,助你掌握微服务的核心思想!:服务间解耦,某个服务崩溃不会影响整个系统。,每个服务专注于某个业务功能,并通过。随着互联网业务的不断增长,传统的。会自动将请求均匀分配到多个实例。,将一个应用拆分为多个。:不同微服务可以使用。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 2042

微服务环境的搭建

电商项目,订单微服务,商品微服务。

JAVA_SR的博客 2591

Java Microservices 和 Spring Cloud:介绍微服务架构,并使用Spring Cloud来说明其在Java中的实现

介绍 什么是微服务架构 微服务架构的优势和挑战 微服务架构基础 服务分解策略(如何决定服务的边界) 数据管理,如何在分散的服务之间维持数据一致性 服务之间的通信方式 Java Microservices 在Java环境中实现微服务架构的一般步骤 示例:使用Spring Boot创建一个微服务 Spring Cloud介绍 Spring Cloud所提供的功能和组件(如配置管理,服务发现,断路器等) 如何使用Spring Cloud来解决微服务中的某些常见问题 使用Spring Cloud实现微服务

哎 你看的博客 1310

JAVA开发(保姆级微服务搭建过程)

现在的java后端基本都是通过微服务的方式进行搭建。当我们对需求进行分割时,可以通过横向或者纵向对服务进行划分。或者当某一块的业务我们希望通过一个单独的服务进行开发时,就需要新增新的服务,本文通过springtool suite工具介绍,微服务搭建过程。

JAVA领域优质创作者,基于分片网络查询方法专利发明者。 6971

Spring Cloud微服务架构解析

可以说,2008年以后,互联网行业的飞速发展彻底改变了我们对软件系统的期待。曾经,我们只要求“能用就行”,而现在,我们希望系统不仅能用,还要健壮、灵活、易扩展。因此,各大互联网公司纷纷投入技术资源,旨在研发能力更强、更智能的基础设施。这里面,阿里的开源项目Dubbo和Netflix的一系列服务框架成为了众所周知的典范。

weixin_44626085的博客 1088

Spring Cloud 微服务架构:服务注册与发现、配置中心搭建

服务注册与发现以及配置中心是 Spring Cloud 微服务架构中不可或缺的重要组件。服务注册与发现机制确保了微服务之间能够准确、高效地通信,提高了系统的灵活性和可扩展性;配置中心实现了配置信息的集中管理和动态更新,简化了微服务的配置管理过程,提高了系统的可维护性和安全性。在实际项目中,开发者可以根据项目的具体需求和特点,选择合适的服务注册中心和配置中心组件。

数字魔方操控师的博客 1628

从零开始搭建一个微服务项目(一)

2. 如何通过bootstrap拿到nacos对应的配置呢,会通过服务名+profile名+后缀名组成。各个服务之间是通过Http请求来进行交互,原先使用RestTemplate进行请求,可以使用更方便的openFeign(Feign已经停止维护,通过服务名在数据中心找到多个ip,然后通过负载均衡策略(可以通过实现Irlue来实现),来制定对应的实例ip。原理:通过指定的服务名,去注册中心查找对应的ip地址,然后去向目标发送请求。在消费者服务里建一个接口,写上需要调用的请求,并在接口上添加。

qq_44620773的博客 4703

微服务架构和Spring Cloud:微服务架构的基本概念,以及如何使用Spring Cloud构建微服务

Netflix Eureka、微服务架构和Spring Cloud:微服务架构的基本概念,以及如何使用Spring Cloud构建微服务、 OpenFeign、Eureka

哎 你看的博客 1098

微服务概述及如何搭建微服务

微服务以及如何搭建微服务框架

qq_59099003的博客 2360

我们的微服务架构及Spring Cloud各个组件的概要

初识spring cloud 我们目前的架构 我们将来的架构 什么是Spring Boot Spring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。 Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用只需要很少的Spring配置。

土豆™ 9712

微服务架构搭建与Spring Cloud应用实例

Spring Cloud的核心组件主要包括以下几个::提供配置管理支持,可以集中管理各微服务的配置文件。:服务发现组件,能够帮助服务自动注册与发现。:类似于Eureka的服务发现工具。:客户端负载均衡工具,可以在调用微服务接口时提供负载均衡。:声明式的服务调用工具,它整合了Ribbon和Hystrix,简化了微服务间的HTTP调用。:API网关,提供路由和过滤器功能。:提供断路器功能,防止系统雪崩。

weixin_42181686的博客 989

搭建微服务工程 【详细步骤】

本篇文章用到的技术栈mysql+mybatis[mp]+springboot+springcloud alibaba

每日一记,每周一结。 3501

别再只会用官网例子了!Vxe-Table过滤功能深度自定义:从下拉框到服务端筛选的完整配置流程

本文深入解析Vxe-Table表格组件的过滤功能,从基础UI定制到服务端筛选的完整实现流程。通过实战案例演示如何超越官方示例,实现下拉框、日期范围等复杂过滤交互,并详细讲解混合过滤策略与性能优化技巧,帮助开发者应对大数据量场景下的表格筛选需求。

weixin_42526353的博客 205

spring cloud搭建_基本Spring Cloud的微服务架构搭建及应用(一)

1、Spring Cloud介绍Spring Cloud家族有许多成员:Spring Cloud Config - 配置管理工具包,集中化管理集群配置,目前支持本地存储、Git 以及 Subversion;Spring Cloud Bus - 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署;Spring Cloud Sl...

weixin_39658759的博客 407

FLUENT UDF编译及蒸发冷凝相关问题

蒸发冷凝与相间传质

weixin_48029137的博客 1万+

Claude Skills 深度讲解

阶段 1:Function Call(2023)├─ 大模型可以调用外部工具├─ 问题:缺乏对任务的深度理解└─ 局限:工具调用简单线性阶段 2:MCP 上下文工程(2024)├─ 大模型有了更丰富的上下文和工具├─ 问题:仍然需要手动编写复杂的 Prompt└─ 局限:每次对话都需要重新加载上下文阶段 3:Claude Skills(2025)├─ 大模型有了「能力模块」的概念├─ 可以动态加载、组合、执行专门的工作流├─ 真正实现了「知识的模块化和复用」

u013134676的博客 1464

springcloud项目的启动顺序_基本Spring Cloud的微服务架构搭建及应用(一)

1、Spring Cloud介绍Spring Cloud家族有许多成员:Spring Cloud Config - 配置管理工具包,集中化管理集群配置,目前支持本地存储、Git 以及 Subversion;Spring Cloud Bus - 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署;Spring Cloud Sl...

weixin_34396144的博客 5099

【KITTI数据集中Raw_Data数据标定文件中的参数关系解读】

上一节本人将KITTI Odometry数据集中的参数文件进行了解释。本节主要针对一些做融合slam的人,将Raw_Data数据标定文件中的参数按照自己的理解做如下阐述。其中,所讲之处如有错误,欢迎各位批评指正。

weixin_43389152的博客 1526

Spring Cloud微服务架构

符合"云"理念的大趋势-Spring Clund分布式服务治理的框架

每天都要开心呀(#^.^#) 2万+

SAP 公司间采购简介

SAP公司间采购(Intercompany Procurement)是指企业集团内部不同法人实体之间的采购和销售流程。这种流程在跨国公司或有多个独立运营子公司的企业中非常常见。SAP提供了标准的功能来处理公司间采购,确保财务和物流流程的透明性和效率。以下是SAP公司间采购的基本流程及其相关模块的简介。

我小时候很黑的博客 1375

大厂面试:字节跳动大数据面试题及参考答案(10万字长文及多张原理图持续更新)

在 Spark 中,宽窄依赖是用来描述 RDD(弹性分布式数据集)之间的依赖关系的概念。窄依赖是指父 RDD 的每个分区最多被一个子 RDD 的分区使用,即子 RDD 的分区可以通过确定的规则从父 RDD 的分区计算得到,并且不需要跨节点进行数据传输。窄依赖通常可以在一个节点上进行计算,不需要进行数据的 shuffle 操作,因此性能较高。宽依赖是指父 RDD 的一个分区可能被多个子 RDD 的分区使用,即子 RDD 的分区需要通过跨节点的数据 shuffle 操作从父 RDD 的多个分区获取数据。

大模型大数据攻城狮的专栏 1650

【Spring Cloud】微服务架构演变及微服务架构介绍

随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早期到现在,系统架构大体经历了下面几个过程:单体应用架构--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构,当然还有悄然兴起的`Service Mesh`(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的,以及各有什么优缺点。

阿Q的小窝 1万+

利用pytorch长短期记忆网络LSTM实现股票预测分析

长短时记忆网络(Long Short Term Memory Network, LSTM),是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,目前比较流行。LSTM主要就是加入了三个门控:第一个开关遗忘门:负责控制继续保存长期状态c;第二个开关输入门:负责控制把即时状态输入到长期状态c;第三个开关输出门:负责控制是否把长期状态c作为当前的LSTM的输出。

优快云 精品推荐 1万+

Spring Cloud微服务简介

Spring Cloud微服务 基础知识 微服务构建Spring Boot 服务治理Spring Cloud Eureka 客户端负载均衡Spring Cloud Ribbon 服务容错处理Spring Cloud Hystrix 声明式服务调用Spring Cloud Feign 基础知识 什么是微服务架构? 微服务是系统架构上的一种设计风格; 主旨是将一个原本独立的系统拆分成...

优快云 3万+

【原理图PCB专题】案例:双排0.5mm间距座子转单排0.5mm间距座子Layout方案分析

本文提供一种分析思路,并通过实际案例来进行Layout方案分析的讲解。

一点硬件 455

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Spring Cloud 微服务架构详解

微服务是一种架构风格,它将一个复杂的应用拆分为一组小型、独立部署的服务,每个服务围绕特定业务能力构建,并通过轻量级通信机制(如 HTTP RESTful API)进行交互。每个微服务可以独立开发、测试、部署和扩展。Spring Cloud 是一套基于 Spring Boot 的微服务开发工具集,提供了分布式系统常见的基础设施服务,如配置管理、服务注册与发现、断路器、智能路由、微代理、控制总线等。Spring Cloud 为微服务架构提供了全方位的解决方案,极大地简化了分布式系统的开发和运维。

2301_79719676的博客 2059

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 阿波罗使用注意事项
下一篇: 基于Sentinel的高可用限流系统的Grafana报表展示
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值