四、分布式编程概述

简介: 四、分布式编程概述

一、应用程序分层

分布式应用程序由三个主要逻辑部分构成:表示逻辑、业务逻辑和数据源逻辑。


  1. 表示逻辑:终端用户可以通过它操作权限内的可操作数据,对于用户来说这部分就是应用程序;
  2. 业务逻辑:是应用程序的中心,包括定义业务运行方式的业务规则;
  3. 数据源逻辑:用于保存将来可能用到的数据,这部分逻辑的功能绝大部分是由数据库实现的,但是我们仍然需要设计数据层以及操作数据所需要的语句。


设计任何应用程序的首要之处是将应用程序的各个部分逻辑划分为不同的层次,不能将不同部分的逻辑混在一起,层与层之间只能通过良好定义的接口与另一层交互。分布式设计要遵顼五个原则:保守分布;本地化相关内容;使用 Chunky 接口,而不是 Chatty 接口;优先选用无状态对象,而不是有状态对象;接口编程,而不是具体实现的编程。


二、可伸缩性

可伸缩性用于测量当像系统中增加资源时的性能改善。伸缩方式有两中:垂直伸缩和水平伸缩。


  1. 垂直伸缩:当使用新的快速的硬件取代慢速硬件时,对于没有经过良好设计的应用程序,垂直伸缩时唯一可进行的扩展方式。但是垂直伸缩相对昂贵并且容易出现问题。
  2. 水平伸缩:当为现有应用程序添加额外的负载均衡的服务器时,即可实现水平伸缩。它可以保护当前硬件资源,并且如果其他服务器损坏,它也会为应用程序提供相应的故障保护,并且水平伸缩相对便宜,但应用程序必须支持前文所说的五个原则。


Tip:一些短期内的优化看起来很好,但是从长远来看可能会削弱可伸缩性。例如在 ASP.NET 中会使用会话对象来换从每个用户信息,这对于单台服务器的应用来说无疑是一个很好的优化,但是如果应用的服务器数量扩展到了多态,那么这个方法就无法保证不会出现问题,并且这个办法也违反了优先使用无状态对象的原则。


目录
相关文章
|
存储 分布式计算 Hadoop
分布式数据库HBase的常用操作的对应的API编程接口
HBase是一个分布式数据库系统,基于Google的BigTable和Apache Hadoop的HDFS构建。它提供了一个高性能、可扩展的数据库平台,适用于大规模的数据存储和处理。在阿里云开发者社区中,很多开发者都会使用HBase进行数据存储和处理。本文将介绍HBase的常用操作及其对应的API编程接口。
287 0
|
2月前
|
SQL 存储 网络协议
分布式的概述
分布式的概述
|
5月前
|
存储 关系型数据库 MySQL
深入OceanBase内部机制:高性能分布式(实时HTAP)关系数据库概述
深入OceanBase内部机制:高性能分布式(实时HTAP)关系数据库概述
|
6月前
|
存储 运维 分布式计算
分布式云容器平台ACK One概述
分布式云容器平台ACK One概述
106 2
|
6月前
|
分布式计算 资源调度 Hadoop
MapReduce分布式编程
MapReduce分布式编程
73 1
|
6月前
|
分布式计算 并行计算 Java
【分布式计算框架】 MapReduce编程初级实践
【分布式计算框架】 MapReduce编程初级实践
172 2
|
6月前
|
存储 Java 分布式数据库
【分布式计算框架】HBase数据库编程实践
【分布式计算框架】HBase数据库编程实践
104 1
|
6月前
|
分布式计算 数据可视化 Hadoop
【分布式计算框架】HDFS常用操作及编程实践
【分布式计算框架】HDFS常用操作及编程实践
145 1
|
6月前
|
分布式计算 监控 Hadoop
Hadoop【基础知识 02】【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
【4月更文挑战第3天】Hadoop【基础知识 02】【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
276 0
|
存储 算法 网络协议
分布式组件 ZooKeeper 介绍、术语概述以及集群搭建篇
分布式组件 ZooKeeper 介绍、术语概述以及集群搭建篇
114 0

热门文章

最新文章