springcloudNetflix简介与生态

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月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

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
编解码 Dubbo 应用服务中间件
Alibaba开源Dubbo源码解析手册,竟引领出RPC的新潮流
前言 Apache Dubbo,一款由阿里巴巴于2011年开源的高性能Java RPC框架,自开源以来在业界产生了深远影响。有大量公司广泛使用,甚至很多公司的自研RPC框架中都能看到Dubbo的影子。Dubbo在国内服务化体系演进过程中扮演了重要角色。尽管经历了几年的沉寂,但在阿里巴巴重启对Dubbo的开源维护,Dubbo正在从微服务领域的高性能RPC框架逐步演变为一个完整的微服务生态。 对于开发者来说,深入了解Dubbo底层的架构设计和实现是一项挑战。因此,一份完整的、体系化的对Apache Dubbo进行深入原理剖析的手册就显得尤为重要。
|
3月前
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
86 0
|
3月前
|
消息中间件 Java RocketMQ
微服务架构师的福音:深度解析Spring Cloud RocketMQ,打造高可靠消息驱动系统的不二之选!
【8月更文挑战第29天】Spring Cloud RocketMQ结合了Spring Cloud生态与RocketMQ消息中间件的优势,简化了RocketMQ在微服务中的集成,使开发者能更专注业务逻辑。通过配置依赖和连接信息,可轻松搭建消息生产和消费流程,支持消息过滤、转换及分布式事务等功能,确保微服务间解耦的同时,提升了系统的稳定性和效率。掌握其应用,有助于构建复杂分布式系统。
67 0
|
NoSQL 架构师 Java
京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统
Java 的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。 1. 一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论是新手还是老手都能快速上手,快速掌握页面渲染、数据库访问等常用技术。也要求开发框架能尽量多地集成第 方工具,以便信手拈来。最后,还希望在开发调试过程中,方便代码更改后能快速重启。
|
6月前
|
Cloud Native Dubbo 应用服务中间件
【Dubbo3高级特性】「微服务云原生架构」带你从零基础认识搭建公司内部服务用户中心体系(实战指南-序章)
【Dubbo3高级特性】「微服务云原生架构」带你从零基础认识搭建公司内部服务用户中心体系(实战指南-序章)
205 0
|
6月前
|
Java fastjson 数据安全/隐私保护
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
156 0
|
6月前
|
Java Docker 微服务
阿里P8携手腾讯T4谈微服务架构实战:深入浅出Cloud+boot+Docker
微服务”架构在这几年被广泛传播,变得非常火热,以至于关于微服务架构相关的开源框架和工具都变得越来越活跃,比如: Netflix OSS. Dubbo. Apache Thrift等。Spring Cloud也因为Spring社区在企业应用领域的广泛知名度和强大影响力,受到了广大架构师与开发者的高度关注。
|
NoSQL Java Redis
爱了!阿里巴巴内部出品“SpringBoot+微服务指南”,理论与实战
爱了!阿里巴巴内部出品“SpringBoot+微服务指南”,理论与实战 有幸从一位朋友那里得到Alibaba内部出品强推的“SpringBoot+微服务学习指南”,秉承好东西的当然要共享的原则,今天就来秀一把,试试这“Springboot+微服务学习指南”是否也能让你事半功倍! Spring Boot 构建小系统到架构分布式大系统(理论+实战)
|
Java 微服务 Spring
下一篇
无影云桌面