分布式精华问答 | 如何实现分布式系统的高可用性?

640?wx_fmt=png

布式的处理方式越来越受到业界的青睐——计算机系统正在经历一场前所未有的从集中式向分布式架构的变革。今天,我们就来看看关于分布式的精华问答吧!


640?wx_fmt=gif1

Q:什么是分布式缓存?


A:为了提高性能和响应时间,在应用程序(通常是Web应用程序)中“部署”并确保数据从内存加载而不是从磁盘加载(速度更慢)的解决方案。

如果要在单台机器上使用高速缓存,那么看起来很简单 - 只需从内存中的数据库中加载最活跃的数据(例如Guava Cache实例),然后从中提供。当必须在集群中工作时,它变得有点复杂 - 例如5个应用节点以循环方式向用户提供请求。


640?wx_fmt=gif2

Q:如何实现分布式系统的高可用性?


A:高可用性的前提是:保证服务系统能够持续工作,实现高可用性一般有两种手段: 一种是通过第三方软件/组件保证系统的可用性;另一种是软件/组件自身己具备高可用的技术实现。


640?wx_fmt=gif3

Q:分布式系统利弊


A:在分布式系统中:


1、应用可以按业务类型拆分成多个应用,再按结构分成接口层、服务层;我们也可以按访问入口分,如移动端、PC端等定义不同的接口应用;


2、数据库可以按业务类型拆分成多个实例,还可以对单表进行分库分表;


3、增加分布式缓存、搜索、文件、消息队列、非关系型数据库等中间件;


很明显,分布式系统可以解决集中式不便扩展的弊端,我们可以很方便的在任何一个环节扩展应用,就算一个应用出现问题也不会影响到别的应用。


随着微服务Spring Cloud & Docker的大热,及国内开源分布式Dubbo框架的重生,分布式技术发展非常迅速。


分布式系统虽好,也带来了系统的复杂性,如分布式事务、分布式锁、分布式session、数据一致性等都是现在分布式系统中需要解决的难题,虽然已经有很多成熟的方案,但都不完美。分布式系统也增加了开发测试运维成本,工作量增加,分布式系统管理不好反而会变成一种负担。


640?wx_fmt=gif4

Q:分布式系依赖关系如何理解?


A:整个顶层设计下的若干个子系统肯定存在依赖关系,但是依赖关系是否科学、是否可以持久维护是需要考虑的一个非常关键的要点 。 客户方不懂技术,是我们在需求调研阶段遇到的算一个问题的问题,但关键看需求人员从哪个方面着手向用户解释,引导用户对需求逻辑进行分析 。 比起前两个代码级别的循环依赖和业务级别的循环依赖,整个顶层设计下的若干子系统的循环依赖问题才是架构师最头疼的问题。


640?wx_fmt=gif5

Q:分布式与集群的区别是什么?


A:分布式:一个任务分给多台机器去做,减少单个任务的执行时间。


集群:提高单位时间内执行任务数。


例如:一个任务由10个子任务组成,每个子任务单独执行需要1个小时,则在一台服务器上执行该任务需要10个小时。


分布式方案:提供10台服务器,每台服务器只处理一个子任务,不考虑任务间的依赖关系,执行完这个任务只需要一个小时。


集群方案:同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小时后,10个任务同时完成,同样是一个小时完成一个任务。


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于分布式,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!


推荐阅读:


640?wx_fmt=png 真香,朕在看了!
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 分布式系统实现高可用的方法有多种。其中一种方法是通过引入冗余来实现系统的容错能力。这可以通过使用负载均衡器来分发请求到多个系统实例上,以确保即使其中一个系统实例不可用,其他实例仍然可以提供服务。此外,还可以使用故障转移技术,当一个系统实例不可用时,自动将请求转移到其他可用的实例上。另一种方法是使用数据复制和备份来确保数据的可用性。通过将数据复制到多个节点上,并定期进行备份,可以防止数据丢失,并在一个节点不可用时仍然可以访问数据。此外,还可以使用监控和自动化工具来实时监测系统的状态,并在出现故障时自动进行故障恢复。总之,实现高可用的分布式系统需要综合考虑硬件、网络、操作系统、应用软件和代码质量等多个方面的因素。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [分布式精华问答 | 如何实现分布式系统高可用性?](https://blog.csdn.net/FL63Zv9Zou86950w/article/details/88361119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [如何构建高可用的分布式系统](https://blog.csdn.net/liaokailin/article/details/66049607)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值