技术架构-单机架构

前言

    从今天开始系统学习 Docker 课程,总结下 Docker 是什么,用来做什么,架构是怎样的。

注:(1)当浏览器 / APP访问服务器时,如果服务器适用的时 http 协议,那么默认端口时80,如果服务器适用的时 https 协议,那么默认端口是443。

        (2)DNS 服务器做的工作:比如访问 www.taobao.com,这只是一个域名,但是如果要在网络中找到一个资源 / 服务器,需要知道 IP才可,DNS就是将这个 域名转化成 IP 地址的。

1. 简介

    单机架构:就是将应用服务和数据库服务以及其他服务全部部署到一台服务器上,此时这台服务器就相当于一个单个的机器,所以称为单机架构。

2. 出现原因

    在互联网早期,用户量都是比较小的,所以没有很多的访问量,此时一个单机架构就可以满足需求,因为一台服务器的各种资源都是有限的,

3. 架构工作原理

    如下图所示:假设一个用户在客户端上用浏览器访问淘宝网站,此时访问 www.taobao.com 是不能直接在网络中找到这台服务器的,首先要经过 DNS 域名解析服务器,之后这个 DNS 服务器返回给浏览器一个 IP 地址,这个IP地址就相当于服务器的门牌号一样,之后浏览器才可以找到这个淘宝的服务器,假设就用 http 协议进行访问,此时默认端口就是 80,因为一个端口就对应着一个进程,一个进程就是一个服务,这个服务绑定了80端口,这个淘宝服务中有:用户,商品,交易 这么多的模块,用户模块用来负责用户的登录和注册,商品负责商品的录入和浏览,交易模块用来下单和购买,整体构成了淘宝这个服务,然后所有的数据都存到数据库中,数据库中有用户表,商品表,交易表.......

    单机架构:就是将上述的服务都部署在一台服务器上,此时这种架构就被称为单机架构。

4. 技术案例

    还是以淘宝这个服务为例,用户访问了淘宝这个网站之后,服务器首先需要查一下该网站内有哪些商品,此时淘宝就在对应的数据库中查一下所有的商品,数据库查到商品信息之后,就返回给应用,应用拿到这些数据之后,服务不用经过DNS服务器了再返回给浏览器了,DNS 只是再开始的时候告诉浏览器的IP(服务器的门牌号),之后用户的浏览器就可以直接和淘宝服务器之后进行通信了,之后前端再把这些数据渲染成页面的形式展现给用户。这个就是单机架构的工作原理。

    如下图所示:此时就是一个具体的实例应用,下图中的 tomcat 对应着上图服务的三个模块,三个应用中就是写的 Java 的代码,代码以应用 / 服务 的形式对外提供服务,在 tomcat 组件中运行,数据库可以是 MySQL,也可以是其他的数据库。

5. 架构优缺点

    优点:1. 部署简单,因为所有的服务都是在一台服务器中。

               2. 成本低,只需要一台服务器即可,不够购买更多的服务器。

    缺点:1. 存在性能瓶颈,因为一个服务器以及拥有的内存都是有限的,如果访问量很大的话服                       务器会崩溃 / 宕机。

               2. 正因为一台服务器的内存是有限的,如果服务器只有很少的内存,但是服务和数据库                        需要的内存很大,此时就会进行资源的抢占,就出现访问网站的时候需要一直等待。

 

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

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

相关文章

解决内存泄漏问题,Profiler工具的使用介绍

什么是内存泄漏 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 以上是官方针对内存泄漏的说法。说的通俗一点&#x…

mongodb导出聚合查询的数据

❗️❗️❗️在正文之前先要讲一个坑,就是mongoexport这个命令工具不支持导出聚合查询的数据,比如通过某某字段来分组 我查了一天关于mongoexport怎么来导出聚合查询的结果集,最终还是gpt给了我答案 😭 既然mongoexport不支持&…

赛氪助力全国大学生数学竞赛山东赛区圆满举办

近日,全国大学生数学竞赛山东赛区比赛有序进行,赛氪已连续6年助力本项赛事蓬勃发展。在中国高等教育学会高校竞赛评估与管理体系研究专家工作组发布的《2022全国普通高校大学生竞赛分析报告》中,本赛事荣登观察目录。 全国大学生数学竞赛旨在…

Matlab导出高清图片方法

一、背景 使用matlab绘制图片后,需要将图片导出为.jpg或.eps格式以便后期使用。但通过文件–另存为.jpg时,并没有清晰度选择,导出的图片只有30几k,以至于图片很模糊。 二、Matlab导出高清图片方法 文件—导出设置 1、大小&…

智慧畜牧小程序开发流程

本文将详细介绍智慧畜牧小程序的开发流程,包括需求分析、设计、开发、测试和上线等环节。同时,将深入思考智慧畜牧小程序的发展趋势和未来挑战,为读者提供有深度的思考和逻辑性的分析。 一、需求分析 1.明确目标用户:首先…

【MATLAB源码-第73期】基于matlab的OFDM-IM索引调制系统不同子载波数目误码率对比,对比OFDM系统。

操作环境: MATLAB 2022a 1、算法描述 OFDM-IM索引调制技术是一种新型的无线通信技术,它将正交频分复用(OFDM)和索引调制(IM)相结合,以提高频谱效率和系统容量。OFDM-IM索引调制技术的基本思想…

Stable Diffusion:最先进的文本生成图像模型

稳定扩散 生成式 AI 技术正在迅速发展,现在可以简单地根据文本输入生成文本和图像。Stable Diffusion 是一种文本到图像模型,使您能够创建逼真的应用程序。 扩散模型通过学习去除添加到真实图像中的噪声进行训练。这种降噪过程会产生逼真的图像。这些模…

SpringCloudGateway--Sentinel限流、熔断降级

目录 一、概览 二、安装Sentinel 三、微服务整合sentinel 四、限流 1、流控模式 ①直接 ②关联 ③链路 2、流控效果 ①快速失败 ②Warm Up ③排队等待 五、熔断降级 1、慢调用比例 2、异常比例 3、异常数 一、概览 SpringCloudGateway是一个基于SpringBoot2.x的…

[工业自动化-12]:西门子S7-15xxx编程 - PLC从站 - ET200 SP系列详解

目录 一、概述 1.1 概述 二、系统组成 2.1 概述 2.2 与主站的通信接口模块 2.3 总线适配器 2.4 基座单元 2.5 电子模块 2.6 服务器模块 一、概述 1.1 概述 PLC ET200 SP 是西门子(Siemens)公司生产的一款模块化可编程逻辑控制器(PL…

Python教程之字典(Dictionary)操作详解

文章目录 前言一、创建字典二、访问字典里的值三、访问字典里的值四、删除字典元素五、字典键的特性六、字典内置函数&方法七、字典练习代码关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Py…

Spring Boot自动配置原理、实战、手撕自动装配源码

Spring Boot自动配置原理 相比较于传统的 Spring 应用,搭建一个 SpringBoot 应用,我们只需要引入一个注解 SpringBootApplication,就可以成功运行。 前面四个不用说,是定义一个注解所必须的,关键就在于后面三个注解&a…

Elasticsearch内存分析

文章目录 Elasticsearch JVM内存由哪些部分组成Indexing BufferNode Query CacheShard Request CacheField Data CacheSegments Cache查询 非堆内存内存压力mat分析es的jvm缓存监控 Elasticsearch JVM内存由哪些部分组成 官方建议Elasticsearch设置堆内存为32G,因为…