Richard_Yi

528
获赞数
5
关注数
1140
粉丝数
杭州
浙江工业大学 | 非计算机
IP 属地浙江
2018-01-05 加入
浏览 24.2k

个人主页:https://ricstudio.top

座右铭:吾辈采石之人,当心怀大教堂之愿景

佛系求关注。

技术兴趣:微服务、分布式、云原生

Please let me know if my answer helps you out.
如果我的答案对你有用,请让我知道。

2,232 声望|专家
全站排名超越 99.3% 用户
java
2.2k
jvm
528
spring
321
springboot
178
zookeeper
147
个人动态
  • 发布了文章2022-01-14
    延时消息常见实现方案
    延时消息适用的业务场景非常的广泛,在分布式系统环境下,延时消息的功能一般会在下沉到中间件层,通常是 MQ 中内置这个功能或者内聚成一个公共基础服务。
  • 发布了文章2021-12-30
    从 Kafka 看时间轮算法设计
    Kafka 中有很多延时操作,比如对于耗时的网络请求(比如 Produce 时等待 ISR 副本复制成功)会被封装成 DelayOperation 进行延迟处理操作,防止阻塞 Kafka请求处理线程。
  • 发布了文章2021-12-29
    从 RocksDB 看 LSM-Tree 算法设计
    目前笔者本人正在基于 Pulsar 搭建公司内部的消息平台,自然也对其底层存储做了一些研究。Pulsar 使用 BookKeeper 作为存储层,BookKeeper 底层使用到了 RocksDB 来保存 Entry (BookKeeper 中的数据存储单元) 对应的位置索引。RocksDB 是我一直关注的存储引擎技术,...
  • 发布了文章2021-03-21
    面向实际的单测完整解决方案分享
    背景主要是后续我们的持续集成流程中会增加单测覆盖率这个一个卡点,大家之后需要慢慢将手头上的服务的单测补充起来。然后就发现组里的人对单测这个事情的理解有很大的偏差,并且有些人不知道怎么去写单测。所以就有了这么一次分享。
  • 发布了文章2020-10-30
    Elasticsearch 如何做到快速检索 - 倒排索引的秘密
    "All problems in computer science can be solved by another level of indirection.”– David J. Wheeler“计算机世界就是 trade-off 的艺术”
  • 赞了文章2020-05-12
    Apache Dubbo 云原生服务自省架构设计
    随着微服务架构的推广和普及,服务之间的耦合度在逐步降低。在演化的过程中,伴随着应用组织架构的变化以及基础设施的衍进,服务和应用之间的边界变得更为模糊。Java 作为一门面向对象的编程语言,Java 接口(interface)作为服务之间通讯的一等公民,配合文档(Java...
  • 发布了文章2020-04-30
    Java 应用线上问题排查思路、工具小结
    本文总结了一些常见的线上应急现象和对应排查步骤和工具。分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。毕竟作者自己也是从手忙脚乱时走过来的。
  • 发布了文章2020-04-27
    Java 并发编程 ④ - Java 内存模型
    原文地址:Java 并发编程 ④ - Java 内存模型转载请注明出处! 往期文章: Java 并发编程基础 ① - 线程 Java 并发编程 ② - 线程生命周期与状态流转 Java 并发编程 ③ - ThreadLocal 和 InheritableThreadLocal 详解 前言 Java内存模型(Java Memory Model ,JMM)就是一...
  • 发布了文章2020-04-24
    读书日,谈谈读书
    4月23号是国际读书日,借着这个时机就想谈谈自己对读书的感悟。 其实回顾前大半个学生生涯,我都不是一个喜欢读书的人。 因为什么?我后来仔细想了想,因为我觉得“无用”。 原来从很久很久以前,我都是站在一种很纯粹的实用主义立场,去看待读书这件事情,这和每个人...
  • 赞了文章2020-04-20
    Apache毕业贺礼—Apache ShardingSphere跌宕起伏的开源之路
    潘娟,京东数科高级DBA,Apache ShardingSphere PMC张亮,京东数科数据研发负责人,Apache ShardingSphere VP,Apache Dubbo PMC,人气开源项目Elastic-Job作者
  • 赞了文章2020-04-08
    为什么要用Go语言?
    Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易[1]。Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言,Go语言无疑比大多数其它语言有着更高的开发效率。它提供了...
  • 发布了文章2020-04-04
    《clean code》 阅读笔记
    编者寄语:这是一本真正的好书,不过如果读者没有一定的经验,以及缺乏对编程境界的追求的话,可能认为这本书很一般。当然,对于有心人来说,这本书里面的部分东西可能都已经习以为常了。 那么,你是怎样的呢? 另外我为什么写的是《clean code》而不是《代码整洁之...
  • 赞了文章2020-04-03
    Java线程池实现原理及其在美团业务中的实践
    随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的...
  • 发布了文章2020-03-30
    有个定时任务突然不执行了,别急,原因可能在这
    原文地址:有个定时任务突然不执行了,别急,原因可能在这转载请注明出处! 小伙伴们,我们一起来避坑😅😅 问题描述 程序发版之后一个定时任务突然挂了! “幸亏是用灰度跑的,不然完蛋了。😭” 之前因为在线程池踩过坑,阅读过ThreadPoolExecutor的源码,自以为不会再踩...
  • 回答了问题2020-03-26
    zookeeper如何让所有节点更新最新值的?
    你前面理解的没错。这种情况是存在的。zk 写入是必须通过 leader 串行的写入,而且只要一半以上的节点写入成功即可。而任何节点都可提供读取服务。例如:zk,有 1~5 个节点,写入了一个最新的数据,最新数据写入到节点 1~3,会返回成功。然后读取请求过来要读取最新...
  • 赞了文章2020-03-26
    一杯茶的时间,上手 Docker
    努力工作,然后进入梦乡,“工作”和“做梦”之间好像没有任何关联;编写代码,然后部署应用,这两者似乎也是天各一边。然而果真如此吗?这篇文章将通过《盗梦空间》的方式打开 Docker,让你实现从“做梦”到“筑梦”的实质性转变。在原先的“做梦”阶段(手动配置和部署),一...
  • 发布了文章2020-03-25
    Java 并发编程 ③ - ThreadLocal 和 InheritableThreadLocal 详解
    原文地址:Java 并发编程 ③ - ThreadLocal 和 InheritableThreadLocal 详解转载请注明出处! 前言 往期文章: Java 并发编程基础 ① - 线程 Java 并发编程 ② - 线程生命周期与状态流转 继上一篇结尾讲的,这一篇文章主要是讲ThreadLocal 和 InheritableThreadLocal。...
  • 发布了文章2020-03-23
    Dubbo 服务性能压测(with JMeter)
    最近在做Dubbo服务与Prometheus的监控集成,为了测试监控组件对Dubbo RPC 调用的性能影响,就需要对添加前后做性能测试。虽然之前给组内搭建了统一的Dubbo 服务测试平台,但是无法用于性能测试。
  • 发布了文章2020-03-20
    Java 并发编程 ② - 线程生命周期与状态流转
    原文地址:Java 并发编程 ② - 线程生命周期与状态流转转载请注明出处! 前言 往期文章: Java 并发编程基础 ① - 线程 继上一篇结尾讲的,这一篇文章主要是讲线程的生命周期以及状态流转。主要内容有: Java 中对线程状态的定义,与操作系统线程状态的对比 线程状态的...
  • 回答了问题2020-03-18
    linux怎么查看jar包里的文件的内容?
    不用解压吧,vim ***.jar命令可以直接做。1、 vim ***.jar2、/MANIFEST.MF 查找文件,光标定位到 MANIFEST.MF 文件上3、再按下回车键,就可以看到里面的内容,jar中的其他文件同理