本文作者:admin

web分布式架构的优点?

芯岁网络 2024-12-16 04:18 0 0条评论

一、web分布式架构的优点?

速度快,兼容性强,代码封装效果好

二、mpp架构与分布式架构区别?

MPP架构和分布式架构的区别在于服务器不同,数据不同。

首先,MPP架构是以处理能力为中心的,而分布式架构是以数据为中心的,前者将批量数据分发到不同的节点上,并在其中组织计算任务,而后者用一组容错的节点复制,存储和处理数据。此外,MPP架构倾向于使用巨型专用服务器,而分布式架构使用更多的小规模服务器。最后,MPP架构以大量的物理集线器和网络技术为基础,而分布式架构以网络共享技术为基础

三、web端常用架构?

一、单DB架构

  单DB架构一般就是nginx直接upstream请求到后端Tomcat,扩容时基本是增加新的Tomcat实例,然后通过Nginx负载均衡upstream过去,此时数据库还不是瓶颈,但是当访问量达到一定级别后数据库的压力就上来了,单个数据库可能扛不住,可以通过分表分库或者读写分离加缓存来解决。

二、DB+Cache/数据库读写分离架构

   此时通过使用数据库读写分离或者Redis这种缓存来支撑更大的访问量,但是使用缓存会存在与数据库数据不一致的问题,或者Redis不能直接命中数据库导致数据库压力过大,可以考虑使用Redis的主从或者用一致性哈希算法做分片的Redis集群。使用缓存这种架构,要求应用对数据一致性的要求不是很高。

三、OpenResty+Local Redis+Mysql集群架构

    OpenResty首先通过Lua读取本机Redis缓存,如果命不中,则回源到后端Tomcat集群,后端Tomcat集群再读取Mysql数据库,Redis都是安装到和OpenResty同一台服务器上,OpenResty直接读取本机可以减少网络延时。Redis通过主从方式同步数据。

四、OpenResty+Redis集群+Mysql集群架构

   此时架构与之前架构不同的是,此时我们使用一致性哈希算法实现Redis集群,而不是读取本机Redis,保证其中一台不可用时,只有很少的数据会丢失,防止击穿到数据库。Redis集群分片可以使用Twemproxy如果Tomcat实例很多的话,就要考虑Redis和Mysql链接数问题,因为大部分Redis/Mysql客户端都是通过连接池实现,此时链接数会成为瓶颈,一般方法是通过中间件来减少链接数。

   此时的问题就是Twemproxy实例众多,应用维护、配置困难,需要在这之上做负债均衡,比如,通过LVS/HaProxy实现VIP(虚拟Ip),可以做到切换对应用透明,故障自动转移。还可以通过实现内网DNS来做其负载均衡。

四、web系统架构推荐?

WEB程序的架构基本上可以分成以下三类:

一 、基于“组件”(Component ,GUI设计也常称控件)、事件驱动的架构,最常见的是微软的.NET。基本思想是把程序分成很多组件,每个组件都可以触发事件,调用特定的事件处理器来处理(比如在一个HTML按钮上设置onClick事件链接到一个PHP函数)。这种设计远离HTTP,HTTP请求完全抽象,映射到一个事件。

二 、基于“WEB页面/文件”,例如CGI和PHP/ASP程序。程序的文件分别存储在不同的目录里,与URL相对应。当HTTP请求提交至服务器时,URL直接指向某个文件,然后由该文件来处理请求,并返回响应结果。

三 基于“动作”(Action)。这是MVC架构的WEB程序所采用的最常见的方式。目前主流的WEB框架像Struts、Webwork(Java),Ruby on Rails(Ruby),Zend Framework(PHP)等都采用这种设计。URL映射到控制器(controller)和控制器中的动作(action),由action来处理请求并输出响应结果。这种设计和上面的基于文件的方式一样,都是请求/响应驱动的方案,离不开HTTP。

五、分布式架构与传统架构的差别?

单一应用架构

  

   优点:网站流量很小,只需要一个应用,就能将所有的功能部署在一起,减少部署节点和成本。业务简单,开发周期短。用于简化增删改查工作量的 数据访问框架(ORM) 是关键。

  缺点:全部功能捆绑在一起,不利于维护和扩展,服务器负载能力有限。代码耦合,开发维护困难,无法针对不同模块进行针对性优化,无法水平扩展单点容错率低,并发能力差

负载+垂直架构

优点:系统性能可以扩展,提升负载能力,适合发展中公司的小型项目,当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。 此时,用于加速前端页面开发的 Web框架(MVC) 是关键。系统拆分实现了流量分担,解决了并发问题,可以针对不同模块进行优 化,方便水平扩展,负载均衡,容错率提高,系统间相互独立。

