为什么我选择了springcloud而不是dubbo?

2023-11-04

写好的代码越来越满足不了需求,因为需求总是在不断的变化。在技术选型时,实在是心有余而力不足。思来想去,就考虑了使用微服务架构来实现,功能模块化。今天主要讲讲为什么需要微服务架构。还是以故事的形式呈现。

一、认识微服务

阶段一:单体服务

话说小张闲着没事,就想着挣点钱,于是开了一家餐馆。店铺刚刚开张,顾客还不多。这时候就小张一个人,所以收银、做饭、洗碗、打扫卫生的任务全在小张一个人身上。

为什么我选择了springcloud而不是dubbo?

 

阶段二:微服务

小张做的饭真的是越来越好吃了,客人也越来越多,这可把小张累坏了,于是考虑着顾上几个人,跟他一块干,每个人负责一个模块。这就是微服务。分布式是什么呢?分布式和微服务的区别在于:

分布式是从部署的层面考虑的,微服务是从设计的角度来分析,

为什么我选择了springcloud而不是dubbo?

 

阶段三:分布式+微服务+集群

随着手艺的不断进步,人数那是超级多了,小李、小王和小红都忙不过来了,于是呢一个活分给几个人干,这样不就轻松了嘛。

为什么我选择了springcloud而不是dubbo?

 

是不是好了很多了,随着小张事业的不断上升,于是把功能不断地细分,一个部分的人数也不断的飙升来满足客户的需求。这就是微服务的整体进化。

总结:

单体结构:一个人把事全做了

分布式+微服务:几个人合伙做事

集群:每个人负责不同的事

当然分布式和微服务的先后顺序可能和你理解的不一样,不过大体的流程是这样的。我们举了这个例子是想让你从宏观上认识一下微服务的功能。现在注意了,我们把目光转移,转移到微服务上来。

二、为什么选用Springcloud

我们先理清楚pringcloud和springMVC,springBoot,spring的关系:

spring的主要作用就是IOC和AOP的实现,springmvc是一个底层基于servlet的mvc框架。前两个开发起来配置啥了一大堆,因此有了springboot,大大地简化了我们的开发工作,但是系统的不断复杂化,又想结合springboot的优点,因此出现了springcoud。既然springcloud能解决复杂系统出现的一些问题。那我们看看是如何解决的。

为什么我选择了springcloud而不是dubbo?

 

这张图从上往下看,你会发现,一个复杂系统出现的各个方面都有着相应的模块组件来实现。具体的使用细节在今后会退出我自己的微服务体系。结合我自己正在做的项目来实现。

微服务的框架那么多比如:dubbo、istio,为什么就要使用Spring Cloud的呢?

(1)spring家族的,他的威力就不强调了。学java的一定都会学习spring家族的框架。

(2)基于Spring Boot 可以减少我们的开发工作量。

(3)功能太齐全了。

(4)资料多,遇到问题很容易找到解决方案

而dubbo虽然用户量很大,但是由于停止维护了一段时间,给了springcloud的可乘之机。内部还有很多问题需要处理,从时间经济等等各个条件筛选,觉得还是springcloud比较好。

来源:https://www.toutiao.com/i6758332318990991879/

喜欢对你有帮助的话记得加个关注不迷路哦

还有关注我私信回复【资料】可以领取到一些个人收集的面试及电子书资料,或许对你有帮助!

为什么我选择了springcloud而不是dubbo?

 

 

为什么我选择了springcloud而不是dubbo?

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我选择了springcloud而不是dubbo? 的相关文章

