springcloud 相同服务名_浅谈分布式与微服务

     分布式和微服务是什么关系?简单来说,分布式和微服务的概念比较相似,分布式属于微服务。但是分布式和微服务在架构、作用和粒度上有所区别。因此,两者的关系是既相互联系又相互区别。本文主要带大家认识分布式和微服务,并探讨一下两者的关系,感兴趣的小伙伴可以接着看下去。

bbfa37aa072180fde5e8bf5792ae066e.png

微服务

      微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。

分布式

      分布式服务顾名思义服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过rpc来交互或者是webservice来交互的。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用。

关  系

      联系:分布式只是一种手段,把不同的机器分散在不同的地方,然后这些机器间相互协助完成业务。微服务是一种特殊的分布式,换句话说,微服务架构是分布式服务架构的子集。微服务架构通过更细粒度的服务切分,使得整个系统的迭代速度并行程度更高,但是运维的复杂度和性能会随着服务的粒度更细而增加。微服务重在解耦合,使每个模块都独立。分布式重在资源共享与加快计算机计算速度。

区  别

(1)架构不同:微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

(2)作用不同:分布式:不同模块部署在不同服务器上,分布式主要解决的是网站高并发带来问题。微服务:各服务可独立应用,组合服务也可系统应用。

(3)粒度不同:微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势,不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。

SpringCloud和Dubbo

  • SpringCloud和Dubbo都是现在主流的微服务架构,SpringCloud是Apache旗下的Spring体系下的微服务解决方案,Dubbo是阿里系的分布式服务治理框架

  • 从技术维度上,其实SpringCloud远远的超过Dubbo,Dubbo本身只是实现了服务治理。dubbo就像组装机,springcloud就像品牌一体机,更加强大,它是微服务架构下的一站式解决方案

  • 服务的调用方式Dubbo使用的是RPC远程调用,而SpringCloud使用的是 Rest API,其实更符合微服务官方的定义

  • 服务网关,Dubbo并没有本身的实现,只能通过其他第三方技术的整合,而SpringCloud有Zuul路由网关

  • 作为路由服务器,进行消费者的请求分发,SpringCloud还支持断路器,与git完美集成分布式配置文件支持版本控制,事务总线实现配置文件的更新与服务自动装配等等一系列的微服务架构要素

Rest和RPC对比

      其实如果仔细阅读过微服务提出者马丁福勒的论文的话可以发现其定义的服务间通信机制就是Http Rest。RPC最主要的缺陷就是服务提供方和调用方式之间依赖太强,我们需要为每一个微服务进行接口的定义,并通过持续继承发布,需要严格的版本控制才不会出现服务提供和调用之间因为版本不同而产生的冲突。REST是轻量级的接口,服务的提供和调用不存在代码之间的耦合,只是通过一个约定进行规范,但也有可能出现文档和接口不一致而导致的服务集成问题,但可以通过swagger工具整合,是代码和文档一体化解决,所以REST在分布式环境下比RPC更加灵活。

SpringBoot和SpringCloud

      SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的基于Maven的解决方案,旨在快速搭建单个微服务,而SpringCloud专注于解决各个微服务之间的协调与配置,服务之间的通信,熔断,负载均衡等;技术维度并相同,并且SpringCloud是依赖于SpringBoot的,而SpringBoot并不是依赖与SpringCloud,甚至还可以和Dubbo进行优秀的整合开发。

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

  • SpringCloud是关注全局的微服务协调整理治理框架,整合并管理各个微服务,为各个微服务之间提供,配置管理,服务发现,断路器,路由,事件总线等集成服务

  • SpringBoot不依赖于SpringCloud,SpringCloud依赖于SpringBoot,属于依赖关系

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

Eureka和ZooKeeper

    分布式系统中的三个重要特性:

  • 一致性(Consistency)

  • 可用性(Availability)

  • 分区容错性(Tolerance of network Partition)

      CAP原理是指这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式架构设计时,必须做出取舍。而对于分布式数据系统,分区容忍性是基本要求,否则就失去了价值。因此设计分布式数据系统,就是在一致性和可用性之间取一个平衡。对于大多数WEB应用,其实并不需要强一致性,因此牺牲一致性而换取高可用性,是多数分布式数据库产品的方向。

