springcloudNetflix简介与生态

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 集群是个物理概念,是指同一个系统,部署在多台服务器上,将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度。


image.png

1.集群,分布式和负载均衡服务器

集群是个物理概念,是指同一个系统,部署在多台服务器上,将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度。

至于集群服务器之间如何分工,需要引入负载均衡的概念了,负载均衡是指将请求分摊到多个操作单元也就是分开部署的服务器上,nginx是常用的反向代理服务器,可以用来做负载均衡。集群与负载均衡之间有紧密联系,可以结合理解。

2.分布式

分布式侧重将一个系统拆分成多个业务单元,例如一个门户网站里面可能有登录、视频、图片等,每一个都可以拆分出来独立部署,而且每一个都可以弄成集群,视频服务集群,图片服务集群,主系统可以对这些子系统进行调用,子系统之间可以有调用关系也可以没有,看实际业务情况。

3.分布式优点

  1. 增大系统容量。我们的业务量越来越大,而要能应对越来越大的业务量,一台机器的性能已经无法满足了,我们需要多台机器才能应对大规模的应用场景。所以,我们需要垂直或是水平拆分业务系统,让其变成一个分布式的架构。
  2. 加强系统可用。我们的业务越来越关键,需要提高整个系统架构的可用性,这就意味着架构中不能存在单点故障。这样,整个系统不会因为一台机器出故障而导致整体不可用。所以,需要通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性。
  3. 因为模块化,所以系统模块重用度更高。
  4. 因为软件服务模块被拆分,开发和发布速度可以并行而变得更快。
  5. 系统扩展性更高 6.团队协作流程也会得到改善。

4.Spring Cloud简介

Spring Cloud 是基于Spring Boot  的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring  boot 框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。 Spring Cloud 包含了非常多的子框架,其中,Spring  Cloud Netflix是其中一套框架,由Netflix开发后来又并入Spring  Cloud大家庭,它主要提供的模块包括:服务发现、断路器和监控、智能路由、客户端负载均衡等。

5.Spring Cloud组成

  1. Spring Cloud Config 配置中心,利用git集中管理程序的配置。
  2. Spring Cloud Netflix 集成众多Netflix的开源软件
  3. Spring Cloud Bus 消息总线,利用分布式消息将服务和服务实例连接在一起,用于在一个集群中传播状态的变化
  4. Spring Cloud for Cloud Foundry 利用Pivotal Cloudfoundry集成你的应用程序
  5. Spring Cloud Cloud Foundry Service Broker 为建立管理云托管服务的服务代理提供了一个起点。
  6. Spring Cloud Cluster 基于Zookeeper, Redis, Hazelcast, Consul实现的领导选举和平民状态模式的抽象和实现。
  7. Spring Cloud Consul 基于Hashicorp Consul实现的服务发现和配置管理。
  8. Spring Cloud Security 在Zuul代理中为OAuth2 rest客户端和认证头转发提供负载均衡
  9. Spring Cloud Sleuth SpringCloud应用的分布式追踪系统,和Zipkin,HTrace,ELK兼容。
  10. Spring Cloud Data Flow 一个云本地程序和操作模型,组成数据微服务在一个结构化的平台上。
  11. Spring  Cloud Stream 基于Redis,Rabbit,Kafka实现的消息微服务,简单声明模型用以在Spring Cloud应用中收发消息。  12、Spring Cloud Stream App Starters 基于Spring Boot为外部系统提供spring的集成
  12. Spring Cloud Task 短生命周期的微服务,为SpringBooot应用简单声明添加功能和非功能特性。
  13. Spring Cloud Task App Starters
  14. Spring Cloud Zookeeper 服务发现和配置管理基于Apache Zookeeper。
  15. Spring Cloud for Amazon Web Services 快速和亚马逊网络服务集成。
  16. Spring Cloud Connectors 便于PaaS应用在各种平台上连接到后端像数据库和消息经纪服务。
  17. Spring Cloud Starters (项目已经终止并且在Angel.SR2后的版本和其他项目合并)
  18. Spring Cloud CLI 插件用Groovy快速的创建Spring Cloud组件应用。

6.Spring Cloud Netflix

Eureka,服务注册和发现,它提供了一个服务注册中心、服务发现的客户端,还有一个方便的查看所有注册的服务的界面。 所有的服务使用Eureka的服务发现客户端来将自己注册到Eureka的服务器上。

Zuul,网关,所有的客户端请求通过这个网关访问后台的服务。他可以使用一定的路由配置来判断某一个URL由哪个服务来处理。并从Eureka获取注册的服务来转发请求。

Ribbon,即负载均衡,Zuul网关将一个请求发送给某一个服务的应用的时候,如果一个服务启动了多个实例,就会通过Ribbon来通过一定的负载均衡策略来发送给某一个服务实例。

Feign,服务客户端,服务之间如果需要相互访问,可以使用RestTemplate,也可以使用Feign客户端访问。它默认会使用Ribbon来实现负载均衡。

Hystrix,监控和断路器。我们只需要在服务接口上添加Hystrix标签,就可以实现对这个接口的监控和断路器功能。

Hystrix Dashboard,监控面板,他提供了一个界面,可以监控各个服务上的服务调用所消耗的时间等。

Turbine,监控聚合,使用Hystrix监控,我们需要打开每一个服务实例的监控信息来查看。而Turbine可以帮助我们把所有的服务实例的监控信息聚合到一个地方统一查看。这样就不需要挨个打开一个个的页面一个个查看。

7.spring cloud流程图

image.png

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
XML 前端开发 Cloud Native
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
|
1月前
|
监控 Java 中间件
蚂蚁金服:开源增强版 SpringBoot 的研发框架
蚂蚁金服:开源增强版 SpringBoot 的研发框架
46 1
|
6月前
|
Cloud Native Apache
电子好书分享《Apache Dubbo3 云原生升级与企业最佳实践》
电子好书分享《Apache Dubbo3 云原生升级与企业最佳实践》
94 1
|
消息中间件 Kubernetes Java
Spring Cloud Alibaba 生态发展和近期规划 | 学习笔记
快速学习 Spring Cloud Alibaba 生态发展和近期规划
142 0
Spring Cloud Alibaba 生态发展和近期规划 | 学习笔记
|
消息中间件 Kubernetes Java
Spring Cloud Alibaba 生态发展和近期规划
Spring Cloud Alibaba 的诞生得益于过往数十年处理淘系电商高并发大流量业务所积累的技术经验,阿里巴巴内部沉淀了一套包括限流降级、分布式配置、注册中心、分布式消息、分布式事务等完整的微服务解决方案,比如 Sentinel、RocketMQ 等。 2015 年 6 月, Spring Cloud 第一个正式版本发布后,得益于 SpringBoot 奠定的用户群体基础,再加上 Spring Cloud 本身较为完善的解决方案能力和简单易上手的特点,迅速成为微服务技术圈热点。
Spring Cloud Alibaba 生态发展和近期规划
|
Cloud Native Java API
Spring Framework 5.3.0正式发布,在云原生路上继续发力(上)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(上)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(上)
|
移动开发 前端开发 小程序