首页 文章 精选 留言 我的

精选列表

搜索[大模型API],共10000篇文章
优秀的个人博客,低调大师

高并发架构系列:如何解决Redis雪崩、穿透、并发等5大难题

一、缓存雪崩数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。 比如一个雪崩的简单过程:1、redis集群大面积故障;2、缓存失效,但依然大量请求访问缓存服务redis;3、redis大量失效后,大量请求转向到mysql数据库;4、mysql的调用量暴增,很快就扛不住了,甚至直接宕机;5、由于大量的应用服务依赖mysql和redis的服务,这个时候很快会演变成各服务器集群的雪崩,最后网站彻底崩溃。 如何预防缓存雪崩:1.缓存的高可用性缓存层设计成高可用,防止缓存大面积故障。即使个别节点、个别机器、甚至是机房宕掉,依然可以提供服务,例如 Redis Sentinel 和 Redis Cluster 都实现了高可用。 2.缓存降级 可以利用ehcache等本地缓存(暂时支持),但主要还是对源服务访问进行限流、资源隔离(熔断)、降级等。 当访问量剧增、服务出现问题仍然需要保证服务还是可用的。系统可以根据一些关键数据进行自动降级,也可以配置开关实现人工降级,这里会涉及到运维的配合。 降级的最终目的是保证核心服务可用,即使是有损的。 比如推荐服务中,很多都是个性化的需求,假如个性化需求不能提供服务了,可以降级补充热点数据,不至于造成前端页面是个大空白。 在进行降级之前要对系统进行梳理,比如:哪些业务是核心(必须保证),哪些业务可以容许暂时不提供服务(利用静态页面替换)等,以及配合服务器核心指标,来后设置整体预案,比如: (1)一般:比如有些服务偶尔因为网络抖动或者服务正在上线而超时,可以自动降级; (2)警告:有些服务在一段时间内成功率有波动(如在95~100%之间),可以自动降级或人工降级,并发送告警; (3)错误:比如可用率低于90%,或者数据库连接池被打爆了,或者访问量突然猛增到系统能承受的最大阀值,此时可以根据情况自动降级或者人工降级; (4)严重错误:比如因为特殊原因数据错误了,此时需要紧急人工降级。 3.Redis备份和快速预热 1)Redis数据备份和恢复 2)快速缓存预热 4.提前演练 最后,建议还是在项目上线前,演练缓存层宕掉后,应用以及后端的负**载情况以及可能出现的问题,对高可用提前预演,提前发现问题。 二、缓存穿透**缓存穿透是指查询一个一不存在的数据。例如:从缓存redis没有命中,需要从mysql数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。 解决思路: 如果查询数据库也为空,直接设置一个默认值存放到缓存,这样第二次到缓冲中获取就有值了,而不会继续访问数据库。设置一个过期时间或者当有值的时候将缓存中的值替换掉即可。 可以给key设置一些格式规则,然后查询之前先过滤掉不符合规则的Key。 三、缓存并发这里的并发指的是多个redis的client同时set key引起的并发问题。其实redis自身就是单线程操作,多个client并发操作,按照先到先执行的原则,先到的先执行,其余的阻塞。当然,另外的解决方案是把redis.set操作放在队列中使其串行化,必须的一个一个执行。 四、缓存预热缓存预热就是系统上线后,将相关的缓存数据直接加载到缓存系统。 这样就可以避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据! 解决思路: 1、直接写个缓存刷新页面,上线时手工操作下; 2、数据量不大,可以在项目启动的时候自动进行加载; 目的就是在系统上线前,将数据加载到缓存中。 以上就是缓存雪崩、预热、降级等的介绍。 每日分享bat架构+面试+技术干货!坚持原创不易,觉得不错点赞支持,送你【BAT架构80期学习资料合集】,回复【架构】领取。

优秀的个人博客,低调大师

企业不容错过的2019八大人工智能和分析趋势

