Layers vs. Tiers 及部署模式 【DDDD笔记】

简介: Layers vs. Tiers Layers refer to the logical division of components and functionality, and not to the physical location of components in different servers or places.

Layers vs. Tiers

Layers refer to the logical division of components and functionality, and not to the physical location of components in different servers or places. Conversely, the term Tiers refers to the physical distribution of components and functionality in separate servers, including the network topology and remote locations.

Layers是逻辑上划分,Tiers是物理上的划分,两者有区别

Traditional N-Layer architecture (Logical)    3-Tier Architecture (Physical)

image        image

 

Tier如何选择,一般的建议如下:

Consider “2-Tier” pattern if:


Web application: The intention is to develop a typical Web application, with the highest performance and no network security restrictions. If the intention is to increase scalability, the Web server should be cloned in multiple balanced servers.

Client-server application. The intention is to develop a client-server application that directly accesses a database server. This scenario is very different, since all the logical layers would be located at a client tier that in this case would be the client PC. This architecture is useful when there is a need for higher performance and quick access to the database, however, client-server architectures have many scalability, maintenance and troubleshooting problems, since the entire business logic and data access are moved to one single tier which is the user‟s PC, and they are left at the mercy of the different configurations of each end user. This case is not recommended in most situations.

image

以前常见的C/S程序在RAD环境下开发基本是这种类型

Consider “3-Tier” pattern if:

 The intention is to develop a “3-Tier” application with remote client running in the user client machine (“Rich-Client”, RIA, OBA, etc.) and an application server with web services publishing the business logic.
 All application servers can be located in the same network.
 An application called “intranet” is being developed where the security requirements do not require the separation of the presentation layer from the business layers and data access.
 The intention is to develop a typical Web application with the maximum performance

image

目前我们常用的形式

Consider “N-Tier” pattern if:


 There are security requirement demands where the business logic cannot be deployed in the perimeter network where the presentation layer servers are located.
 There is a very heavy application code (it uses the server resources intensively) and to improve the scalability, such business component functionality is separated at other server levels.

 

 

image

对于比较大型的项目使用的形式

 

详细参考资料:

http://www.cnblogs.com/2018/archive/2011/09/02/2163278.html

相关文章
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch基础之网络模块torch.nn中函数和模板类的使用详解(附源码)
PyTorch基础之网络模块torch.nn中函数和模板类的使用详解(附源码)
363 0
|
2月前
|
机器学习/深度学习 计算机视觉
YOLOv10实战:SPPF原创自研 | SPPF_attention,重新设计加入注意力机制 | NEU-DET为案列进行展开
【7月更文挑战第1天】 优点:为了利用不同的池化核尺寸提取特征的方式可以获得更多的特征信息,提高网络的识别精度; 如何优化:在此基础上加入注意力机制,能够在不同尺度上更好的、更多的获取特征信息,从而获取全局视角信息并减轻不同尺度大小所带来的影响; SPPF_attention,重新设计加入注意力机制 ,在NEU-DEU任务中mAP50从0.683提升至0.703;
282 3
|
4月前
|
机器学习/深度学习 算法 TensorFlow
浅谈keras的扩展性:自定义keras
keras是一种深度学习的API,能够快速实现你的实验。keras也集成了很多预训练的模型,可以实现很多常规的任务,如图像分类。TensorFlow 2.0之后tensorflow本身也变的很keras化。另一方面,keras表现出高度的模块化和封装性,所以有的人会觉得keras不易于扩展, 比如实现一种新的Loss,新的网络层结构; 其实可以通过keras的基础模块进行快速的扩展,实现更新的算法【2月更文挑战第10天】
66 1
|
API 算法框架/工具
越来越火的tf.keras模型,这三种构建方式记住了,你就是大佬!!!
越来越火的tf.keras模型,这三种构建方式记住了,你就是大佬!!!
109 0
|
并行计算 PyTorch 测试技术
PyTorch 之 简介、相关软件框架、基本使用方法、tensor 的几种形状和 autograd 机制-2
由于要进行 tensor 的学习,因此,我们先导入我们需要的库。
|
机器学习/深度学习 人工智能 自然语言处理
PyTorch 之 简介、相关软件框架、基本使用方法、tensor 的几种形状和 autograd 机制-1
PyTorch 是一个基于 Torch 的 Python 开源机器学习库,用于自然语言处理等应用程序。它主要由 Facebook 的人工智能小组开发,不仅能够实现强大的 GPU 加速,同时还支持动态神经网络,这一点是现在很多主流框架如 TensorFlow 都不支持的。
|
PyTorch 算法框架/工具
Pytorch疑难小实验:理解torch.cat()在不同维度下的连接方式
Pytorch疑难小实验:理解torch.cat()在不同维度下的连接方式
237 0
|
并行计算 算法框架/工具 异构计算
创建keras环境步骤
0 下载并安装miniconda
150 0
创建keras环境步骤
|
机器学习/深度学习 存储 PyTorch
PyTorch学习系列教程:Tensor如何实现自动求导
今天本文继续PyTorch学习系列。虽然前几篇推文阅读效果不是很好(大体可能与本系列推文是新开的一个方向有关),但自己选择的路也要坚持走下去啊! 前篇推文介绍了搭建一个深度学习模型的基本流程,通过若干个Epoch即完成了一个简单的手写数字分类模型,效果还不错。在这一过程中,一个重要的细节便是模型如何学习到最优参数,答案是通过梯度下降法。实际上,梯度下降法是一类优化方法,是深度学习中广泛应用甚至可称得上是深度学习的基石。本篇不打算讲解梯度下降法,而主要来谈一谈Tensor如何实现自动求导,明白这一过程方能进一步理解各种梯度下降法的原理。
316 0
PyTorch学习系列教程:Tensor如何实现自动求导
|
机器学习/深度学习 存储 并行计算
PyTorch学习系列教程:何为Tensor?
本文继续PyTorch学习系列教程,来介绍在深度学习中最为基础也最为关键的数据结构——Tensor。一方面,Tensor之于PyTorch就好比是array之于Numpy或者DataFrame之于Pandas,都是构建了整个框架中最为底层的数据结构;另一方面,Tensor又与普通的数据结构不同,具有一个极为关键的特性——自动求导。今天,本文就来介绍Tensor这一数据结构。
498 0
PyTorch学习系列教程:何为Tensor?