ZooKeeper保证的是CP,Eureka保证的是AP,ZooKeeper在选举期间注册服务瘫痪,虽然服务最终会恢复,但是选举期间不可用的,Eureka各个节点是平等关系,只要有一台Eureka就可以保证服务可用,而查询到的数据并不是最新的。

自我保护机制会导致:

  • Eureka不再从注册列表移除因长时间没收到心跳而应该过期的服务

  • Eureka仍然能够接受新服务的注册和查询请求,但是不会被同步到其他节点(高可用),当网络稳定时,当前实例新的注册信息会被同步到其他节点中(最终一致性)

  • Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像ZooKeeper一样使得整个注册系统瘫痪

ZooKeeper有Leader和Follower角色,而Eureka各个节点平等;ZooKeeper采用过半数存活原则,Eureka采用自我保护机制解决分区问题;Eureka本质上是一个工程,而ZooKeeper只是一个进程。

       eureka自我保护机制

       当Eureka Server 节点在短时间内丢失了过多实例的连接时(比如网络故障或频繁启动关闭客户端)节点会进入自我保护模式,保护注册信息,不再删除注册数据,故障恢复时,自动退出自我保护模式。

GetMapping、PostMapping区别,PutMapping、DeleteMapping

  • @GetMapping用于将http get请求映射到特定处理程序的方法注解,属于组合注解,是@RequestMapping(method=RequestMethod.GET)的缩写

  • 请求资源应该使用GET  

  • 添加资源应该使用POST  

  • 更新资源应该使用PUT  

  • 删除资源应该使用DELETE

45fe6b97bf37175995d0c37f349077d3.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bat 变量 文件内容第一行_VBA基础入门(38)FSO生成bat文件后执行的实例

1.首先,我们回顾下FSO是什么?文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件…

ps怎么更改背景图层大小_PhotoShop处理图层的一些技巧方法、PS图层处理教程

一、了解图层以及为什么它们如此有用。1.在“图层”面板中查看和选择图层2.层包含组成分层文件的图像,文本或对象。它们使您可以在一层上移动,编辑和使用内容,而不会影响其他层上的内容。3.图层在“ 图层”面板中按堆栈排列,该面板…

使用计算机画画需要什么软件,专业电脑绘画用的是什么工具?

满意答案srCDG3SL62013.11.13采纳率:57% 等级:12已帮助:11125人电脑硬件配置(CPU,内存,显卡等)越高,绘制大图时,软件不会卡。就会画的很流畅。特别是Painter,模拟自然画笔越真实,…

中如何移动物体在画面中的位置_组合柜摆在客厅中什么位置最旺运?客厅中,财位是如何确定的?...

组合柜摆在客厅中什么位置最旺运?组合柜在风水中的重要性不如沙发,但要注意的宜忌事项也有很多。风水上讲高者为山,低者为水,有高有低,有山有水,才符合风水原理。在客厅中,低的沙发是水&#xf…

计算机概论在线阅读,计算器概论 or 计算机概论

计算机硬件的五大单元输入单元、输出单元、CPU内部控制单元、算数逻辑单元、主存储器。中央处理器 CPU Central Processing UnitCPU 的种类精简指令集 Reduced Instruction Set Computing, RISCSun SPARCIBM Power Architecture复杂指令集 Complex Instruction Set Comp…

四川大学计算机学院赵怡,【喜讯】我校计算机学院学子在蓝桥杯大赛全国总决赛中再获佳绩...

在第十一届蓝桥杯“全国软件和信息技术专业人才大赛”省赛上,我校选手面对包括北京大学、清华大学、上海交通大学、北京航空航天大学、武汉大学、西安交通大学、北京理工大学、四川大学、电子科技大学、吉林大学、东北大学等在内的1200余所高校,6万余名顶…

2002勘察设计收费标准_上海装修设计师的收费标准是什么?

目前家装行业的发展趋势全是特别迅速的,一点都不落后于房地产业的发展趋势,因此目前在好多大城市全是各式各样的家装公司,这篇以上海装修公司为例,向大伙儿详细介绍一下上海装修设计公司的有些收费标准,看一下绝大多数…

colab清理gpu缓存_安卓手机为什么会变卡?强制GPU渲染手机就能变流畅?你真的懂吗...

使用过安卓手机的朋友都知道,安卓手机最大的毛病就是卡顿,那你知道安卓手机变卡的原因吗?还有网上很多教程说开启“强制进行GPU渲染”手机就会变流畅,真的是这样吗?我们先来了解安卓手机为什么会变卡:安卓手…