随机推荐

  • NAT功能与分类

    NAT的分类 比较早的有STUN RFC3489 定义的四种类型 Full Cone A full cone NAT is one where all requests from the same internal IP address a
  • spring boot打jar包、war包的区别

    maven打包 项目的打包类型 pom jar war packing默认是jar类型
  • Jenkins (一)

    Jenkins 一 Docker Jenkins 部署 一 安装 jenkins mkdir p home tester data docker jenkins vim jenkins lts jdk11 sh jenkins lts jd
  • 【大数据】Hadoop实验报告

    文章目录 实验一 熟悉常用的Linux操作和Hadoop操作 1 实验目的 2 实验平台 3 实验内容和要求 实验二 熟悉常用的HDFS操作 1 实验目的 2 实验平台 3 实验步骤 实验三 熟悉常用的HBase操作 1 实验目的 2 实验
  • c语言里如何倒序输出字符,倒序输出字符 C语言

    匿名用户 1级 2010 11 26 回答 include include void main char string1 200 用于存放输入的字符串 char string2 200 用于存放倒序后的字符串 int invertion c
  • 6.S081笔记

    Lec 01简单介绍 XV6 OS 运行在一个RISC V微处理器上 我们用QEMU模拟RISC V 从而在一个QEMU模拟器上运行XV6 Lec 03 硬件对强隔离的支持 两种方式实现了隔离性 内核态 用户态的切换 user kernel
  • 手把手带你入门github

    前言 github是一个面向开源及私有软件项目的托管平台 什么叫面向开源呢 说白了就是把代码共享 微软以前并不秉持着开源的态度 企图以windows占有率坐拥江山 可惜开源共享的大势谁都不能阻挡 哪怕是微软帝国 这不 斥资把这个国际知名代码
  • mysql修改自增字段自增起始值

    需要修改自增字段的起始值 以使其后续插入的主键id从自定义的值开始自增 先后使用了三种方法 前两种均告失败 第三种成功 1 直接在navicat里进行设置 结果可以保存但保存无效 本方法失败 2 使用 SQL 语句进行修改 SQL 执行结果
  • 系统安装部署过程

    Linux系统安装部署过程 VMware软件的使用 第一个历程进入系统引导界面进行配置 引导项说明 1 安装centos7系统 2 测试光盘镜像并安装系统 3 排错模式
  • KB: DFS 复制超过最大离线时间引起的AD同步失败

    故障描述 域内有两台DC 辅DC无法同步SYSVOL 辅DC降级后 退域 再加入域 再升级为域控制器 依然无法同步SYSVOL 使用NET SHARE命令对两台DC进行诊断 主DC结果 共享名 资源 注解 C C 默认共享 IPC
  • 【Mysql Workbench导入excel数据】

    使用Workbench导入excel表插入数据库表 导入excel表就可以快速的插入多条数据 比如需要随机生成一些假数据到数据库表的话 数量要求比较多的情况下 使用excel生成数据再导入就很快 步骤 下面来讲解怎样导入excel表数据插入
  • 微信卡券之众多坑总结(Java)---优惠券

    1 建议一个字一个字读微信文档 从头到尾 不要只看卡券那一栏 https developers weixin qq com doc offiaccount Cards and Offer Redeeming a coupon voucher
  • Go语言实现Onvif客户端:6、获取rtsp流地址

    Go语言实现Onvif客户端 6 获取rtsp流地址 文章目录 Go语言实现Onvif客户端 6 获取rtsp流地址 1 代码 2 结果 3 查看 1 代码 获取并选择Profile token后获取rtsp流地址也是调用接口即可 Desc
  • 模块化及模块化规范

    什么是模块化 将一个项目拆分为若干块 每块之间以一定的形式进行通信 而每块内部的内容都是独立的 前端没有模块化会造成什么问题 耦合性高 不利于代码维护 污染全局的命名空间 造成代码冲突 模块化的优点 减少命名冲突 功能独立 可以按需加载 大
  • 配置git环境变量

    在配置git的时候 发现没有配置环境变量 去网上查了一下资料 以下是我配置环境变量的步骤 一 找到git安装目录 我的git的默认安装目录是在 C Program Files Git 我们打开此目录下的bin文件 就可以看到如下图所示 这里
  • elementUI name is required, * is required

    先来看看问题表现 表单如下
  • 得物技术网络优化-CDN资源请求优化实践

    1 前言 为用户提供更加流畅的App使用体验是我们的目标 作为电商类App 社区 交易相关业务强依赖图片 视频 文件等静态资源 由于这些静态资源部署在CDN上 因此本文统称为 CDN资源 虽然部署到CDN服务后提升了CDN资源的请求性能 但
  • Python3 报错TypeError: string indices must be integers

    python sort 方法排序 遇到了报错 TypeError string indices must be integers 代码如下图 1 这个错误的意思是 字符串下标必须要是整数 2 当然还有另外一种情况 就是通过字典去取字段 例
  • 秋招-算法-查分与前缀和数组篇

    秋招 算法 查分与前缀和数组篇 差分数组 差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减 1109 航班预订统计 class Solution public int corpFlightBookings int bookin
  • 为什么我选择了springcloud而不是dubbo?

    写好的代码越来越满足不了需求 因为需求总是在不断的变化 在技术选型时 实在是心有余而力不足 思来想去 就考虑了使用微服务架构来实现 功能模块化 今天主要讲讲为什么需要微服务架构 还是以故事的形式呈现 一 认识微服务 阶段一 单体服务 话说小