首页 > 其他分享 >==springCloud(一)==

==springCloud(一)==

时间:2023-11-02 16:34:36浏览次数:50  
标签:服务 SpringBoot 框架 springCloud RPC SpringCloud 架构

为什么选择SpringCloud作为微服务架构

  1. 选型依据
  • 整体解决方案和框架成熟度
  • 社区热度
  • 可维护性
  • 学习曲线
  1. 当前各大IT公司用的微服务架构有那些?
  • 阿里:dubbo+HFS
  • 京东:JFS
  • 新浪:Motan
  • 当当网:DubboX

SpringCloud概念

Spring官网:https://spring.io/

==springCloud(一)==_Cloud

什么是微服务架构
微服务有什么优点

微服务就是将单个应用拆分为了多个应用(这里的应用可以理解为jar包或war包),然后通过框架提供的网关、服务治理、服务发现、服务熔断等等,给人的感觉就会像是一个应用,主要目的是拆分多个应用,一旦并发、cpu、内存达到一定的瓶颈,可以采取多机部署,分担服务器压力。

往往一个庞大的高并发的业务系统都会采用微服务。同时微服务给人的感觉就是专业的人干专业的事,订单模块就是负责订单业务,用户模块就是负责用户相关业务,这样做的好处就是项目比较好维护。

SpringCloud和SpringBoot关系

springBoot专注于快速方便的开发单个个体微服务。

SpringCloud是关注全局的微服务协调整理治理框架,它将spring boot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理,服务发现,断路器,路由,微代理,全局锁,决策精选,分布式会话等等集成服务。

SpringBoot可以离开SpringClooud独立使用,开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系

SpringBoot专注与快速、方便的开发单个个体微服务,SpringCloud关注全局的服务治理框架

SpringCloud 和Dobbo区别

最大区别:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式

严格来说,这两种方式各有优劣。虽然从一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这个优点在当下强调快速演化的微服务环境下,显得更加合适。

品牌机和组装机的区别

社区支持与更新力度的区别

**总结:**二者解决的问题域不一样:Dubbo的定位是一款RPC框架,而SpringCloud的目标是微服务架构下的一站式解决方案。

SpringCloud能干嘛?

Distributed/versioned configuration 分布式/版本控制配置

Service registration and discovery 服务注册与发现

Routing 路由

Service-to-service calls 服务到服务的调用

Load balancing 负载均衡配置

Circuit Breakers 断路器

Distributed messaging 分布式消息管理

标签:服务,SpringBoot,框架,springCloud,RPC,SpringCloud,架构
From: https://blog.51cto.com/u_16336516/8150044

相关文章

  • 微服务SpringCloud父工程pom依赖
    <!--设置为pom,管理依赖--><packaging>pom</packaging><properties><java.version>1.8</java.version><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8<......
  • SpringCloud复习:(2)@LoadBalanced注解的工作原理
    @LoadBalanced注解标记了一个RestTemplate或WebClientbean使用LoadBalancerClient来进行负载均衡。LoadBalancerAutoConfiguration类给带注解的@RestTemplate添加了拦截器:LoadBalancerInterceptor.具体流程如下:首先定义一个LoadBalancerInterceptor然后定义了一个RestTemplateC......
  • SpringCloud复习:(3)LoadBalancerInterceptor
    使用Ribbon时,execute方法会由RibbonLoadBalancerClient类来实现它会调用重载的execute方法getLoadBalancer默认会返回ZoneAwareLoadBalancer(基类是BaseLoadBalancer).此处调用的getServer方法就会根据负载均衡策略选择适当的服务器来为下一步的http请求做准备。这个execute方法......
  • SpringCloud复习:(1)netflix包里的DiscoveryClient类
    DiscoveryClient类实现了EurekaClient接口它的主要作用:服务注册,服务续约,服务下线,获取服务列表。initScheduledTasks方法用来开启定时任务来完成上述功能。上图中的代码用来从服务器定期(默认30秒)拉取服务列表(ScheduledExecutorService的应用场景)其中TimedSupervisorTask这个Run......
  • 传统的API网关和SpringCloud Gateway区别对比
    传统的API网关和SpringCloudGateway的主要区别在于架构和性能。传统的API网关通常是独立于各个后端服务的,请求会先打到独立的网关层,再转发到服务集群。而SpringCloudGateway则将流量从南北走向改为东西走向,微服务网关和后端服务是在同一个容器中的,也被称为GatewaySidecar。......
  • SpringCloud微服务多应用脚手架的搭建与部署
    最近几年SpringBoot大热,很多IT公司都开始采用SpringBoot来替换传统的SpringMVC项目。那么如何搭建一个适合开发的项目架构呢?这里我主要介绍Java程序员使用最多的两种工具进行搭建:1、MyEclipse;2、ideaMyEclipse第一步:打开MyEclipse,选择File—>New—>Other,搜索maven,点击next 第二步:......
  • 【Springcloud】Spring Cloud启动应用时指定IP或忽略某张网卡配置(eureka指定IP注册)
    参考于:https://blog.csdn.net/weixin_40783112/article/details/80396830背景springcloud服务注册到eureka,但部署的节点存在多网卡,导致服务注册到eureka的服务信息,被另外的服务无法调用到。解决方案:通过启动参数,指定IP,这样的话,注册到eureka就是可以被调用到了。-espri......
  • springcloud-gateWay
    基础模板spring:cloud:gateway:routes: -id:gulimall-search#别重复就行 uri:lb://gulimall-search#对应微服务的applicationName predicates: -Path=/api/search/**predicates的概念每一个route对应一个--->RouteDefi......
  • SpringCloudAlibaba Seata在Openfeign跨节点环境出现全局事务Xid失效原因底层探究
    原创/朱季谦曾经在SpringCloudAlibaba的Seata分布式事务搭建过程中,跨节点通过openfeign调用不同服务时,发现全局事务XID在当前节点也就是TM处,是正常能通过RootContext.getXID()获取到分布式全局事务XID的,但在下游节点就出现获取为NULL的情况,导致全局事务失效,出现异常时无法正常回......
  • SpringCloudGateway网关整合swagger3+Knife4j3,basePath丢失请求404问题
    很多人都是照着别人的文章粘代码,我也是粘的,但是这样粘也会有问题,我搞这个Knife4j3的时候遇到两个问题,这里记录一下:第一个是basePath丢失,第二个解决basePath丢失完又引发了会引起application/json数据类型参数示例的问题。在集成SpringCloudGateway网关的时候,会出现没有basePat......