首页 > 其他分享 >Springcloud 开始来了解

Springcloud 开始来了解

时间:2023-05-14 16:25:49浏览次数:47  
标签:服务 Netflix Spring springcloud Eureka 了解 Springcloud 开始 Cloud

为什么要学习springcloud?

“微服务 ”一词源于Martin Fowler 的名为 Microservices 的博文,简单地说, 微服务是系统架构上的一种设计风格, 它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。 被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建, 并且每个服务都维护着自身的数据存储、 业务开发、自动化测试案例以及独立部署机制。 由千有了轻量级的通信协作基础, 所以这些微服务可以使用不同的语言来编写。

简言之:我们告别单机模式,我们要实现多个机子间的交互,处理更加复杂的事务,提出springcloud这种“全家桶”的新生态。

分布式系统是什么?

项目越来越复杂,如果只要一个容器装载全部代码,当需要对代码修改等情况很容易出现导致整个系统瘫痪的问题,多人合作同一份代码导致代码可维护性差,分布式系统把代码分布在多个不同的容器,每个容器间互不影响,代码模块化,更利于开发的维护,各模块分工会更清晰。

分布式系统和微服务的关系?

关于分布式系统和微服务,两者都只是一种概念。如果你采用微服务,就意味着系统一定是分布式的,分布式系统具有的优缺点在微服务理都会体现,个人理解微服务是分布式系统的一种具体落地方案。

三大公司

大家开始提出各种优秀的分布式框架。。

1.Spring Cloud NetFilx 一站式解决方案

Spring Cloud Netflix 是由 Netflix 开源的,并且由 Spring 项目集成到 Spring Cloud 中的,主要用于构建大型分布式项目。

Spring Cloud Netflix 主要提供以下功能

  • Eureka:服务注册发现,Eureka 主要分为 Server 和 Client。是微服务架构的核心功能之一,Eureka是借助于Spring Cloud中的熔断器Hytrix实现的容错。
  • Hystrix:断路器,熔断机制
  • Zuul:智能路由
  • Ribbon:客户端的负载均衡

api网关,zuul组件

Feign--HttpClient--Http通信方式,同步,阻塞

Spring Cloud Netflix官网

Spring Cloud Netflix

Spring Cloud Netflix中文文档

Spring Cloud Netflix 中文文档 参考手册 中文版

 

2.Apache Dubbo Zookeeper 半自动,专注于RPC和SOA框架

 

API:没有,找第三方组件或者自己实现

Dubbo

Zookeeper

3.SpringCloud Alibaba一站式解决方案

包含的组件

 

 面试问题:

1.什么是微服务?

2.微服务之间是如何独立通讯的?

3.SpringCloud和Dubbo有哪些区别?

4.SpringBoot和SpringCloud之间的关系? springcloud是一个生态,集成了springboot可考验的部分,springboot离开springcloud可以独自建立一个项目,但是springcloud不能离开springboot,springboot就是springcloud的一个技术栈

5.什么是服务熔断?什么是服务降级?

6.微服务的优缺点是什么?说下你在项目开发遇到的坑

7.你所知道的微服务技术栈有哪些?列举一二

8.Eureka和zookeeper都可以提供服务注册和发现的功能,它们的区别是?

两者的区别,提一下分布式架构中的CAP理论,即一个分布式框架,只能同时满足C一致性、A可用性、P网络分区容错性这三者中的两个,不可能同时兼备三者。ZK更专注于CP,而Eureka更专注于AP;对于容错机制,Dubbo自身实现了多个错误处理方式,比如失败切换Failover、快速失败Failfast、失败安全Failsafe等,,而Eureka借助springcloud提供的熔断器Hytrix实现的容错;对于负载均衡,Dubbo自身实现了多种负载均衡方式,比如随机权重、哈希一致性等,Eureka同样是将此功能外放,通过Ribbon等实现了负载均衡;对于服务注册和发现,Dubbo自身封装了NettyClient等通讯工具,而Eureka都是采用的应用层通讯HttpClient。

zk保证CP, Eureka保证AP, Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像zookeeper那样使整个注册服务瘫痪。

