SpringCloud部分

SpringCloud介绍

是一系列框架的有序集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如:服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署,Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟,经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂,已部署和易维护的分布式系统开发工具包。

SpringCloud的架构

Spring Cloud的本质是在Spring Boot的基础上,增加了一堆微服务相关的规范,并对应用上下文(Application Context)进行了功能增强,既然Spring Cloud是规范,那么就需要去实现,目前Spring Cloud规范已有Spring官方,Spring Cloud Netflix,Spring Cloud Alibaba 等实现,通过组件化的方式,Spring Cloud将这些实现整合到一起构成全家桶式的微服务技术栈。

Spring Cloud Netflix组件

组件名称作用
Eureka服务注册中心
Ribbon客户端负载均衡
Feign声明式服务调用
Hystrix客户端容错保护
ZuulAPI服务网关

Spring Cloud Alibaba组件

组件名称作用
Nacos服务注册中心
Sentinel客户端容错保护

Spring Cloud原生及其他组件

组件作用
Consul服务注册中心
Config分布式配置中心
GatewayAPI服务网关
Sleuth/Zipkin分布式链路追踪

注册中心

注册中心可以说是微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就在这里找到服务的地址,然后进行调用。

主要作用:
在微服务架构中起到了协调者的作用
1.服务发现:
*******服务注册/反注册:保存服务提供者和服务调用者的信息
*******服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能
*******服务路由(可选):具有筛选整合服务提供者的能力
2.服务配置:
*******配置订阅:服务提供者和服务调用者订阅微服务相关的配置
*******配置下发:主动将配置推送给服务提供者和服务调用者
3.服务健康检测
*******检测服务提供者的健康情况

流程:

在这里插入图片描述

常见的注册中心

Zookeeper

zookeeper它是一个分布式服务框架,是Apache Hadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说zookeeper=文件系统+监听通知机制。

Eureka

Eureka是在java语言上,基于RESTful Api开发的服务注册与发现的组件,SpringCloud Netflix中的重要组件。

Consul

Consul是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件,采用Raft算法保证服务的一致性,且支持健康检查。

Nacos

Nacos是一个更易于构建云原生应用的动态服务发现,配置管理和服务管理平台。简单来说,Nacos就是注册中心+配置中心的组合,提供简单易用的特性集,帮助我们解决微服务开发必会涉及到的服务注册与发现,服务配置,服务管理等问题。Nacos还是SpringCloud Alibaba组件之一,负责服务注册与发现。

对比几个注册中心

组件名语言CAP一致性算法服务健康检查对外暴露接口
EurekajavaAP可配支持HTTP
ConsulGoCPRaft支持HTTP/DNS
ZookeeperjavaCPPaxos支持客户端
NacosjavaAPRaft支持HTTP
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值