springcloudNetflix简介与生态

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月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)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
7月前
|
SQL 前端开发 程序员
拥抱开源,构建未来:王嘉树与 TDengine 的开源之旅
在当代的技术浪潮中,开源文化不仅催生了无数创新技术,也为广大技术爱好者提供了一个展示才华、相互学习的平台。我们今天采访到的这位北京邮电大学电子工程学院的研究生,就是在这样的背景下,通过开源活动不断探索、学习并实现自我突破的典型代表,他就是王嘉树。
64 0
业界新标杆!阿里开源自研高并发编程核心笔记(2023最新版)
提到并发编程很多人就会头疼了;首先就是一些基础概念:并发,并行,同步,异步,临界区,阻塞,非阻塞还有各种锁全都砸你脸上,随之而来的就是要保证程序运行时关键数据在多线程中的可见性、核心业务的原子性、多线程通信的有序性。虽然很多人工作可能接触不到这些的东西,但是面试就是得问。假如你跟一个有过高并发编程经验的人一起面试同一个岗位,你就是背了些面试题,而人家是确确实实有真东西的,那后续的录用结果想必就不用我多说了吧~
|
人工智能 自动驾驶
MiniGPT4,开源了!
MiniGPT4,开源了!
363 0
|
NoSQL 搜索推荐 数据管理
MongoDB University推出全新课程,助推开发者生态系统发展,提升开发者技术能力
让所有人都能随时随地、以任意方式进行学习,提升全民数据技能
MongoDB University推出全新课程,助推开发者生态系统发展,提升开发者技术能力
|
移动开发 API 图形学
全能型开源引擎LayaAir周边生态LayaNative完全开源
全能型开源引擎LayaAir周边生态LayaNative完全开源
全能型开源引擎LayaAir周边生态LayaNative完全开源
|
SQL 分布式计算 资源调度
各种相关开源系统简介
  如下是Apache基金支持的开源软件   hdfs   跟GFS类似, 一个分布式文件系统。   mapreduce   跟Google的MapReduce类似, 一个典型的简单的分布式计算框架。   yarn
123 0
|
存储 大数据 分布式数据库
SARO平台发展和架构简介
背景 什么是搜索离线 搜索是因应互联网海量数据检索查找的需求而诞生的,阿里巴巴商品搜索亦是如此,随着淘宝/天猫商品数量的不断增加,如何为用户从海量的商品库中找到心仪的目标变成了越来越大的挑战。
4097 1
|
中间件 atlas Android开发
阿里巴巴开源移动容器化框架Atlas的技术演进之路
在2017云栖大会深圳峰会开源专场上,阿里巴巴手淘技术部资深技术专家倪生华(玄黎)做了题为《Atlas-容器化演进之路》的精彩演讲,玄黎从Atlas的发展、特性、技术原理以及开源运作等四个方面为大家分享了手淘的移动容器化框架Atlas的技术演进之路。
6894 0
|
关系型数据库 Linux 程序员
关于开源,你必须知道的: "君子协定"
为什么在一个技术论坛里冒出这篇法律和知识产权相关的分享呢? 因为,开源和自由软件是推动社会技术发展的重要力量,作为一个优秀的程序员,你一定会接触,学习和使用到开源软件,所以是一定要知道开源界最基本的游戏规则的
12556 1