springcloud


Springcloud

1. 微服务架构

1.1 为什么

2.2 是什么

将单一应用划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。

springcloud=多种微服务架构落地技术的集合体,微服务全家桶

1.3 pom文件

dependencyManagement 是maven提供的一种管理依赖版本号的方式。

使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它会使用这个dependencymanagement元素中指定的版本号。

dependencyManagement 只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。

2.服务注册中心

2.1 Zookeeper

2.2 Consul

2.2.1 是什么

Consul是一套开源的分布式服务发现和配置管理系统,有hashiCorp用go语言开发。

2.3 Nacos

2.4 Eureka

2.4.1 基础知识

  • 服务治理

Spring Cloud封装了Netflic公司开发的Eureka模块来实现服务治理。

在传统的rpc远程调用框架中,管理每个服务与服务之间的依赖关系比较复杂,需要使用服务治理管理服务与服务之间的依赖关系,可以实现服务调用、负载均衡、容错等,实现服务的注册与发现。

2.4.2 单机Eureka构建步骤

2.4.3 集群Eureka构建步骤

2.4.4 Eureka 理论

保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务。

其实就是某时刻某一个微服务不可用,Eureka不会立即清理,依旧会对该微服务的信息进行保存。

2.5 zookeaper


文章作者: 小灰灰
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小灰灰 !
评论
  目录