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


    背景

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

    什么是微服务?

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

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

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

    微服务的特点

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

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

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

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

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

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

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

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

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

    微服务的两大门派

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

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

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

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

    微服务的重要模块

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

  • 相关阅读:
    MySQL的逻辑架构
    【FAQ】应用内支付服务无法拉起支付页面常见原因分析和解决方法
    [附源码]计算机毕业设计springboot学生综合数据分析系统
    OPengl学习(二)——opengl环境搭建
    Spring整合mqtt原理分析
    连续10年霸榜第一?程序员「最常用」的编程语言是它?
    电源模块选型指导
    kubernetes(3)
    【Java】判断语句if.....&选择语句switch......
    一键体验 Istio
  • 原文地址:https://blog.csdn.net/qq_54432917/article/details/139732172