Spring Cloud 基础一
#**Spring Cloud 基础**(学习记录一)
##什么是Spring Cloud
1、Spring Cloud是一个一站式的开发分布式系统的框架,为开发者提供了一系列的构建分布式系统的工具集;
2、Spring Cloud 为开发人员提供了快速构建分布式系统的工具(比如:配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等);
3、开发分布式系统都需要解决一系列共同关心的问题,而使用 SpringCloud可以快速地实现这些分布式开发共同关心的问题,并且方便地在任何分布式环境中部署与运行。
4、Spring Cloud这个一站式地分布式开发框架,被近年来流行的 “微服务” 架构所大力推崇,成为目前进行微服务架构的优先选择工具;
5、Spring Cloud 基于Spring Boot 框架构建微服务架构,学习Spring Cloud 首先要学习 Spring Boot 。
##Spring Cloud 快速开发入门
1、搭建和配置一个微服务
(1)创建一个 Spring Boot 工程
注:[1]dependencyManagement:Maven使用dependencyManagement元素来提供了一种管理依赖版本号的方式。通常会在一个组织或者项目的最顶层的父POM中看到dependencyManagement元素。[2]使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不是显示的列出版本号。maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后他就会使用这个dependencyManagement元素中指定的版本号。
2、Eureka注册中心
Service Provider:暴漏服务的服务提供方。
Service Consumer:调用远程服务的服务消费方。
EureKa Server: 服务的注册中心和服务发现中心。
Eureka基础:
在传统的rpc远程调用框架中,管理每个服务之间的依赖关系比较复杂,所以需要使用服务治理,管理服务与服务之间的依赖关系,可以实现服务调用,负载均衡容错等,实现服务发现与注册。
什么是服务注册与发现:
Eureka 采用了CS的设计架构,Eureka Server 作为服务注册功能的服务器,他是服务注册中心。而系统中的其他服务,使用Eureka 的客户端连接到Eureka Server并维持心跳连接。这样系统中的维护人员就能通过Eureka Server 来监控系统中各个微服务是否正常运行。
在服务的注册于发现中,有一个注册中心。当服务器启动时,会把当前自己服务器的信息 比如服务地址,通讯地址等以别名的方式注册到注册中心上。另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地RPC调用。RPC远程调用框架核心设计思想:在于注册中心,因为使用注册中心管理每个服务于服务之间的一个依赖关系(服务治理的概念)在任何RPC远程框架中,都有一个注册中心(存放服务地址相关信息(接口地址))
Eureka 包含两个组件:Eureka Server和Eureka Client
Eureka Server :提供服务注册服务
各个微服务节点通过配置启动后,会在Eureka Server中进行注册,这样
Eureka Server的注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到
EurekaClient 通过注册中心进行访问
是一个JAVA客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-Robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期没有接受到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)
推荐阅读
-
JavaScript基础教程之如何实现一个简单的promise
-
Spring Cloud GateWay 路由转发规则介绍详解
-
一篇文章带你玩转Spring bean的终极利器
-
Spring Cloud Ribbon实现客户端负载均衡的方法
-
利用Spring Cloud Config结合Bus实现分布式配置中心的步骤
-
详解Spring Cloud Hystrix断路器实现容错和降级
-
Spring学习笔记之bean的基础知识
-
spring-cloud入门之eureka-server(服务发现)
-
spring-cloud入门之spring-cloud-config(配置中心)
-
spring-cloud入门之eureka-client(服务注册)