微服务是什么、分布式与微服务的区别(一句话说明白连载版)


2024一起卷吧

见者有缘,缘来好运🍀诚邀各位围观我的博客【CS_GUIDER】👇
🧑‍💻个人主页: wl2o2o
✒️博客主页: CSGUIDER(好玩) CSGUIDER(实用)
⭐八股专栏: JavaU8G(内置MusicPlayer)

我的开源博客涵盖了八股文、设计模式、网站搭建、数据库、Linux系统的教程和笔记。我致力于为您提供Java编程的实用指南和资源,包括Java框架、JVM、微服务以及Git。无论您是初学者还是经验丰富的开发人员,都可以从中获益。谢谢您的光临!

🐳什么是微服务

维基百科这样介绍:

image.png

🐳微服务的本质

把一个大项目,根据业务逻辑拆分为一个个小模块,模块之间通过 HTTP 或者其他网络通讯协议进行相互调用,这样的项目叫做微服务项目。

特点以及使用场景

微服务框架的特性:

  • 每个服务都容易被取代。
  • 服务是以能力来组织的,例如用户界面、前端、推荐系统、账单或是物流等。
  • 由于功能被拆成多个服务,因此可以由不同的编程语言、数据库实现。
  • 架构是对称而非分层(即生产者与消费者的关系)。

使用场景:

  • 适用于具持续交付(Continuous Delivery)的软件开发流程。
  • 与服务导向架构(Service-Oriented Architecture)不同,后者是集成各种业务的应用程序,但微服务只属于一个应用程序。

知识扩展

微服务可以使用什么技术实现?

  • Spring Cloud
  • Spring Cloud Alibaba
  • Dubbo
  • RPCGRPCTRPC

为什么微服务架构受欢迎?

  • 降低系统耦合性:通过将功能分解到各个离散的服务中,微服务架构降低了系统的耦合性,使得各个服务能够独立地进行开发、部署和扩展。
  • 提高灵活性:由于每个服务都是独立的,可以对不同的服务使用不同的技术栈和编程语言,提高了技术的灵活性和效率。
  • 便于维护和调试:每个服务都是独立的,当出现问题时,可以迅速定位并修复问题,不会对整个应用程序造成影响,提高了系统的可维护性和稳定性。
  • 易于水平扩展:每个服务都可以独立地进行水平扩展,提高了系统的可扩展性。当某个服务的负载增加时,可以单独对该服务进行扩展,而不会影响其他服务。
  • 促进业务创新:微服务架构是更面向业务创新的一种架构模式,使得开发团队可以更快地响应业务需求的变化,提高开发效率和应用程序的迭代速度。

从语雀这次 P0 级事故,我们可以学到什么?

  • 可监控
  • 可灰度
  • 可回滚

image.png

知识扩展

💻分布式与🐳微服务的区别

简单来说:

  • 分布式就是把一个大的项目拆分,部署到多台机器;
    微服务是把项目按照功能进行拆分。
  • 分布式项目对标单机项目
    微服务项目是与整个项目的业务逻辑进行对比的。

面试问题

什么是分布式锁?什么是单机锁?
分布式锁?顾名思义,分布式锁就是要考虑到多台机器的场景

待补充······

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CS_GUIDER

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值