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


    背景

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

    什么是微服务?

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

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

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

    微服务的特点

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

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

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

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

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

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

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

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

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

    微服务的两大门派

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

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

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

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

    微服务的重要模块

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

  • 相关阅读:
    Vue学习笔记(一)——搭建自己的Vue项目及框架结构解释
    PG数据库表及表注释查询语句
    【pytorch问题解决】OSError: [WinError 1455] 页面文件太小,无法完成操作。
    大数据必学Java基础(一百零八):过滤器的生命周期
    音视频技术应用方向概述
    【押题】24考研押题
    Allegro如何打盲埋孔操作指导
    扬帆起航——Qt自定义控件介绍
    python导出requirements.txt的几种方法及环境配置流程
    Service介绍
  • 原文地址:https://blog.csdn.net/qq_54432917/article/details/139732172