• 区区微服务,何足挂齿?


    背景

    睿哥前天吩咐我去了解一下微服务,我本来想周末看的,结果周末没带电脑,所以只能周一看了。刚刚我就去慕课网看了相关的视频,然后写一篇文章总结一下。这篇文章算是基础理论版,等我之后进行更多的实践,我再去补充这篇文章。

    什么是微服务?

    慕课网中对于微服务给了一张这样的图片描述:

    左图是单体服务架构,用户(司机和乘客)都通过一个固定的 REST API 进入系统。

    而右图是微服务架构,系统被拆分成不同的服务,服务与服务之间通过 REST API 进行通信,而用户可以通过 API GATEWAY (网关)进入系统。

    微服务的特点

    看完视频后,我又去上网查找了一下微服务的定义,总结出来了微服务的一些特点:

    1、微服务是一种架构风格

    2、开发单个应用作为一系列小型服务(用户模块、订单模块、支付模块)的套件

    3、每个服务运行在自己的进程中

    4、不同的服务通过轻量级的机制实现彼此间的通信,这种机制通常是 HTTP 的资源 API

    5、这些服务围绕着业务功能构建,通过完全自动化的部署机制进行独立的部署。独立部署意思就是每个服务都有自己的代码库、依赖项、配置文件和数据库。

    6、这些服务的集中式管理做到了最小化(例如docker相关技术)

    7、每一种服务都可以通过不同的编程语言编写

    8、每一种服务都可以使用不同的数据存储技术

    微服务的两大门派

    微服务有两大门派,分别是 Dubbo 和 SpringCloud。

    Dubbo 的话,它提供的组件并不全面,你看上图,很多组件都是无,你需要自己去集成。

    SpringCloud 的话,它提供的组件很完全,而且全部都是自己家的,兼容性很强。

    如果打一个比喻的话,Dubbo 就是组装电脑,SpringCloud 就是品牌机。

    微服务的重要模块

    服务描述、注册中心、服务框架、负载均衡、熔断和降级、网关

  • 相关阅读:
    Android Studio中配置aliyun maven库
    通义千问:一个专门响应人类指令的大模型
    数据结构与算法拾遗八(认识复杂度)
    安卓实训作孽之Linux命令手册
    React TreeSelect设置默认展开项的方法
    单元测试(三)
    k8s面试题大全(持续更新中)
    stm32——hal库学习笔记(WWDG)
    太顶了,腾讯 T4 资深架构师梳理的 Java 核心宝典(框架 + 原理 + 笔记)
    【Zotero6】插件Zotcard自定义笔记模板流程分享
  • 原文地址:https://blog.csdn.net/qq_54432917/article/details/139732172