一、微服务是什么?

二、什么是分布式

总结

前言

今天在工作中和一个刚毕业同事在讨论软件设计问题,把微服务误用为分布式了,另一哥们儿直接吐槽:大哥那是微服务...然后就是各种说教。

哎!这不又让我这种小白受了刺激,所有必须把这个问题再次了解下...于是就有了这篇文章,编程几年了以前都是遇见问题查博客,第一次自己写文章,如有大佬觉得写不好,还希望留言指教。

一、微服务是什么?

维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。

微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常

● 有自己的堆栈,包括数据库和数据模型;

● 通过REST API,事件流和消息代理的组合相互通信;

● 和它们是按业务能力组织的,分隔服务的线通常称为有界上下文。

尽管有关微服务的许多讨论都围绕体系结构定义和特征展开,但它们的价值可以通过相当简单的业务和组织收益更普遍地理解:

● 可以更轻松地更新代码。

● 团队可以为不同的组件使用不同的堆栈。

● 组件可以彼此独立地进行缩放,从而减少了因必须缩放整个应用程序而产生的浪费和成本,因为单个功能可能面临过多的负载。

二、什么是分布式

分布式架构是 分布式计算技术的应用和工具,目前成熟的技术包括J2EE, CORBA和.NET(DCOM),这些技术牵扯的内容非常广,相关的技术,相关的书籍也非常多,本文不介绍这些技术的内容,也没有涉及这些技术的细节,只是从各种分布式系统平台产生的背景和在软件开发中应用的情况来探讨它们的主要异同。

分布式找了很多博客或者网上资源都没有合适的定义,从上面百度百科的概念上比较认同的分布式其实将上述的微服务进行部署在不同的服务器上,以实现资源共享且提高计算机的效率。

总结

网上很多关于二者的区别,只会越看越晕,其实微服务和分布式就没有官方明确的定义,所有没有具体的区别,只能根据自己理解写点记录,欢迎参与讨论

微服务更倾向于垂直方向拆分,比如电商网站的用户模块,商品模块,订单模块等垂直方向的拆分。

分布式更倾向于水平方向拆分,将如现在比较流行的前后端分离,将前端和后端独立部署,再者后端也可以根据不通业务层进行拆分;比如原数数据层,数据清洗层,数据获取表现层等拆分后的分开部署。

最后借用打个比方你去点餐,服务员,厨师,配菜师就是分布式;分布式是微服务的一种表现形式;分布式重在部署,微服务重在设计。

微服务与分布式的理解相关推荐

  1. Redis 集群,分布式,微服务概念和区别理解

    概念: 集群是个物理形态,分布式是个工作方式. 分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 1:分布式是指将不同的业务分布在不同的地方.而集群指的是将几 ...

  2. 微服务和分布式的区别

    分布式架构是分布式计算技术的应用和工具,目前成熟的技术包括J2EE, CORBA和.NET(DCOM),这些技术牵扯的内容非常广,相关的书籍也非常多,也没有涉及这些技术的细节,只是从各种分布式系统平台 ...

  3. 【微服务】什么是微服务?微服务与分布式的区别?微服务怎么具体实践微服务?服务端发现和客户端发现...

    目录 什么是微服务 微服务与分布式的区别 HOW - 怎么具体实践微服务 So What - 思考 服务发现 微服务之客户端发现,服务端发现 参考资料和推荐阅读 什么是微服务 https://zhua ...

  4. 【微服务】什么是微服务?微服务与分布式的区别?微服务怎么具体实践微服务?服务端发现和客户端发现

    目录 什么是微服务 微服务与分布式的区别 HOW - 怎么具体实践微服务 So What - 思考 服务发现 微服务之客户端发现,服务端发现 参考资料和推荐阅读 什么是微服务 https://zhua ...

  5. 微服务和分布式的概念和区别

    目录 1.微服务和分布式概念 2.区别: 总结: 1.微服务和分布式概念 具体可以看下面这个连接 (19条消息) 单机,集群,分布式,微服务服务器_@seven@的博客-CSDN博客 2.区别: 分布 ...

  6. 一、【SpringCloud】微服务与分布式架构

    狂神-SpringCloud笔记目录 文章目录 一.微服务与分布式架构 1.1分布式架构 1.2微服务架构 1.3分布式架构的四个核心问题 与解决方案 1.4 Spring Cloud 五大组件 1. ...

  7. 微服务和分布式的区别是什么?

    个人理解,欢迎理性讨论~ 感觉一块想的话确实有点混淆,我们可以分开去想~ 微服务: 单体应用:过往的系统只需要启动一个服务完成所有的事情; 微服务:就是把应用拆封成多个(每个完成所有事情的其中一件或几 ...

  8. 微服务与分布式产生的背景和区别

    微服务背景:由于互联网的发展,至今已经逐渐迈向成熟,然而对于公司的单体项目(所有代码放入一个项目部署)来讲,项目里面的代码数量已经多到百万,甚至千万等单位,一旦出现问题,维护起来将十分困难,同样对于互 ...

  9. 微服务和分布式学习专栏

    1. 为什么会出现微服务和分布式? 更新中... 转载于:https://www.cnblogs.com/xingyunblog/p/9767879.html

最新文章

  1. 第28篇 js中let和var
  2. carthage update --no-use-binaries --platform mac,ios
  3. php如何进修,PHP进修材料汇总华文_PHP教程
  4. 算法练习——ACM_1001_Exponentiation
  5. 临时手机验证码_实用网站(一)短信验证码 临时网盘 临时邮箱
  6. 会议交流 | IJCKG 2021:Keynotes released!欢迎注册参会
  7. python该怎样使用_Python 应该怎么去练习和使用?
  8. 为GridView-Delete列添加确认对话框(2种方法)
  9. redis中的key设置了过期时间了还会在持久化到文件中吗
  10. Unity通过键盘按键控制小球移动
  11. 快速计算子网掩码和主机块
  12. 遗传算法之:地图着色
  13. JAVA毕设项目-网上订餐系统(附:源码 论文 Sql文件)
  14. 基于PL/SQL的数据库备份方法
  15. java-php-python-ssm校园易购二手交易平台计算机毕业设计
  16. 计算集群MOSIX-3.1.1.1.for_kernel-3.2.23 配置
  17. 微访谈:引爆微博舆论爆发的导火索
  18. 什么是面向接口编程、面向过程编程、面向对象编程?
  19. 万亿流量转发引擎BFE开源,技术派百度再次秀肌肉
  20. 计算机专业 排名 国际,计算机专业世界大学排名ARWU

热门文章

  1. 分支语句:if、switch、while、do...while、fot
  2. 最好用的Unity版本控制工具
  3. lvgl gui项目|基于编写的lvgl 8.1的GUI,欢迎学习体验
  4. linux下使用ccat让你的cat高亮显示
  5. Vue移动端flexible.js+MuseUi
  6. 【第十篇】Flowable中的候选人组
  7. R语言|文本挖掘应用|标签云
  8. Intel Tick-Tock策略简介
  9. 云原生桌面:虚拟桌面的解构与重新定义
  10. python 每日一练