ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringCloud知识点整理

2022-08-16 13:31:57  阅读:161  来源: 互联网

标签:知识点 服务 Spring Eureka 注册 SpringCloud 整理 Server Cloud


一、SpringCloud 如何实现服务的注册?

  1. 首先创建一个maven主工程。
  2. 创建2个model工程:一个model工程作为服务注册中心,即Eureka Server,另一个作为Eureka Client。
  3. 启动一个服务注册中心,只需要一个注解@EnableEurekaServer,这个注解需要在springboot工程的启动application类上加
  4. eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。
  5. eureka server 是有界面的,启动工程,打开浏览器访问
  6. 创建一个服务提供者 (eureka client)通过注解@EnableEurekaClient 表明自己是一个eurekaclient。要在配置文件中注明自己的服务注册中心的地址需要指明spring.application.name在以后的服务与服务之间相互调用一般都是根据这个name
  7. 启动工程,打开eureka server 的网址

二、Eureka是什么?

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。
Eureka包含两个组件:Eureka Server和Eureka Client。
Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。
在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
Eureka Server之间通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API。综上,Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。

三、注册中心的页面都有哪些信息展示?

  • 系统状态
  • eureka集群
  • 注册到eureka的服务
  • JVM的信息
  • 当前服务的信息

四、什么是 Spring Cloud ?

Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态)。协调分布式环境中各个系统,为各类服务提供模板性配置。使用Spring Cloud, 开发人员可以搭建实现了这些样板的应用,并且在任何分布式环境下都能工作得非常好,小到笔记本电脑, 大到数据中心和云平台。
Spring Cloud官网的定义比较抽象,我们可以从简单的东西开始。Spring Cloud是基于Spring Boot的, 最适合用于管理Spring Boot创建的各个微服务应用。要管理分布式环境下的各个Spring Boot微服务,必然存在服务的注册问题。所以我们先从服务的注册谈起。既然是注册,必然有个管理注册中心的服务器,各个在Spring Cloud管理下的Spring Boot应用就是需要注册的client
Spring Cloud使用erureka server, 然后所有需要访问配置文件的应用都作为一个erureka client注册上去。eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳,在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。

五、Spring Cloud的核心组件有哪些?

  • Eureka(nacos类似)
  • Feign(OpenFeign类似)
  • Ribbon
  • Hystrix
  • zull

六、SpringCloud和 Dubbo 的区别?

  1. dubbo由于是二进制的传输,占用带宽会更少
  2. springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大
  3. dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决
  4. springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级
  5. dubbo的注册中心可以选择zk,redis等多种,springcloud的注册中心用eureka或者自研(选择较少)

七、SpringBoot和SpringCloud 的关系?

  1. Spring Cloud是一个基于Spring Boot实现的云应用开发工具;Spring Cloud是多个Spring boot微服务的集合
  2. Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;
  3. spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。
  4. Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。

标签:知识点,服务,Spring,Eureka,注册,SpringCloud,整理,Server,Cloud
来源: https://www.cnblogs.com/lym21/p/16589924.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有