区区微服务,何足挂齿?

背景

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

什么是微服务?

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

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

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

微服务的特点

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

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

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

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

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

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

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

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

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

微服务的两大门派

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

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

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

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

微服务的重要模块

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cesium4Unreal - # 011A Http通信

文章目录 Http通信1 思路2 步骤2.1 添加依赖模块2.2 实现Http客户端2.2.1 MyHttpActor.h2.2.1 MyHttpActor.cpp2.3 蓝图代码2.4 数据Http通信 1 思路 在 Unreal Engine中接收 Http数据,我们可以使用Unreal Engine自带的Http支持。 2 步骤 2.1 添加依赖模块 在项目的 Your…

帕金森患者在饮食上需要注意什么

帕金森病患者在饮食上应该遵循以下几个基本原则: 饮食清淡:应多吃新鲜的水果和蔬菜,如苹果、芹菜、菠菜等,以补充维生素和促进胃肠道蠕动。营养均衡:应多吃富含优质蛋白的食物,如鸡蛋、牛奶,以…

Swift开发——元组

Swift语言的数据类型包括整型、浮点型、字符串、布尔型、数组、元组、集合和字典等,本文将详细介绍元组。 01、元组 严格意义上,元组不属于数据类型,而属于数据结构。元组将一些变量或常量或字面量组织成一个有序的序列,索引号从0开始,用圆括号“()”括起来,各个元素间用…

hive 安装 嵌入模式 笔记

$ hive $ HIVE_HOME/bin/schematool -dbType derby –initSchema $ schematool -verbose -validate -dbType derby $HIVE_HOME/bin/hiveserver2 这个启动了先不要关闭,再打开一个终端进行下面的步骤 Beeline -u (用自己的名字和密码) show d…

redis每日一题:Redis哨兵是如何工作的

状态感知: (1)哨兵要知道整个集群的拓扑关系,因此每隔10秒会向master节点发送info命令,返回信息中,包含了每个slave节点的端口号。 (2)向每个master节点特殊的pubsub中发送master当…

毕业答辩PPT:如何在短时间内高效准备?

提起PPT,大家的第一反应就是痛苦。经常接触PPT的学生党和打工人,光看到这3个字母,就已经开始头痛了: 1、PPT内容框架与文案挑战重重,任务艰巨,耗费大量精力。 2、PPT的排版技能要求高,并非易事…

眼镜片怎么洗?眼镜清洗有哪些方法?超声波清洗机能洗眼镜吗?

现在戴眼镜的人有很多,但是所谓的戴眼镜容易,清洗眼镜却是比较难的一件事!不要以为眼镜好像看着不脏,然后随便用眼镜布擦一下就完事了……其实不是的! 眼镜片上面有细小的灰尘颗粒,而随着我们用眼镜布擦眼…

css之sprite

css之sprite 图片整合 sprite 优势 整合的方法 ps 新建图层(名字为英文、给定宽高、选择像素、背景内容设置透明、创建)ctrlc复制小图 ctrlv 粘贴 选择工具移动位置裁剪工具,剪掉下方多余的位置 enter导出(PNG) 精灵…

【自动驾驶】从零开始做ROS小车

文章目录 ROS机器人整体介绍运动底盘的控制(串口通信控制)运动底盘(运动学分析)ROS相关的ubuntu基础教程ROS基础干货ROS应用电机PID控制轮式机器人运动学分析自主导航图像处理深度学习语音识别 ROS机器人整体介绍 【自动驾驶】RO…

MySQL多表查询操作

一对多SQL表创建 -- 创建部门表(父表) create table dept(id int auto_increment comment ID primary key,name varchar(50) not null comment 部门名称 ) comment 部门表;-- 给部门表插入数据 insert into dept (name) values (研发部),(市场部),(财务部),(销售部),(总经办);-…

Java的JVM自测题

文章目录 一、运⾏时数据区中包含哪些区域?哪些线程共享?哪些线程独享?哪些区域可能会出现 OutOfMemoryError ?哪些区域不会出现 OutOfMemoryError ?二、说⼀下方法区和永久代的关系?三、Java 对象的创建过程&#xf…

【Linux】进程间通信2——命名管道

1. 命名管道(FIFO) 1.1. 基本概念 简单,给匿名管道起个名字就变成了命名管道 那么如何给 匿名管道 起名字呢? 结合文件系统,给匿名管道这个纯纯的内存文件分配 inode,将文件名与之构建联系,关键点在于不给它分配 D…

2024 年最新 Python 基于 LangChain 框架基础案例详细教程(更新中)

LangChain 框架搭建 安装 langchain pip install langchain -i https://mirrors.aliyun.com/pypi/simple/安装 langchain-openai pip install langchain-openai -i https://mirrors.aliyun.com/pypi/simple/ChatOpenAI 配置环境变量 环境变量 OPENAI_API_KEYOpenAI API 密钥…

生成式人工智能如何改变客户服务

生成式人工智能不仅重新定义了品牌与客户的互动方式,还重新定义了品牌如何优化内部资源,以提供更加个性化和高效的服务。 了解在就业和效率方面的挑战和机遇,使用生成式人工智能工具进行客户服务和支持任务。 生成式人工智能不仅重新定义了品…

【Quartus 13.0】EP1C3144I7 部署4*6矩阵键盘

仿照 正点原子 的 Sample 修改 V2手册 P266 没有用这个 给出的手动按键控制的矩阵模块 为 4*6 矩阵键盘外接模块 每一个按键自带led,所以对应的接口是合并在一起的一个引脚 按下后 LED 亮,vice versa 底部 LED*8 目前不清楚有什么用 或许可以变成 16进…

外链跳转到小程序原生的企业客服

备注: 在外链中,不能直接调起小程序原生客服(wx.openCustomerServiceChat)。 解决方法: 小程序里新增一个原生的过渡页面。外链跳转到过渡页面,在过渡页面添加点击事件,打开原生客服 在外链中…

Swift Combine — Publisher、Operator、Subscriber概念介绍

Combine框架介绍 Combine框架提供了一个声明式Swift API,用于处理随时间变化的值。这些值可以表示多种异步事件。Combine声明发布者公开发布可能随时间变化的值,并声明订阅者从发布者接收这些值。 Combine框架为应用程序如何处理事件提供了一种声明式的…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 02 Clos拓扑

本章回答以下问题: 什么是 Clos 拓扑,它与“接入 - 汇聚 - 核心”拓扑有何不同?Clos 拓扑的特征是什么?Clos 拓扑对数据中心网络的影响是什么? Clos拓扑 云原生数据中心基础设施的先行者们想要构建一种支持大规模水平扩展网络。 基本的Clos拓扑如图…

检查HIVE分区是否连续

检查HIVE分区是否连续 场景描述分区连续性检查语句 我们经常可能会有这样的诉求,需要对一张目标表进行分区检查,查看是否存在不连续的情况,该诉求频繁且重要,因此以下语句可以实现我们的诉求 场景描述 我们有一张表,…

精准营销是一种利用大数据和人工智能技术来定位目标客户的方法

精准营销是一种利用大数据和人工智能技术来定位目标客户的方法。下面是涉及到的用户类型和业务流程,以及开发难度评估: 用户类型: 活跃用户:经常使用产品或服务的用户。潜在用户:尚未使用产品或服务,但可能对其感兴趣的用户。流失用户:曾经使用过产品或服务,但已经停止使用或…