一朋友和我讨论他前段时间面试某大公司的一题目:企业IM比如企业微信、钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事o...
Spring做为Java企业级应用的开源开发框架,早已成为Java后端开发事实上的行业标准,无数的公司选择Spring作为基础的开发框架。使用Spring框架的人一定都听过Spring的IoC(控制反转)、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC、D...
背景在Netflix,我们大量使用gRPC来实现后端到后端的通信。当我们处理请求时,知道调用者对哪些字段感兴趣以及忽略哪些字段通常是有益的。某些响应字段的计算成本可能很高,某些字段可能需要远程调用其他服务。远程调用都是有代价的;它们会带来额外的延迟,增加出错的可能性,并消耗网络带...
在Kubernetes已经成了事实上的容器编排标准之下,微服务的部署变得非常容易。但随着微服务规模的扩大,服务治理带来的挑战也会越来越大。在这样的背景下出现了服务可观测性(observability)的概念。在分布式系统里,系统的故障可能出现在任何节点,怎么能在出了故障的时候快速...
基于Redis使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为Redis分布式锁造成的事故分析及解决方案。背景:我们项目中的抢购订单采用的是分布式锁来解决的。有一次,运营做了一个飞天茅台的抢购活动,库存100瓶,但是却超卖了!要知道,这个地球上飞天茅台...
一、什么是限流?为什么要限流?不知道大家有没有做过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就是为了限流!因为一趟地铁的运力是有限的,一下挤进去太多人会造成站台的拥挤、列车的超载,存在一定的安全隐患。同理,我们的程序也是一样,它处理请求的能力也是有限的...
skrshop是一群底层码农,由于被工作中的项目折磨的精神失常,加之由于程序员的自傲:别人设计的系统都是一坨shit,我的设计才是宇宙最牛逼,于是乎决定要做一个只设计不编码的电商设计手册。项目地址:https://github.com/skr-shop/manuals在上一篇文章...
缓存设计可谓老生常谈了,早些时候都是采用memcache,现在大家更多倾向使用redis,除了知晓常用的数据存储类型,结合业务场景有针对性选择,好像其他也没有什么大的难点。工程中引入RedisClient二方包,初始化一个Bean实例RedisTemplate ,一切搞定,soe...
前几天字节跳动宣布1075工作制,也许互联网圈子停止加班能由此拉开大幕。为了帮助互联网的打工人们尽早回家,连著名的朝阳群众都开始发力了。近日,阿里巴巴北京办公区望京A座多次被群众举报,称阿里天天晚上加班到九十点钟,造成交通堵塞,影响举报人回家和老人休息。此举报引发劳动监察部门对阿...
前言平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了。如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化自己的业务代码。今天跟大家聊聊日常工作中,我都使用过哪些设计模式。工作中常用到哪些设计模式1.策略模式1.1业务场景假设有这样的业务场景,...
作者:vivo互联网服务器团队-ZhangZhenglin一、简介RocketMQ是阿里巴巴开源的分布式消息中间件,它借鉴了Kafka实现,支持消息订阅与发布、顺序消息、事务消息、定时消息、消息回溯、死信队列等功能。RocketMQ架构上主要分为四部分,如下图所示:Produce...
这篇文章酝酿了很久,一直想写,却一直觉得似乎要讲的东西有点杂,又不是很容易讲清楚,又怕争议的地方很多,就一拖再拖。但是,每次看到不少遇到跟这个设计相关导致的问题,又忍不住跟人讨论,但又很难一次说清楚,于是总后悔没有及早把自己的观点写成文章。不管怎样,观点还是要表达的,无论对错。故...
如果有人出500万年薪挖你,你走不走?估计许多人都会毫不犹豫选择跳槽,但也有人不为金钱所动。一位猎头发帖吐槽:500万年薪都没能挖动一位大厂高级技术人员,引发网友热议。据称,这位猎头挖的是一位百度高T,开价500万年薪却被对方拒绝。猎头问:“这个薪资比你现在的要高不少,为什么不考...
来源:https://blog.csdn.net/cai_iac/article/details/81030619|背景该篇文章针对已经掌握Postman基本用法的读者,即对接口相关概念有一定了解、已经会使用Postman进行模拟请求的操作。当前环境:Window7-64Post...
来源:https://juejin.cn/post/6860252224930070536| 背景日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关...