网络结构模式

一、C/S结构

        服务器 - 客户机,即 Client - Server C/S )结构。 C/S 结构通常采取两层结构。服务器负责数据的 管理,客户机负责完成与用户的交互任务。客户机是因特网上访问别人信息的机器,服务器则是提 供信息供人访问的计算机。
        客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行 操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用 户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。
        在C/S 结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。

        C/S架构指的是Client/Server架构,即客户端和服务器架构。在这种架构中,软件系统被划分为两个主要部分:客户端和服务器。

  1. 客户端(Client): 客户端是用户直接与之交互的部分,通常是安装在用户设备上的应用程序。客户端负责处理用户界面、用户输入和一些本地计算。它向服务器发起请求以获取数据或执行某些操作,并将结果呈现给用户。

  2. 服务器(Server): 服务器是中央计算机或计算机集群,负责处理客户端发起的请求。服务器执行业务逻辑、存储和检索数据,并向客户端提供相应的结果。服务器端通常拥有更大的计算能力和存储资源,能够支持多个客户端同时连接

优点:

1.  能充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器,所以 C/S 结构
客户端响应速度快;
2. 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求;
3. C/S 结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程
4. 安全性较高 C/S 一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校
验,提供了更安全的存取模式,对信息安全的控制能力很强,一般高度机密的信息系统采用 C/S
构适宜。
缺点:
1.客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病
毒、硬件损坏,都需要进行安装或维护。系统软件升级时,每一台客户机需要重新安装,其维护和
升级成本非常高;
2. 对客户端的操作系统一般也会有限制,不能够跨平台。

二、B/S结构

        B/S 结构( Browser/Server ,浏览器 / 服务器模式),是 WEB 兴起后的一种网络结构模式, WEB 浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服 务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如 Firefox Internet Explorer,服务器安装 SQL Server Oracle MySQL 等数据库。浏览器通过 Web Server 同数据库进行数据交互。
  1. 浏览器(Browser): 用户通过Web浏览器(如Chrome、Firefox、Safari等)访问应用程序。浏览器负责呈现用户界面,处理用户输入,并通过网络协议与服务器进行通信。

  2. 服务器(Server): 服务器端包含应用程序的业务逻辑和数据处理部分。它接收来自浏览器的请求,执行相应的业务逻辑,然后将结果返回给浏览器。服务器通常托管应用的核心功能和数据,可能与数据库进行交互以检索或更新数据。

优点
B/S 架构最大的优点是总体拥有成本低、维护方便、 分布性强、开发简单,可以不用安装任何专门的软件就能实现在任何地方进行操作,客户端零维护,系统的扩展非常容易,只要有一台能上网的电脑就能使用。
缺点
1. 通信开销大、系统和数据的安全性较难保障 ;
2. 个性特点明显降低,无法实现具有个性化的功能要求;
3. 协议一般是固定的:http/https
4. 客户端服务器端的交互是请求 - 响应模式通常动态刷新页面,响应速度明显降低

 三、 微服务架构

        微服务(Microservices)是一种架构风格,它将一个应用程序拆分为一组小型、独立的服务,每个服务都专注于一个特定的业务功能。这些服务可以独立开发、部署、扩展和维护,从而提高系统的灵活性、可伸缩性和可维护性。微服务架构的核心思想是将大型系统划分为小型服务单元,每个服务单元都有自己的数据库和独立通信机制。

以下是微服务架构的一些关键特点和原则:

  1. 独立性(Independence): 微服务是独立的业务功能单元,每个服务都有自己的代码库、数据库和数据存储。这种独立性使得团队可以独立开发和部署服务,降低了系统的耦合度。

  2. 分布式架构(Distributed Architecture): 微服务通常是分布式的,每个服务可以运行在不同的服务器或容器中。服务之间通过网络进行通信,采用轻量级的通信机制,如HTTP或消息队列。

  3. 自治性(Autonomy): 微服务是自治的,即每个服务都有自己的开发团队和生命周期。团队可以使用不同的编程语言、框架和技术栈,使得选择最适合特定任务的技术变得更加容易。

  4. 弹性(Resilience): 微服务架构鼓励设计具有弹性的系统。由于每个服务都是独立的,因此系统在某个服务出现故障时可以保持部分功能的可用性。

  5. 轻量级通信(Lightweight Communication): 服务之间的通信通常采用轻量级的协议,例如RESTful API、JSON或消息队列。这有助于提高系统的性能和响应速度。

  6. 可伸缩性(Scalability): 微服务可以根据需求独立扩展,只需对特定的服务进行水平扩展,而不必整体扩展整个系统。

  7. 多语言支持(Polyglotism): 不同的服务可以使用不同的编程语言和技术,根据特定的需求选择最适合的工具。

        微服务架构适用于需要快速迭代、易于扩展和高度灵活的应用程序。然而,引入微服务架构也带来了一些挑战,如服务间通信的管理、一致性维护等,因此在设计和实施微服务架构时需要仔细考虑这些方面。https://www.bilibili.com/video/BV1mW4y1q7h9/?spm_id_from=333.337.search-card.all.click&vd_source=2b89fb32c94aaa076a0bbf42ab94a268

你可能感兴趣的:(linux,开发语言,gnu,ubuntu,算法)