spring cloud全家桶(spring全家桶学习顺序)

本文目录
- spring全家桶学习顺序
- Spring Cloud笔记03: 服务注册和服务发现的基本概念
- Spring Cloud Alibaba Spring Boot 微服务集成开发配置
- 微服务和springcloud的关系
spring全家桶学习顺序
由简到繁。
如果题主还没学习 SpringMVC ,我建议先可以学 Servlet .先学 JavaWeb 的基础,再学框架。如果学过 JavaWeb 了,可以先学 Spring ,然后 SpringMVC ,然后 SpringBoot ,最后 SpringCloud。
Spring Cloud笔记03: 服务注册和服务发现的基本概念
上节在K8S集群中部署了Nacos集群,并将Nacos的Web控制台和API以Ingress (nacos.youcomany.com)的形式暴露到了k8s集群外部,便于从外部测试和访问。 这里再次强调Nacos被设计为一个在IDC内部使用的应用组件,而非面向公网环境的产品,因此需要在内部隔离网络中使用,这里为了测试将其暴露到K8S集群外部,如果是生产环境必须做好网络安全策略。
接下来我们将学习如何将服务注册到Nacos,在开始后边的实战之前,先看一下服务治理中关于服务注册和服务发现的一些概念。
服务治理首先要解决的问题就是服务注册于服务发现,解决了这两个问题才可能实现微服务之间的调用问题。
服务注册中心 : 每个服务实例会向注册中心注册自己的信息,一般包含地址、端口、协议、版本等信息。每种服务会有多个实例副本注册到注册中心,注册中心维护每种服务的多个实例列表。同时,注册中心会以某种机制去检查各个服务实例是否可用,如果某个实例已经失效会将其剔除。在某个服务实例关闭时会自动向注册中心注销自己。
常见的服务注册有三种实现方式:
服务发现 : 即服务客户端在其网络上找到其要调用服务的具体连接信息的过程。例如通过查询服务注册中心得到其所调用服务的具体 IP地址和端口。 简单的说,服务发现就是服务或者应用之间互相定位的过程。
使用服务发现后,客户端对服务的调用不再和具体的服务实例地址耦合,而是基于服务发现机制。有以下4种常见的服务发现机制:
K8S中的一个Service资源对象对应微服务。每个Service有唯一的名字,一个ClusterIP,一个端口。 K8S中的Pod资源对象中运行的容器对应服务实例,通过Pod上的标签Label和Service上定义的标签选择器Label Selector将Service与Pod关联,通过Service内建的负载均衡机制,对Service的调用将转发到Pod的容器中。 K8S中的服务注册是在Pod创建时由调度者Kubernetes完成的。K8S中的服务发现采用的是服务端负载均衡器,服务注册中心为Kubernetes(后端持久化存储etcd)。
Spring Cloud对微服务提供了完整的解决方案和统一抽象,按照微服务的功能特性: 服务治理、负载均衡、服务间调用通信、服务配置中心、服务网关、分布式链路追踪、消息总线、消息时间驱动、分布式事务等,提供了一系列组件,被称为Spring Cloud全家桶。 全家桶中的功能组件还支持使用第三方实现的某个组件单独替换,只要第三方组件是遵循Spring Cloud Common的抽象实现的。
Spring Cloud在服务治理的组件上有以下三种选择:
当然由于"某些原因",在最新版本的Spring Cloud中Netflix组件库已经逐渐被移除。
我们在这里对Spring Cloud服务注册和服务发现的学习将使用Spring Cloud Alibaba组件的Nacos。
Nacos是Spring Cloud Alibaba提供的服务发现和配置管理的解决方案。Nacos是用Java开发的,通过Spring Cloud Alibaba可以很好的与Spring Cloud整合。 如果项目的所有微服务都是用Java开发的,那么使用Nacos作为服务发现可能会使一个不错的选择。
Nacos的服务注册采用的是由"服务进程内直接包含服务注册模块,由服务实例自己完成上线注册和下线注销。",这与K8S服务注册方案中"由一个中间调度者K8S来帮助处理服务注册"是不同的。
Spring Cloud Alibaba Spring Boot 微服务集成开发配置
目前微服务开发框架基本上都是采用Spring Cloud ,但是由于Eureka已经不再开源,所以在服务注册与发现慢慢都不再采用Eureka了,而是转到阿里的Nacos上了。因为Nacos也支持配置管理,所以配置管理这块也基本采用Nacos了。当然了你也可以使用携程的Apollo,也是很不错的。Nacos都能解决也就不多此一举了。下面主要介绍下Spring Cloud 与Alibaba微服务组件的集成。
集成的各个组件的版本如下
1、Spring Cloud : Hoxton.SR8
2、Spring boot :2.3.2.RELEASE
3、Alibaba Cloud :2.2.3.RELEASE
一、创建maven父依赖
创建自己的父依赖,不直接继承Spring Boot。因为直接继承Spring boot 会带来很多不便,不能集成其他组件了。 创建maven项目test-parent, POM文件如下
二、创建微服务test-user
1、创建服务POM文件如下
2、创建test-user配置文件 bootstrap.yml
a、Nacos中添加配置test_user_db.yml的内容如下:
b、Nacos中添加配置test_user_commons.yml的内容如下
到此 Spring Cloud Alibaba Spring boot 微服务集成就全部完成了。下次准备再把Spring Cloud Alibaba String Boot Dubbo 做个集成
微服务和springcloud的关系
前言:
最近有个同事问我微服务和spring cloud的关系,正好记录一下。
首先简述一下springcloud是什么,官网给出的说法是(英语不精的我谷歌翻译出来的)
对于初入门的人来讲是很难理解这些东西的。简单来讲就是
***隐藏网址***
这里也说下我的理解
首先微服务是一种架构思想,没有技术限制。你可以使用springcloud全家桶,可以通过dubbo+zk+...,或者是直接通关nginx转发多个tomcat等技术构建微服务系统。相比单体架构系统主要有以下几点
微服务是一种架构思想,springcloud是一套利于实现微服务架构的技术。相互之间没有必然的联系。

本文相关文章:
spring监听器的使用(spring的分布式监听器,会出现不同机器进行处理吗)
2026年7月28日 16:10
springsowing课文翻译(springsowing早中晚干了什么)
2026年7月1日 14:50
更多文章:
跷二郎腿太低好吗?想要通过贴墙站改正二郎腿影响的话,有哪些要点需要注意
2026年10月11日 05:10
易语言点击js按钮(易语言网页填表怎样点击链接为“javascript:void(0)“的按钮)
2026年10月11日 03:00
compare with造句(用compared with和compared to造句)
2026年10月10日 23:30
tensorflow与keras对应版本(为什么tensorflow2.8没有keras)
2026年10月10日 22:10
maven仓库jar网站(如何在maven仓库中添加jar包)
2026年10月10日 19:50