AI计划通过先进的计算算法在全球范围内为全球分配价值约2万亿美元的商业价值,这些算法可识别和优化人们无法区分的商业见解。最新趋势如下:1、人工智能与分析合并:合并人工智能算法和分析的应用将是变革性的,但却很复杂;因此,它需要对信息技术,数学和统计学有深入的了解。人工智能和机器学习算法可以自动化和优化分析方法,从而产生变革性的业务洞察力。2、决策自动化:企业资源规划中更重要的人工智能和机器学习将带来更智能的流程变更,而无需人为干预。人工智能,分析,ERP和CRM可以联合起来预测市场需求,从而实现更具成本效益的流程。3、数字双胞胎:新一年数字复制品的热潮表明更多公司将产生预测性见解,使他们能够在任何利润损失之前预测和解决问题。4、边缘计算:数字复制品的增加将帮助偏远地区的组织通过生产环境的实时建模找到附近的高功率处理器。5、混合现实:预计在未来两三年内,数据分析的虚拟和增强现实组合将迅速增加。增强现实,虚拟现实和混合现实的兴起正在导致增强分析,使用自然语言处理和机器学习。6、区块链繁荣:区块链是新一年中最受期待的技术之一,因为它依赖于共享的数字分类账,使任何人都无法入侵。这为组织实施这项技术创造了很大的动力,因为它需要复杂的交互和艰巨的过程。7、云成熟度:由于安全性的进步,更多的组织正在接受云,尤其是那些具有严格合规性要求的组织。他们现在可以实现混合云,将应用程序,工作负载和数据保存在云中,生成对高级机器语言操作至关重要的数据集。8、全栈工程师:对具有人工智能和分析技能的全栈工程师的需求将在2019年达到顶峰。IT团队将需要更多的全栈工程师-经验丰富的顾问,他们具备分析所需的技能和人工智能,从数据收集到数据处理再到见解建设。

优秀的个人博客,低调大师

区块链与未来 | 2018年区块链的5大发展趋势!

前言 在2017年,区块链技术有了很大的发展。除了微软和IBM之外,Oracle公司在10月份还宣布了一项新的基于云服务的区块链即服务产品,而SAP在5月份开放了区块链项目的试点版本。这些案例可以说明,世界500强公司现在正在积极探索区块链技术在其业务中的应用。 这些都是我们在2017年所看到的区块链技术应用案例,但有些人仍然会认为,这些积极的发展是表面的,对于该技术的研究及应用还不够深入。 政府机构也在合作开发区块链的许多潜在优势,大胆的企业家们正在考虑如何将该技术应用于智能手机及其他领域。 最近,比特币的疯狂也让投资界震惊,人们对此褒贬不一,但这并不能破坏当前区块链技术的发展。当我们关注比特币在未来的发展时,让我们看看2018年区块链技术将会发生的事情: 亚洲和中东将积极推动区块链发展 亚洲和中东地区对区块链的兴趣持续高涨,一些最大的银行

优秀的个人博客,低调大师

结合Apache Kafka生态系统,谈谈2018年机器学习5大趋势

在2018慕尼黑OOP会议上,我展示了使用Apache Kafka生态系统和深度学习框架(如TensorFlow,DeepLearning4J)构建可扩展关键型(mission- critical)任务微服务的最新版本。本文中,我想分享出最新的幻灯片并讨论最新趋势。 本博文的主要内容与我在Confluent Blog中写的关于Apache Kafka生态系统和机器学习文章一样,但这里我更关注深度学习/神经网络。我还讨论了Apache Kafka生态系统中的一些创新以及机器学习最近几个月的趋势:Uber和Netflix上的KSQL,ONNX,AutoML和机器学习平台。下面,让我们来看看这些有趣的平台以及它们之间是如何相互关联的。 KSQL:Apache Kafka上的流式SQL语言 根据这篇文章可知: “KSQL是Apache K

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册