技术栈:

 传统架构图:

哭了。。好多啊

 

标签:服务,Netflix,Spring,springcloud,Eureka,了解,Springcloud,开始,Cloud
From: https://www.cnblogs.com/MyBlogs-joyiyii/p/17399414.html

相关文章

  • 我对IdentityServer4的初步了解
    官网:https://identityserver4.readthedocs.io/en/latest/quickstarts/2_interactive_aspnetcore.html官网例子:https://github.com/IdentityServer/IdentityServer4/tree/main/samples/Quickstartsis4,我的理解是,独立的用户认证授权框架,为多个不同系统,提供一个公共的认证授权服务,a......
  • 二、SpringCloud Alibaba使用RestTemplate
    新建模块Producer,pom.xml如下:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http......
  • RE0:从取模开始的AKIOI生活
    取模\(\%\)的定义设\(m=qn+r(0\ler<q)\),则记\(m\equivr(mod\q)\),在\(C++\)中写作\(m\%q=r\)。举例:\(1\%3=1\)\(5\%3=2\)对负数取模也是一样的。在\(C++\)中的负数取模的结果。\(-5\%3=-1\)\(5\%-3=1\)\(-5\%-3=-1\)\(\%\)的性质......
  • 一、SpringCloud Alibaba之Nacos作为注册中心
    一、简介SpringCloud阿里巴巴旨在为微服务开发提供一站式解决方案。该项目包括开发分布式应用程序和服务所需的组件,以便开发人员可以使用SpringCloud编程模型轻松地开发分布式应用。使用SpringCloudAlibaba,只需要添加一些注释和配置,就可以将阿里巴巴的分布式解决方案用于您的......
  • SpringCloud LoadBalancer
    SpringCloud提供了自己的客户端负载均衡器抽象和实现。对于负载平衡机制,增加了ReactiveLoadBalancer接口,并为其提供了基于RoundRobin和Random的实现。负载均衡策略默认是RoundRobin。支持ServiceInstanceListSupplier的基于服务发现的实现,该实现使用类路径中可用的发现客户端从......
  • 良好的项目,从选择服务器开始 - 记一次服务器选配风波
    近期公司业务上线,需要至少3~5台服务器,来完成业务部署但是在选购服务器的时候,老板本着能省就省的态度,说是项目初期,没啥预算,嘚吧嘚吧一大堆于是寻找服务器的重任就交到了我的手里,开始了寻找服务器之旅...通过对比腾讯云和阿里云服务器,发现2家的价格差异还是比较明显的首先看......
  • 创建SpringCloud项目
    SpringCloud简介SpringCloud是目前国内使用最广泛的微服务框架。SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。SpringCloud常用组件1.服务注册发现:Eureka,Nacos,Consul2.服务远程调用:OpenFeign,Dubbo3.服务链路......
  • SpringCloud之Zookeeper作为配置中心
    Zookeeper提供了一个分层的命名空间,让客户端可以存储任意数据,例如配置数据。SpringCloudZookeeperConfig是ConfigServer和Client的替代方案。在特殊的“bootstrap”阶段,配置被加载到Spring环境中。默认情况下,配置存储在/config命名空间中。将根据应用程序的名称和活动配置文件......
  • LFS - Linux From Scratch 从零开始全记录 - 1 准备篇
    上次折腾LFS已经是好几年前了,只记得最后用VMware引导成功了,好多技术细节已经不记得了。趁着最近有空,再来折腾一次。这一次用的一台新的Win10PC,目标是在一个U盘上构建LFS,然后用U盘引导物理机,顺便记录一下整个过程。准备阶段下载虚拟机、Ubuntu镜像下载安装Microso......
  • [SpringCloud]Spring-Cloud-Gateway之启动过程(源码分析)
    1前言1.1环境信息Spring-Cloud-Gateway:2.2.9.RELEASEorg.springframework.boot:spring-boot:2.3.12.RELEASEio.projectreactor.netty:reactor-netty:0.9.20.RELEASEio.netty:netty-transport:4.1.65.FINAL2启动过程#与Netty的调用链路2.1简版(V1.0)cn.seres.b......