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


2024一起卷吧

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

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

目录

  • 什么是微服务
  • 微服务的本质
  • 特点以及使用场景
  • 知识扩展
    • 分布式与微服务的区别
    • 面试问题

什么是微服务

维基百科这样介绍:

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

微服务的本质

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

特点以及使用场景

微服务框架的特性:

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

使用场景:

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

知识扩展

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

  • Spring Cloud
  • Spring Cloud Alibaba
  • Dubbo
  • RPCGRPCTRPC

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

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

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

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

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

知识扩展

分布式与微服务的区别

简单来说:

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

面试问题

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

待补充······

你可能感兴趣的:(微服务,分布式,架构)