脉冲宽度调制pdm_STM32第七章-脉冲宽度调制

先说在开头啊,我们学习定时器总感觉它是很难的,这里我就不说他的编程难度,而是对于它的理解难度。学习定时器你就必须了解他的来龙去脉。比如说你现在要使用一个定时器,那么先要决定你要用哪一个定时器,是高级定时器还…

苹果13系统锁屏延迟_iPhone11 锁屏出现延迟,iOS13 新 Bug?

点击 哎咆科技 关注我们这两天很多人在后台反应,用 iPhone11 锁屏的时候出现了延迟的情况。虽然延迟并不是很长,但还是会有“卡顿”的感觉。咆哥:我最近也感觉到了。于是很多同学认为,是不是 iOS13 系统的问题?你们多虑…

ctf 改变图片高度_每天一分钟,python一点通(opencv的图片处理方法)

有网友私信小编说,小编的文章很好,讲解的也很详细,但是有些知识点很深奥,对初学者不是很友好,回想小编的文章虽然几乎每条代码都有介绍,但是很多函数没有太详细,小编后期会重启《每天一分钟&…

计算机休眠能降低硬件损耗,Win7居然会出现“失眠”——Win7无法休眠问题解析...

许多用户在安装了win7以后,都出现了无法使用休眠功能的问题,当用户暂时不使用电脑或离开电脑时,系统不能进入休眠状态,使得节电与减少硬件损耗都不能正常进行,显示器也会长时工作,这加速了电脑的整体老化。…

4键电子手表说明书_数字S1系统7寸门口主机操作说明书

1.产品概述随着社会发展的日新月异,人们的生活开始步入网络时代,数字化浪潮席卷了各行各业,传统的楼宇对讲产品也逐渐朝着数字化、网络化、信息化和智能家居的方向发展,它不再只扮演一个访客身份确认系统的角色,而是成…

重构html布局,HTML重构:战术篇

上文书我们说到《HTML重构:战略篇》,书接前言下面是战术篇,我们通过路线图来先有一个大体印象:1、HTML规范化(Well-Formedness):语法正确2、HTML Validity :语义正确3、不仅仅是语义正确:HTML元…

enas 参数共享_CVPR2020 | CARS: 华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR10上仅需单卡半天...

点击上方“CVer”,选择加"星标"或“置顶”重磅干货,第一时间送达本文转载自:晓飞的算法工程笔记为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题,参考ENAS和NSGA-III,论文提出连续进化结构搜索…

gradle引入子module配置_原创 | 看完此文,你对Gradle的理解又升级了

前言这一篇来介绍一些Gradle进阶的内容,当然进阶内容非常多,这篇文章就总结一些相对重要的、常用的一些知识点,比如Gradle的签名配置和依赖管理。1.Android签名文件配置在一般公司中,当团队比较小的时候,App的签名信息…

怎樣制作线段动画_OPPO又开发布会!这两个PPT动画太炫了,荣获网友清一色好评...

前两天,OPPO在线上发布了find X2系列,观看发布会直播的时候,真的有被发布会的开场惊艳到,视觉体验太震撼了。这是我随便录的一个动画,满满的视觉冲击力:在看完发布会之后,我对整场发布会印象最深…

文件服务器的文件设置只读,服务器设置文件为只读

服务器设置文件为只读 内容精选换一换有,该NTP服务器仅限于在华为云控制台上购买的弹性云服务器安装使用。如需在购买的弹性云服务器上安装NTP服务器,您可以选择使用华为云控制台自己提供的NTP服务器,也可以选择其他NTP服务器。安装NTP服务器…

手机修改ntp服务器地址,修改手机ntp服务器ip地址

修改手机ntp服务器ip地址 内容精选换一换本文介绍使用云手机服务时需要了解的基本概念。云手机是一台包含原生安卓操作系统,具有虚拟手机功能的云服务器,简单来说,云手机云服务器Android OS。您可以远程实时控制云手机,实现安卓AP…

window10维护不了华为服务器,win10怎么打开云服务器异常

win10怎么打开云服务器异常 内容精选换一换本节介绍如何查看云服务器的mac地址。云服务器的mac地址不支持修改。登录Linux云服务器。执行以下命令,查看云服务器的mac地址。ifconfig查看MAC地址ifconfig登录Linux云服务器。执行以下命令,查看云服务器的ma…