当前位置:首页 > 经验 >

分布式微服务架构详解(各种微服务架构图解)

来源:原点资讯(www.yd166.com)时间:2022-10-28 06:26:25作者:YD166手机阅读>>

在分布式架构中,网络通信是底层基础,没有网络,也就没有所谓的分布式架构。只有通过网络才能使得一大片机器互相协作,共同完成一件事情。

同样,在大规模的系统架构中,应用吞吐量上不去、网络存在通信延迟、我们首先考虑的都是网络问题,因此网络的重要性不言而喻。

作为现代化应用型程序员,要开发一个网络通信的应用,是非常简单的。不仅仅有成熟的api,还有非常方便的通信框架。

可能大家已经忘记了网络通信的重要性,本篇文章会详细分析网络通信的底层原理!!

1.1 理解通信的本质

如图1-1所示,当我们通过浏览器访问一个网址时,一段时间后该网址会渲染出访问的内容,这个过程是怎么实现的呢?

分布式微服务架构详解,各种微服务架构图解(1)

图1-1

我想站在今天,在做的同学都知道,它是基于http协议来实现数据通信的,这里有两个字很重要,就是“协议”。

两个计算机之间要实现数据通信,必须遵循同一种协议,否则,就像一个中国人和一个外国人交流时,一个讲英语另一个讲解中文,肯定是无法正常交流。在计算机中,协议非常常见。

1.1.1 协议的组成

我们写的java代码,计算机能够理解并且执行,原因是人和计算机之间遵循了同一种语言,那就是Java,如图1-2所示,.java文件最终编译成.class文件这个过程,也同样涉及到协议。

分布式微服务架构详解,各种微服务架构图解(2)

图1-2 java编译过程

所以,在计算机中,协议是指大家需要共同遵循的规则,只有实现统一规则之后,才能实现不同节点之间的数据通信,从而让计算机的应用更加强大。

组成一个协议,需要具备三个要素:

  • 语法,就是这一段内容要符合一定的规则和格式。例如,括号要成对,结束要使用分号等。
  • 语义,就是这一段内容要代表某种意义。例如数字减去数字是有意义的,数字减去文本一般来说就没有意义。
  • 时序,就是先干啥,后干啥。例如,可以先加上某个数值,然后再减去某个数值。
1.1.2 http协议

理解了协议的作用,那协议是长什么样的呢?

那么再来看图1-3的场景,人们通过浏览器访问网站,用到了http协议。

分布式微服务架构详解,各种微服务架构图解(3)

图1-3 http协议

http协议包含包含几个部分:

  • http请求组成
    • 状态行
    • 请求头
    • 消息主体
  • http响应组成
    • 状态行
    • 响应头
    • 响应正文

Http响应报文如图1-4所示,那么这个协议的三要素分别是:

  • 语法: http协议的消息体由状态、头部、内容组成。
  • 语义: 比如状态,200表示成功,404表示请求路径不存在等,通信双方必须遵循该语义。
  • 时序: 组成消息体的三部分的排列顺序,必须要有request,才会产生response。

而浏览器按照http协议做好了相关的处理后,才能让大家通过网址访问网络上的各种信息。

分布式微服务架构详解,各种微服务架构图解(4)

栏目热文

分布式事务一致性解决方案(springcloud分布式事务)

分布式事务一致性解决方案(springcloud分布式事务)

事务想必大家并不陌生,比如经常被人提起的ACID,但是为了后续的分布式事务的内容,我们先来聊聊 ACID,然后再介绍下什...

2022-10-28 06:21:22查看全文 >>

微服务与分布式区别(微服务与分布式的优势)

微服务与分布式区别(微服务与分布式的优势)

分布式架构是分布式计算技术的应用和工具,目前成熟的技术包括J2EE, CORBA和.NET(DCOM),这些技术牵扯的内...

2022-10-28 05:59:47查看全文 >>

架构解密从分布式到微服务(微服务和分布式最大区别)

架构解密从分布式到微服务(微服务和分布式最大区别)

深入Kubernetes微服务平台Kubernetes的概念与功能架构师普遍有这样的愿景:在系统中有ServiceA、S...

2022-10-28 06:22:00查看全文 >>

微服务单体和分布式(微服务第一单体架构)

微服务单体和分布式(微服务第一单体架构)

昨晚睡觉前,顺手撸了几个群聊的聊天记录。发现一个很有意思的名词“分布式单体”,顺藤摸瓜看了一下之前的聊天记录,由于内容骂...

2022-10-28 05:56:11查看全文 >>

java分布式和微服务有什么区别(java不适合微服务吗)

java分布式和微服务有什么区别(java不适合微服务吗)

一、微服务简介1. 微服务的诞生微服务是基于分而治之的思想演化出来的。过去传统的一个大型而又全面的系统,随着互联网的发展...

2022-10-28 05:53:48查看全文 >>

分布式和微服务项目(微服务分布式方案)

分布式和微服务项目(微服务分布式方案)

微服务架构的演变微服务架构的技术体系、社区目前已经越来越成熟。在最初系统架构的搭建,或者当现有架构已到达瓶颈需要进行架构...

2022-10-28 06:21:12查看全文 >>

分布式微服务架构的优缺点(微服务架构缺点)

分布式微服务架构的优缺点(微服务架构缺点)

【51CTO.com原创稿件】伴随着业务的快速的发展、越来越高的业务复杂度,几乎每个公司的系统都会从单体走向分布式,特别...

2022-10-28 06:13:15查看全文 >>

什么是分布式架构和微服务架构(微服务架构优缺点)

什么是分布式架构和微服务架构(微服务架构优缺点)

单体架构: 将业务的所有功能集中在一个项目中开发,打成一个包部署 优点: 架构简单 部署成本低 缺点: 耦合度高(维护困...

2022-10-28 06:39:26查看全文 >>

golabel标签编辑软件基础操作教程(golabel批量打印方法)

golabel标签编辑软件基础操作教程(golabel批量打印方法)

本节要点 - 掌握Label 和 GOTO 指令的使用 - 要点解析 (1)Label 指令。 Label 指令——标签...

2022-10-28 06:34:33查看全文 >>

golabel软件使用方法(golabel软件怎么打印标签)

golabel软件使用方法(golabel软件怎么打印标签)

今天我们要讨论的是C语言中相对比较冷门的知识关键字goto!goto关键字基础知识关键字goto表示无条件跳转的意思,类...

2022-10-28 06:35:07查看全文 >>

文档排行