捉虫大师_社区达人页

个人头像照片
捉虫大师
已加入开发者社区2010

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布61篇文章
1条评论
已回答0个问题
0条评论
已发布0个视频
github地址

粉丝 更多

技术能力

兴趣领域
擅长领域
  • Java
    初级

    能力说明:

    了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。

技术认证

暂无个人介绍

暂无精选文章
暂无更多信息

2022年04月

  • 04.24 09:47:30
    发表了文章 2022-04-24 09:47:30

    OpenResty入门

    OpenResty通过汇聚各种设计精良的 Nginx模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。
  • 04.24 09:43:42
    发表了文章 2022-04-24 09:43:42

    记一次提升18倍的性能优化

    最近负责的一个自研的 Dubbo 注册中心经常收到 CPU 使用率的告警,于是进行了一波优化,效果还不错,于是打算分享下思考、优化过程,希望对大家有一些帮助。 自研 Dubbo 注册中心是个什么东西,我画个简图大家稍微感受一下就好,看不懂也没关系,不影响后续的理解。
  • 04.24 09:37:29
    发表了文章 2022-04-24 09:37:29

    盘点Go中的开发神器

    Java的单元测试需要使用第三方库,一般是Junit,配置起来比较复杂。在使用了golang之后发现golang自带的单元测试真的非常简单。 如果我们有一个cal.go文件,那么其对应的单元测试文件为cal_test.go,其中的方法命名必须为TestXxx,这种按照命名进行单元测试的方式简单有效,也正是通常所说的“约定大于配置”。
  • 04.23 22:10:32
    发表了文章 2022-04-23 22:10:32

    实测Tengine开源的Dubbo功能

    Tengine是阿里巴巴基于Nginx开发并开源的Web服务器,它继承了Nginx所有的功能和特性,并在其基础上做了大量的扩展和增强,其中像动态模块加载,四层负载均衡,reuseport支持等能力,都逐渐被Nginx官方吸收引用。Tengine在开源以后大受欢迎,成为了Nginx最好的替代品之一,官方网站(http://tengine.taobao.org/)。 Dubbo是阿里巴巴开源的一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
  • 04.23 22:05:49
    发表了文章 2022-04-23 22:05:49

    大厂偏爱的Agent技术究竟是个啥

    为了解释什么是Agent技术,我在网上搜了一圈,但没有找到想要的结果。反倒是搜到了不少Java Agent技术,要注意Java Agent技术指的是一种Java字节码修改技术,和本文要说的完全是两码事。 既然搜不到,我就说下自己的理解吧。Agent技术是在「客户端」机器上部署一个Agent进程,「客户端」与「服务端」的交互通过这个Agent进行代理,其中Agent与Client通常在同一主机,即可通过「localhost」进行访问。
  • 04.23 22:01:18
    发表了文章 2022-04-23 22:01:18

    Dubbo的前世今生

    RPC,全称Remote Procedure Call,即远程过程调用,一句话描述就是调用远程对象就像调用本地方法一样方便简单。常见的RPC框架有dubbo、grpc、thrift等。
  • 04.23 21:53:48
    发表了文章 2022-04-23 21:53:48

    这个Dubbo注册中心扩展,有点意思!

    迁移注册中心的方案大致有两种: 方案一:使用Dubbo提供的多注册中心能力,Provider先进行双注册,Consumer逐步迁移消费新注册中心,最后下线老注册中心。该方案的缺点是修改时有上下游依赖关系。 方案二:使用一个同步工具把老注册中心的数据同步到新注册中心,Consumer逐步迁移到新注册中心,最后下线老注册中心。同步工具有开源的Nacos-sync,我之前的文章《zookeeper到nacos的迁移实践》就提到了这个方案。这个方案的缺点是架构变得复杂,需要解决同步数据的顺序性、一致性、同步组件的高可用等问题。
  • 04.23 21:44:31
    发表了文章 2022-04-23 21:44:31

    聊聊dubbo协议2

    在《聊聊dubbo协议》中介绍了attachments在consumer和provider间的传递情况,有个疑问没有给出答案。 为什么2.7.x版本的dubbo不支持provider端向consumer端回传隐式参数呢?今天的续集将揭晓答案。
  • 04.23 21:30:55
    发表了文章 2022-04-23 21:30:55

    聊聊dubbo协议

    协议通俗易懂地解释就是通信双方需要遵循的约定。 我们了解的常见的网络传输协议有tcp、udp、http等。再到我们常用的基础组件,一般来说client端与server端也有相应的协议,如redis、mysql、zookeeper等都是各自约定的私有协议,同样今天标题中的dubbo协议也是一种私有协议,他们都是应用层协议,基于tcp或udp设计。
  • 04.23 21:26:28
    发表了文章 2022-04-23 21:26:28

    服务探活的五种方式

    总之一句话总结起来就是Provider节点没有摘除流量前,就无法处理请求了。可以分为三类: 系统异常:如断电、断网、其他硬件故障、或操作系统异常退出 进程异常退出:进程异常退出,端口挂掉,如有注销机制但没来得及注销,如执行了kill -9 进程无法处理请求:端口还在,但服务无法正常响应,如Full GC期间
  • 04.23 21:20:35
    发表了文章 2022-04-23 21:20:35

    Dubbo为什么要用Go重写?

    诞生于阿里巴巴,2011年开源的Dubbo已经走过了10个年头。在2019年,它被用Go重写并开源,如今两年过去,已经从当初的V1.0.0版本发展到了V3.0.0,截止目前star数3.8K。 有一次同事问我,为什么Dubbo这么"老"的项目还要用Go重写,有什么现实意义吗? 今天就来谈谈我的一些看法。
  • 04.23 21:00:12
    发表了文章 2022-04-23 21:00:12

    我在组内的Java问题排查分享

    可从三个方面入手 知识:有些问题,思考一下就有答案,就像传说中多隆那样,回忆下就知道第83行代码有问题~ 工具:当然不是每个人都能做到过目不忘,也有可能这代码完全不是你写的,这时就需要靠工具来定位问题 数据:程序运行时产生的数据,也能提供很多线索
  • 04.23 20:51:38
    发表了文章 2022-04-23 20:51:38

    几个你不知道的dubbo注册中心细节

    在配置dubbo注册中心时,一般会这样写 dubbo.registry.protocol=zookeeper dubbo.registry.address=127.0.0.1:2181 也会简单地写成 dubbo.registry.address=zookeeper://127.0.0.1:2181
  • 04.23 20:48:04
    发表了文章 2022-04-23 20:48:04

    Sentinel-Go 源码系列(二)|初始化流程和责任链设计模式

    Sentinel-Go 初始化时主要做了以下2件事情: 通过各种方式(文件、环境变量等)载入全局配置 启动异步的定时任务或服务,如机器 cpu、内存信息收集、metric log 写入等等
  • 04.23 20:30:08
    发表了文章 2022-04-23 20:30:08

    dubbo 配置 loadbalance 不生效?撸一把源码

    很久之前我给业务方写了一个 dubbo loadbalance 的扩展(为了叙述方便,这个 loadbalance 扩展就叫它 XLB 吧),这两天业务方反馈说 XLB 不生效了 我心想,不可能啊,都用了大半年了~
  • 04.23 18:03:25
    发表了文章 2022-04-23 18:03:25

    升级 dubbo 小心 default.version

    上周遇到个关于升级dubbo 2.6 到2.7的兼容性问题,差点造成线上故障,这里记录下,也给大家提个醒。
  • 04.23 17:54:05
    发表了文章 2022-04-23 17:54:05

    低开销获取时间戳

    这个话题展开具体说说,我们在Java中获取时间戳的方法是System.currentTimeMillis(),返回的是毫秒级的时间戳,查看源码,注释写的比较清楚,虽然该方法返回的是毫秒级的时间戳,但精度取决于操作系统,很多操作系统返回的精度是10毫秒
  • 04.23 17:42:41
    发表了文章 2022-04-23 17:42:41

    4个实验,彻底搞懂TCP连接的断开

    看到这个标题你可能会说,TCP 连接的建立与断开,这个我熟,不就是三次握手与四次挥手嘛。且慢,脑海中可以先尝试回答这几个问题: 四次挥手是谁发起的? 如果断电/断网了连接会断开吗? 什么情况下没有四次挥手连接也会断开?
  • 04.23 17:27:28
    发表了文章 2022-04-23 17:27:28

    rocketmq优雅停机往事

    表面上看报错是因为使用了已经关闭的数据源 数据源什么时候会关闭呢?只有进程被杀死的时候 莫非是应用关闭时不够平滑?发布时会先摘除流量的呀,应该不至于呀 天色已经很晚,漫无目的地拖动日志,疲惫地寻找新线索,突然报错日志中一个单词引入眼帘:rocketmq 精神抖擞,大概知道原因了,这应用中还有个兢兢业业的rocketmq consumer一直在消费消息,在应用关闭时,外部流量被摘除了,但没人通知rocketmq consumer,于是它抛异常了。
  • 04.23 17:17:48
    发表了文章 2022-04-23 17:17:48

    ShutdownHook原理

    有了ShutdownHook我们可以 在进程结束时做一些善后工作,例如释放占用的资源,保存程序状态等 为优雅(平滑)发布提供手段,在程序关闭前摘除流量
  • 04.23 17:08:47
    发表了文章 2022-04-23 17:08:47

    Sentinel-Go 源码系列(一)|开篇

    本次选择了 Sentinel-Go,一是对 Java 版本的 Sentinel 算是有一些了解,也在生产上落地过,二是感觉他的代码应该不会太复杂(仅仅是感觉),三是在云原生越来越热的趋势下,用 Go 实现的限流降级容错应该是比较通用的。
  • 04.23 16:59:48
    发表了文章 2022-04-23 16:59:48

    redis在微服务领域的贡献

    说到redis,可能大家的脑海中蹦出的关键词是:NoSQL、KV、高性能、缓存等。但今天的文章从另一个角度——微服务来展开。 这篇文章的起因也是源自一次面试经历,在面试一位来自陌陌的候选人(就是那个交友的陌陌)时,他提到一点让我觉得很有意思,他说redis在陌陌被使用的非常广泛,除了常规的缓存外,某些场景下也当NoSQL数据库来使用,还用redis作为微服务的注册中心,甚至连RPC的调用协议都用了redis协议。
  • 04.23 16:51:41
    发表了文章 2022-04-23 16:51:41

    Cobar提出的一种在分库场景下对Order By / Limit 的优化

    Cobar 虽然是一款“古老”的数据库中间件,但目前不少公司仍然在用它,且它包含了不少有意思的算法和实现,今天就来分享 Cobar 提出的一种在分库场景下对 Order By / Limit 的优化。
  • 04.23 16:41:18
    发表了文章 2022-04-23 16:41:18

    案例分享 | dubbo 2.7.12 bug导致线上故障

    最近某天的深夜,刚洗完澡就接到业务方打来电话,说他们的 dubbo 服务出故障了,要我协助排查一下。 电话里,询问了他们几点 是线上有损故障吗?——是 止损了吗?——止损了 有保留现场吗?——没有
  • 04.23 16:15:09
    发表了文章 2022-04-23 16:15:09

    写了一年golang,来聊聊进程、线程与协程

    从单进程到多进程提高了 CPU 利用率;从进程到线程,降低了上下文切换的开销;从线程到协程,进一步降低了上下文切换的开销,使得高并发的服务可以使用简单的代码写出来,技术的每一步发展都是为了解决实际问题。
  • 04.23 15:35:40
    发表了文章 2022-04-23 15:35:40

    Nacos注册中心之概要设计

    用Nacos的源码来搭建源码阅读和调试环境,可参考《Nacos配置中心模块详解》 Nacos调试环境搭建部分。 其中 JVM参数可以指定只启动Naming模块,也可以不指定,默认全都启动。 example模块下将NamingExample复制一份进行测试。
  • 04.23 15:10:22
    发表了文章 2022-04-23 15:10:22

    使用dubbo-go搭建dubbo接口测试平台

    作为接口测试平台,没办法引入所有提供方定义的接口jar包,可以有以下方案来解决: dubbo支持telnet协议调用dubbo接口 dubbo的泛化调用可以在不引入提供方接口定义jar包的情况下对接口进行调用
  • 04.23 15:00:18
    发表了文章 2022-04-23 15:00:18

    给dubbo贡献源码,做梦都在修bug

    使用了keys命令,会阻塞单线程的redis,keys执行期间,其他命令都得排队 没有心跳检测这个功能,我测试了provider被kill -9杀死后,consumer是无法感知的。但从实现上来看是想通过存储的过期时间来判断服务是否可用,即需要对比url对应的value与当前的时间,如果过期应被剔除,但这部分貌似没有实现完整
  • 04.23 14:44:47
    发表了文章 2022-04-23 14:44:47

    dubbo 2.7应用级服务发现踩坑小记

    本文记录最近一位读者反馈的dubbo 2.7.x中应用级服务发现的问题,关于dubbo应用级服务发现的相关介绍可以参考之前的文章《dubbo应用级服务发现初体验》,这里不再赘述。 读者反馈他们在基于dubbo 2.7应用级服务发现开发dubbo网关,根据文章《dubbo应用级服务发现初体验》写了demo调用时报no provider的错误。 首先觉得他们挺有想法,把dubbo应用级服务发现搬上生产的公司不多。其次当时写文章时测试并没有遇到问题,但本着帮读者解决问题的态度,还是重新写个demo测试下。
  • 04.23 14:25:16
    发表了文章 2022-04-23 14:25:16

    排查dubbo接口重复注销问题,我发现了一个巧妙的设计

    我在公司内负责自研的dubbo注册中心相关工作,群里经常接到业务方反馈dubbo接口注销报错。经排查,确定是同一个接口调用了两次注销接口导致,由于我们的注册中心注销接口不能重复调用,调用第二次会因为实例已经注销而报实例找不到的错误。 虽然这个报错仅会打印一条错误日志,不影响业务,但本着 follow through的精神,我决定还是一探究竟,更何况重复注销也增加了应用的结束时间,影响了发布回滚速度。
  • 04.23 13:58:31
    发表了文章 2022-04-23 13:58:31

    Cobar源码分析之AST

    Cobar是阿里开源的数据库中间件,关于它的介绍这里不再赘述,可以参考之前的文章《Cobar SQL审计的设计与实现》 Cobar中利用AST可以获取table名、列名、比较的值进行分库分表,这也是Cobar最重要的功能 线上写了一条没有where条件的update或delete,这时可以利用AST进行表达式计算,对没有where条件和where条件恒为true的SQL进行拦截。
  • 发表了文章 2022-04-28

    灵感乍现!造了个与众不同的Dubbo注册中心扩展轮子

  • 发表了文章 2022-04-26

    Sentinel在docker中获取CPU利用率的一个BUG

  • 发表了文章 2022-04-26

    以为是青铜,没想到是王者的dubbo标签路由

  • 发表了文章 2022-04-26

    当dubbo多注册中心碰上标签路由

  • 发表了文章 2022-04-26

    nacos的一致性协议distro介绍

  • 发表了文章 2022-04-26

    一次漫长的dubbo网关内存泄露排查经历

  • 发表了文章 2022-04-26

    skywalking内存泄露排查

  • 发表了文章 2022-04-26

    基准测试神器JMH —— 详解36个官方例子

  • 发表了文章 2022-04-26

    从nacos客户端的TIME_WAIT说起

  • 发表了文章 2022-04-26

    AtomicStampedReference是怎样解决CAS的ABA问题

  • 发表了文章 2022-04-26

    如何设计一款“高可用高性能”的发号器?

  • 发表了文章 2022-04-26

    实现一个比LongAdder更高性能的计数器有多难?

  • 发表了文章 2022-04-26

    zookeeper到nacos的迁移实践

  • 发表了文章 2022-04-26

    cpu分析利器 — async-profiler

  • 发表了文章 2022-04-26

    一种极致性能的缓冲队列

  • 发表了文章 2022-04-26

    微服务网关演进之路

  • 发表了文章 2022-04-26

    当我们谈注册中心时谈什么?

  • 发表了文章 2022-04-26

    dubbo应用级服务发现初体验

  • 发表了文章 2022-04-26

    OpenResty解决的第一个问题

  • 发表了文章 2022-04-26

    Cobar SQL审计的设计与实现

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息