• 分布式


    前言

    了解什么是分布式,得先了解应用系统的分层和分割。

    分层

    分层是将系统在横向维度上切分成几个部分,每个部分负责比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。网站软件系统可分层为应用层、服务层、数据层。

    应用层:负责具体业务和视图展示。(可再细分为视图层和业务逻辑层)

    服务层:为应用层提供服务支持。(可再细分为数据接口层和逻辑处理层)

    数据层:提供数据存储访问服务。

    PS:禁止跨层次调用和逆向调用。

    分割

    分割是将系统在纵向维度上进行切分,将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,我们常说的微服务就是这样。

    分布式

    分布式部署是将不同模块(分层、分割后的模块)部署在不同的服务器上,通过远程调用协调工作。与负载均衡区别在于,负载均衡集群上的服务器的内容是相同的,而分布式集群上的是不同的。

    优点

    1、可以使用更多计算机资源,能够处理并发访问和数据量更大。

    缺点

    1、分布式服务调用必须通过网络,可能对性能影响大。

    2、越多服务器,某一机器宕机,可能导致很多应用不可用。

    3、开发管理维护复杂性、难度更高。

    常用的分布式方案

    1、分布式应用和服务

    将分层和分割后的应用和服务模块分布式部署。

    2、分布式静态资源

    网站静态资源如JS、CSS、Logo图片等资源独立分布式部署。

    3、分布式数据和存储

    海量数据进行分布式存储。

    PS:各种NOSQL产品几乎都是分布式的。

    4、分布式计算

    业务计算规模非常大的,使用Hadoop及其MapReduce分布式计算框架进行批处理计算。

    5、分布式缓存

    分布式缓存将数据缓存在一个专门的分布式缓存集群中,应用程序通过网络通信访问缓存数据。

    6、分布式文件系统 

  • 相关阅读:
    Hibernate4读取Clob数据
    JPA的Embeddable注解
    POJ 2112 Optimal Milking【网络流+二分+最短路】
    HP-UX查看版本
    这里的*号实际表示就是RAC中所有实例都使用
    [置顶] Asp.Net---css样式的使用方式
    使用Understand获取某个函数(方法)的静态度量指标
    机房收费系统的合作版
    C++内存管理学习笔记(5)
    【设计模式】Singleton模式C++实现
  • 原文地址:https://www.cnblogs.com/lovesong/p/9031899.html
Copyright © 2020-2023  润新知