最近研究了一下SPRING CLOUD,记录下,以下内容均为个人见解。。。。
一、概念
spring cloud 是什么?
微服务架构
下图是一些spring cloud的组件
zuul:路由等功能,前置于其他微服务之前,一般用于api-gateway
eureka:服务注册、发现、消费,分为eureka server及eureka service
ribbon:方法负载均衡,load balance
hystrix:断路保护,简单来讲,就是如果服务不可用,那么就别一直让它卡着,直接反馈失败或者降级 uaa:微服务下的权限认证
config:统一配置,可以使用git、svn、本地、classpath,并根据profile区别
turbine:hystrix集群的监控实现
ELK STACK:日志分析
上面几个系统,就构成了一个基本的微服务的架子
二、杂项
1、使用swagger2显示eureka服务所暴露的方法
eureka会暴露服提供服务的IP、端口,但是不会暴露该节点暴露的方法
使用过webservice的话,只要访问对方给的wsdl地址,就可以看到暴露的方法,
使用swagger就可以解决这个问题
2、config center问题
由于公司是通过代理上网,配置文件放到git上访问不了
更奇怪的是,我放到局域网svn上,也tmd访问不了,可能与代理有关系,这个后续看看吧
3、feign
这个其实就是让你的访问更加优雅,用过dubbo的,应该深有体会
如果没有feign,你需要用restful的原生态的接口去调用eureka服务
三、maven 依赖
spring cloud的版本是以伦敦的地铁站来命名的,很有想法,因为spring cloud本身就是
一个大杂烩,所以它的子项目的版本号并不统一,比如,spring cloud 的 Dalston.RELEASE
版本可以依赖了1.5.3的spring boot ,1.2.0的config,如果逐个配置起来很费劲,
所以spring cloud提供了一个打包方式的
maven依赖,下面的配置文件dependencyManagement部分:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.asd</groupId> <artifactId>sp_hystrix</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>sp_hystrix</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <!-- <version>Camden.SR7</version>--> <version>Dalston.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.7</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--hystrix--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency> <!--hystrix-dashboard 监控--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
starter一看就是spring boot的风格,学习spring cloud之前,可以抽2个小时先学习下spring boot的基本使用
建议用IDEA
srping cloud是基于spring boot的
在后续的使用过程中,发现大量的netflix相关包的依赖,而spring boot是pivotal贡献的,
所以,spring cloud 应该就是netflix与pivotal这两个公司沆瀣一气,搞出来的
maven将jar及相关依赖进行了管理
spring boot将框架进行了管理
spring cloud就是把让这些spring boot的项目组织起来
相关推荐
在构建基于Spring Cloud的微服务架构时,版本选型是一个至关重要的步骤,它直接影响到系统的稳定性和可维护性。Spring Cloud作为一个广泛使用的微服务框架,其版本迭代迅速,每个版本都有其特定的功能特性和生命周期...
《Spring Cloud实战》一书深入探讨了Spring Cloud这一强大的微服务框架,它是当前软件开发领域中最受欢迎的构建微服务架构的工具。Spring Cloud基于Spring Boot的便利性,为开发者提供了全面的微服务开发支持,包括...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...
Spring Cloud中文文档 Spring Cloud 是一个用于快速构建分布式系统的工具集,提供了配置管理、服务发现、断路器、智能路由、微代理、控制总线等多种功能。这些功能可以帮助开发人员快速地支持实现分布式系统中的...
SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点或者说技能点且都有对应的博客介绍,代码开箱即用适合新手学习或老司机复习。 SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点...
根据提供的文件信息,我们可以深入探讨与Spring Cloud相关的知识点。尽管文档标题和描述较为简单,但可以从这些信息中提炼出关于Spring Cloud项目的源码下载、Spring Cloud的基本概念、用途及其核心组件等方面的内容...
基于SpringCloud的快递驿站系统源码 基于SpringCloud的快递驿站系统源码 基于SpringCloud的快递驿站系统源码 基于SpringCloud的快递驿站系统源码 基于SpringCloud的快递驿站系统源码 基于SpringCloud的...
Spring Cloud 是一个强大的框架,专为开发人员设计,旨在简化构建分布式系统中的各种常见模式。分布式系统的复杂性催生了一系列模板模式,Spring Cloud 提供了一站式的解决方案,使得开发者能够快速支持并实现这些...
《SpringCloud视频学习》 SpringCloud作为微服务架构的重要实现框架,深受广大开发者的喜爱。本资源包含了两部关于SpringCloud的视频教程,由尚硅谷出品,内容详实且易于理解,是学习SpringCloud的理想资料。 一、...
springcloud生产者与消费者项目实战案例 Spring Cloud 中断路器 Circuit Breaker的应用 配置 Spring Cloud Config Server Spring Cloud Config使用Oracle数据库作为后端配置存储 Spring Cloud Config + Spring Cloud...
基于spring cloud 和vue全家桶的开源电商源码基于spring cloud 和vue全家桶的开源电商源码基于spring cloud 和vue全家桶的开源电商源码基于spring cloud 和vue全家桶的开源电商源码基于spring cloud 和vue全家桶的...
在微服务架构中,Spring Cloud Config 是一个强大的分布式配置中心,它允许开发人员将应用程序的配置存储在远程仓库中,并且可以在运行时动态地管理和更新这些配置,无需重启应用。这个特性对于大型分布式系统来说...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具包,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...
Spring Cloud Alibaba 操作手册 Spring Cloud Alibaba 是一种基于 Spring Cloud 的微服务架构解决方案,旨在帮助开发者快速构建分布式系统。该手册旨在指导开发者如何使用 Spring Cloud Alibaba 实现微服务架构的...
在"springCloud-master_单点登录_springCloud单点登录_SpringCloud系统_springcloud eureka单点登录"这个项目中,我们将重点探讨如何在SpringCloud环境中实现单点登录(Single Sign-On,简称SSO)。 单点登录是一种...
SpringCloud是中国Java开发者广泛使用的微服务框架之一,它基于Spring Boot进行快速构建,并提供了众多用于构建分布式系统的服务发现、配置管理、负载均衡、断路器等核心功能。本基础教程旨在帮助初学者全面理解并...
【尚硅谷周阳老师SpringCloud笔记】是一份深入学习SpringCloud技术体系的教程资源,由知名教育机构尚硅谷的周阳老师编撰。SpringCloud作为微服务架构的重要框架,广泛应用于现代企业的分布式系统开发中。这份笔记...
一篇很好的springCloud学习的思维导读,详细的介绍了,springCloud的搭建步骤以及各组件的说明讲解 涵盖 Eureka服务注册与发现 Zookeeper服务注册与发现 Consul服务注册与发现 Ribbon负载均衡服务调用 OpenFeign...
SpringCloud是中国Java开发者广泛使用的微服务框架,它包含了一系列组件,用于构建分布式系统。这个压缩包文件"SpringCloud 15个完整例子"提供了一系列从基础到进阶的示例项目,帮助用户深入理解并实践SpringCloud的...
SpringCloud作为微服务解决方案的集大成者,为基于SpringBoot的应用提供了构建分布式系统所需的工具,如服务发现、配置管理、断路器、智能路由、微代理、控制总线等。它使得开发者能够轻松地在SpringBoot应用中实现...