服务接口一旦异常,你的前端页面就直接崩溃了?
在 JavaScript 开发中,细节处理不当往往会导致意想不到的运行时错误,甚至让应用崩溃。可能你昨天上完线还没问题,第二天突然一大堆人艾特你,你就说你慌不慌。来吧,咱们来捋一下怎么做才能让你的代码更健壮,即使后端数据出问题了咱前端也能稳得一批。...
从一个事故中理解Redis(几乎)所有知识点
简单回顾事故回溯总结一句话:(1)因为大KEY调用量,随着白天自然流量趋势增长而增长,最终在业务高峰最高点期占满带宽使用100%。(2)从而引发redis的内存使用率,在5min之内从0%->100%。(3)最终全面GET SET timeout崩溃(11点22分02秒)。(4...
请立即停止编写 Dockerfiles 并使用 docker init
您是那种觉得编写 Dockerfile 和 docker-compose.yml 文件很痛苦的人之一吗?我承认,我就是其中之一。我总是想知道我是否遵循了 Dockerfile、 docker-compose 文件的最佳编写实践,我害怕在不知不觉中引入了安全漏洞。但是现在,我不必再担心这个问题了,感谢...
什么才是真正的架构设计?
到底什么是架构?,每个人都有不同的理解。 架构作为动词,强调的是架构的整体方法论, 纵向分层架构,横向模块化隔离架构,在此之下灵活使用设计模式和设计原则实现架构目标。 架构要适应业务自身需求和变化, 做到三原则。...
快学快用:2分钟学会WebSocket!
大家好,我是洋哥,一个工作7年的Java程序员。今天我们聊聊WebSocket。 啥是WebSocket? WebSocket协议为实现服务器与客户端之间的实时通信提供了一个有效的解决方案。它允许在浏…...
Ctrip度假商品海量日志系统架构分析
携程旅游度假的线路类商品系统中,由于商品结构复杂,涉及底层数据表上千张,在日常供应商以及业务维护过程中,每日产生6亿+的数据变动记录。这些数据的变动留痕,不但可供录入方查看,也对日常产研的排障起着至关重要的作用...
为什么我的系统慢?“三大分离”架构上了吗?(5000字长文,收藏)
知识体系化非常重要,架构师需要把零碎的技术知识综合运用,优化系统架构。 创业型公司早期讲究快速迭代,随着业务发展,用户量越来越多,系统会开始遇到一些性能瓶颈。“三大分离”架构设计准则,可以在对原有系…...
奇怪的缓存一致性问题
强一致性未必好,最终一致性也未必不好。强一致性往往会提高系统的复杂度、降低系统性能。综合考虑系统性能、系统复杂度、业务对数据一致性的容忍度等诸多因素,选择适合自己的方案才是最优解。...
面试官:加密后的数据如何进行模糊查询?
为了数据安全我们在开发过程中经常会对重要的数据进行加密存储,常见的有:密码、手机号、电话号码、详细地址、银行卡号、信用卡验证码等信息,这些信息对加解密的要求也不一样,比如说密码我们需要加密存储,一般使用的都是不可逆的慢hash算法,慢hash算法可以避免暴力破解(典型的用时间换安全性)。 在检...
H5秒开优化实践
为什么要做H5加载性能优化 在一次OKR讨论会上,我希望把H5加载性能优化作为一个KR,但服务端同学觉得花力气提升3-400ms对业务没感知,他们也不愿意为这些付出的时间来买单。但是想想这里慢一点,哪里体验不在意一点,产品就会越来越一般,用户只会记住体验最好的那款产品。...
云 IDE 你了解多少
IDE对于软件开发者来说,是一个非常重要的工具。好用的 IDE 可以大幅提高开发效率,减少不必要的重复工作。 本文会介绍一些可以运行在远程的 IDE,本地只需要浏览器或者相应的客户端即可,可以极大地改善研发体验...
爽了!一分钟轻松搞定 SSL 证书自动续期,解决免费证书每 3 个月失效问题
HTTPS 证书,又称为 SSL 证书,是一种数字证书,用于对网站的服务器进行身份验证和加密数据传输。它基于 HTTP 进行通信,但增加了 SSL/TLS 加密层,为数据的安全传输提供了强有力的保障。 当我们在浏览器中输入一个网址时,如果该网站使用了 HTTPS 证书,那么浏览器地址栏会显示一...
常见分布式限流方案,你知道几种?
限流是在高并发业务场景下,超过系统处理能力后,为确保系统稳定性和可用性所采取的技术手段。在分布式系统中,面对大数据量的高并发访问请求时,需要一种方法来控制每个请求的访问频率,以避免过多的请求导致系统负载过高或崩溃。...
基于redis实现的轻量级延迟队列
什么是延迟队列 延迟队列 (Delay Queue)是一种存储消息并在特定延迟时间后将其投递到消费者的队列机制。在传统消息队列中,消息会立即被推送给消费者进行处理,但在某些场景下,我们希望消息在一段时间后再被消费者处理。 延迟队列的工作原理通常是将消息先存储在队列中,消息的投递时间会被延迟,直到...
换掉ES? Redis官方搜索引擎,效率大幅提升
RediSearch是一个Redis模块,为Redis提供查询、二次索引和全文搜索。要使用RediSearch,首先要在Redis数据上声明索引。然后可以使用重新搜索查询语言来查询该数据。 RedSearch使用压缩的反向索引进行快速索引,占用内存少。RedSearch索引通过提供精确的短语匹配、...