缺点:

  服务之间相互调用,如果某个服务的端口或者ip地址发生改变,调用的系统得手动改变,搭建集群之后,实现负载均衡比较复杂。

  只能扩展节点服务器,成本高,有瓶颈。

分布式服务架构:

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。用于提高业务复用及整合的分布式调用是关键。

优点:

  将基础服务进行了抽取,系统间相互调用,提高了代码复用和开发效率。

  对于团队来说,可以更好的分配开发任务

六、分布式云架构包括?

华为分布式云数据中心解决方案是基于分布式云数据中心SD-DC²(Service Driven – Distributed Cloud Data Center)架构的。它将传统的分散、分层、异构的传统数据中心架构,升级为物理分散、逻辑集中的分布式云数据中心架构,将不同地域、不同时期、不同规模的数据中心,混合虚拟化(兼容物理和虚拟资源)为一个跨数据中心的“逻辑资源池”,对外呈现具有SLA等级保障的VDC,实现统一管理、统一呈现、统一运营。

华为分布式云数据中心总体架构包括三个层面

华为分布式云数据中心总体架构包括如下三个层面:

IaaS:基于OpenStack开放架构,提供计算和存储资源;并实现对资源的灵活的调度管理。

NaaS:基于SDN和VxLan技术,构建融合物理/虚拟的数据中心网络架构 ,实现对网络服务的自动化管理

Maas:构建多数据中心、异构资源的统一的运营和服务管理平台,实现数据中心的统一高效管理,构建面向精细管理体系。

华为分布式云数据中心架构着重强调“业务驱动”,也就是以用户的诉求为中心,所以它能够将用户的需求与数据中心的设计完美结合,打造出适合云计算需求的数据中心参考架构。目前华为分布式云数据中心已经在智慧城市、教育行业、媒体转型等方面助力行业创新方面发挥重要作用

七、web应用架构是什么?

1、表示层(user interface layer):顾名思义,这个是负责与用户交互的,是用户操作与获取服务的接口。这一层一般由前端和后端的同学一同参与开发。(注意:这里所说的前端对于普通用户来说,他们仍然需要到服务器请求相应的html文档等)。前端负责html、css、javascript这些展示的维度。但是像servlet,action,screen等控制维度的由后端同学开发。

2.业务层(business logic layer):有时候我们也称为service层、逻辑层。这一层是整个Web应用的核心内容,包括我们想要提供给用户的所有服务。比如说用户登录/注册都是一个服务。

3.数据访问层(data access layer):有时候我们也称为DAO层,持久层。这一层是提供给业务层调用的。负责与数据库或是文件等持久存储媒介打交道。

八、微服务架构和分布式架构的区别?

1.微服务架构和分布式架构都属于分布式系统架构,但是它们的区别在于分层和粒度上。2.微服务架构是一种基于服务的解耦架构,将一个大型的系统拆分成多个小型的服务,每个服务都可以独立地进行开发和部署,服务之间通过接口进行通信和交互,实现了系统的松耦合。3.分布式架构是以节点为单位的架构,将一个大型的系统拆分成多个节点,每个节点都可以独立地运行,节点之间通过网络进行通信和数据交换,但不一定需要明确定义接口,节点之间的通信是基于网络的通信方式。4.因此,微服务架构更适合复杂、大规模的系统,而分布式架构适合于节点数量较少、交互比较简单的系统。

九、redis分布式架构有哪些?

1、主从高可用(该方案就是单实例形式,只是为了保证数据的安全,对于用户数据少,业务的前期可以采用,目前我司缓存架构就是采用该方案)

2、客户端分片(典型代表:Jedis。自主写分片算法,代码掌握在自己手中,可控性强,但是需要专业的开发运维人员维护,技术要求和维护成本高)

3、代理分片(典型代表:Twemproxy,redis集群没有正式推出之前官网推荐的方案,也是目前使用最多的)

4、Redis cluster(3版本推出的集群方案,历时四年之多的开发)

5、Codis集群(豌豆荚15年开源的解决方案,开源之前其已经用了2年之多,与其同期官网推出redis cluster)

6、各大互联网公司自主研发的集群架构,但是还没有开源,可能也不会开源

十、什么是分布式系统架构?

就是将多软件架构设计分散开来,运行在多个服务器上。

分布式系统架构具有心跳包和租约机制功能,能定期监测系统是否存在故障,而即使出现故障整个系统也不会被宕掉。