HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    高可用网站架构(高可用网站架构设计与实现)

    发布时间:2023-04-19 10:19:43     稿源: 创意岭    阅读: 121        

    大家好!今天让创意岭的小编来大家介绍下关于高可用网站架构的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解相关业务请拨打电话175-8598-2043,或添加微信:1454722008

    本文目录:

    高可用网站架构(高可用网站架构设计与实现)

    一、HDFS的高可用架构是怎样工作的?

    在HDFS分布式文件系统中,NameNode是系统的核心节点,它存储了各类元数据信息,并负责管理文件系统的命名空间和客户端对文件的访问。但是,在Hadoop1.0版本中,NameNode只有一个,一旦这个NameNode发生故障,就会导致整个Hadoop集群不可用,也就是发生了单点故障问题。

    为了解决单点故障问题,Hadoop2.0中的HDFS中增加了对高可用的支持。在高可用的HDFS集群中,通常有两台或者两台以上的机器充当NameNode,在任意时间内,都要保证至少有一台机器处于活动(Active)状态,一台机器处于备用(Standby)状态。处于活动状态的NameNode负责处理客户端请求,而处于备用状态的NameNode则处于“随时待命”状态。一旦处于活动状态NameNode节点发生故障,那么处于备用状态的NameNode会立即接管它的任务并开始处理客户端请求,保证业务不会出现明显中断,不影响系统的正常对外服务。接下来,通过一张图来描述HDFS的高可用架构,如图1所示。

    图1 HDFS的高可用架构

    图1所示的高可用架构中,共包含了两个NameNode,其中一个处于活动状态,一个处于备用状态,活跃状态的NameNode将更新的数据写入共享存储系统中,备用状态的NameNode会一直监听共享存储系统,一旦发现有新的数据,就会立即从共享存储系统中将这些数据加载到自己内存中,从而保证与活跃状态的数据同步。

    Zookeeper是一种在HDFS高可用集群中集中提供自动故障转移功能的服务,它为每个NameNode都分配了一个故障恢复控制器(Zookeeper Failover Controller,简称ZKFC),该控制器用于监控NameNode的健康状态,并通过“心跳”方式定期和Zookeeper保持通信。一旦NameNode发生故障,Zookeeper会通知备用状态的NameNode启动,使其成为活动状态去处理客户端请求,从而实现高可用。

    转自: http://www.itheima.com/news/20201112/182647.html

    二、当前比较流行的网站架构有哪些?

    目前功能相似的能解决同类需求的主要是国外的开源框架,如Bootstrap、Foundation、Semantic UI。Bootstrap是由Twitter在2011年8月推出的开源WEB前端框架,集合CSS和HTML,使用了最新的浏览器技术,为快速WEB开发提供了一套前端工具包,包括布局、网格、表格、按钮、表单、导航、提示,其核心就是基于Less框架构建的CSS。Bootstrap框架拥有美观的样式和封装完善的JQ插件,使用方便,基于Bootstrap的扩展也很多,这是其他框架所无法比拟的,也是其最受欢迎的条件之一。

    Foundation宣称是世界最好的响应式前端框架,默认支持5种网格布局,是三款框架中最复杂也是最灵活的。Bootstrap默认支持四种网格布局,Pure默认支持一种。

    Semantic UI是语义化设计的前端框架,开发更加直观,UI组建可实时调试输出,其最大的特点是充分利用CSS3动画特效,简洁实用漂亮的样式。以上各种产品我们也用过,当时我们发现全球有将近6%的网站是基于Bootstrap做的。不过对于中国开发者来说,Bootstrap门槛仍然较高,而且本土化支持不够好。

    首先,Bootstrap只支持英文字体,并没有对中文字体做设置。在不同操作系统、不同浏览器下,默认的中文字体可能是不一样的,这样会导致网页在某些时候显示得不太好看。而且英文字号和中文字号的大小也不一样,直接用Bootstrap来做文字排版并不能达到最好的效果。另外,国内浏览器种类繁多,Bootstrap也无法照顾到对国内浏览器的支持,我们希望不断加强对各种本土浏览器的支持,帮助广大前端开发者从最繁琐痛苦的浏览器性问题中解脱出来。其次,Bootstrap还没有把重点放在丰富界面组件上,而Amaze UI非常注重提高开发者的效率,我们会不断增加跨屏的界面组件,让开发者尽量少些代码。第三,Bootstrap 因为最早是从PC端开始做的,所以有些地方是先PC后移动,而Amaze UI的思路是先移动后PC。例如,Bootstrap使用了jQuery库,而Amaze UI使用了Zepto.js,Zepto.js的体积不到jQuery的1/3,对移动端的性能很大提升。

    因此,一个针对中国市场的、移动优先的跨屏前端开发框架开发者有很强的需求,也是一个行业的空白。

    Amaze UI应该是中国首个HTML5跨屏前端开发框架,其不仅兼容前几者的优势,还具有以下优势:

    1、加入更多符合中国市场特性的元素:中文排版更优化,兼容中国本土主流浏览器

    2、更轻量化,不仅适用于桌面端,更适合移动端3、包含一些封装好的Widgets,其他框架则没有

    三、kafka高可用架构

    作为一个非常优秀的消息中间件,kafka如何做到高可用的,我们可以一起看看它的架构。

    我们知道鸡蛋是不能放在同一个篮子的,那消息同样也如此。在kafka里有一个核心的概念叫做topic,类似于一个数据集合,我们所有的消息都是在topic里。

    从上面的架构来看,什么情况下会丢数据?当我们写数据时一般都是往leader写数据,但如果这个时候leader挂了,follower还没来得及同步数据,那这时候数据就丢失了。

    要弄懂数据丢失的问题,我们得先知道ISR。简单来说kafka会自动给每个partition维护一个ISR列表。这个列表中一定会有一个leader,同步包含一个跟leader数据一致的follower。如果follower因为某种原因数据不一致了就会被踢出去。

    四、高可用无单点架构之kubernetes集群

    需要元数据的存储和处理能力高可用

    通过etcd存储元数据,etcd三节点集群保证高可用

    通过多个 kube-controller 和 kube-scheduler 节点来保证高可用

    节点请求通信通过多Ip或负载均衡来保证高可用,这里也有几种方式

    如下图所示,可将worker node的访问地址指向负载均衡的地址

    私有化部署场景常用keepAlived提供浮动IP来给 worker node 或其他组件访问,如下图所示

    如果你觉得同一时刻只有单个apiServer工作会成瓶颈,也可以使用 KeepAlived 加 Nginx 或 HaProxy 来对 ApiServer 做负载均衡

    为了简化图像,只画出了master1上的Nginx向后转发的场景。

    至于Nginx和KeepAlived如何部署,推荐采用容器化的部署模式,方便进行监控和运维;但是镜像不从镜像仓库拉取,而是保存在 master 节点上,这样虽然升级复杂一点,但是这样子 kubernetes 的高可用就不依赖镜像仓库了,不会和镜像仓库形成循环依赖,更不会影响镜像仓库的高可用方案,大大简化了后续的技术方案。(因为镜像仓库可能会占据较大的存储空间,可能会和 master 节点分离部署,这时会作为 worker 节点连接 master 节点)。

    以上就是关于高可用网站架构相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    血清gpt活性显著增高可能为

    ASO增高可见于(aso增高说明什么)

    浙江职高(浙江职高可以考的大学有哪些)

    2017酱油品牌排行榜(2017酱油品牌排行榜最新)

    世界上人口前十大排名城市(世界上人口前十大排名城市)