自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

crossoverJie专栏

会crossover的程序猿

  • 博客(240)
  • 收藏
  • 关注

原创 为自己搭建一个分布式 IM(即时通讯) 系统

前言大家新年快乐!新的一年第一篇技术文章希望开个好头,所以元旦三天我也没怎么闲着,希望给大家带来一篇比较感兴趣的干货内容。老读者应该还记得我在去年国庆节前分享过一篇《设计一个百万级的消息推送系统》;虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码;这么久了是时候把坑填上了。目录结构:本文较长,高能预警;带好瓜子板凳。于是在之前的基础上我完善了一些...

2019-01-02 08:10:42 5808 2

原创 设计一个百万级的消息推送系统

前言首先迟到的祝大家中秋快乐。最近一周多没有更新了。其实我一直想憋一个大招,分享一些大家感兴趣的干货。鉴于最近我个人的工作内容,于是利用这三天小长假憋了一个出来(其实是玩了两天

2018-09-25 08:32:59 786 2

原创 1K star+ 的项目是如何炼成的?

前言首先标题党一下,其实这篇文章主要是记录我的第二个过 1K star 的项目 Java-Interview,顺便分享下其中的过程及经验。需求选择Java-Interview之所以要做这个项目主要是当时我正在面阿里的两个部门,非常幸运的是技术面都过了。其中的过程真是让我受益匪浅更是印象深刻,所以就想把期间的问题记录下来,加上自己的理解希望能对其他朋友起到帮助。...

2018-05-15 08:40:52 463

原创 秒杀架构实践

前言之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好瓜子板凳(liushuizhang��)。本文所有涉及的代码:https://github.com/crossoverJie/SSMhttps://github.com/crossoverJie...

2018-05-09 10:05:29 1082

转载 程序员如何提升个人技术影响力

目录一、为什么要分享这个话题?二、为什么要打造技术影响力?三、怎么提升技术影响力?1. 输入-多学习自己对应领域的知识2. 输出-Github项目贡献3. 技术文章4. 演讲 4.1 怎么上行业大会演讲? 4.2 怎么讲?演讲技巧?5. 出书四、总结都说程序员的成长是码出来的,此话不假。但如果既会写代码,还会写文章,还能讲PPT,...

2024-05-22 08:10:09 6

原创 OpenTelemetry 实践指南:历史、架构与基本概念

背景之前陆续写过一些和 OpenTelemetry 相关的文章:实战:如何优雅的从 Skywalking 切换到 OpenTelemetry实战:如何编写一个 OpenTelemetry Extensions从一个 JDK21+OpenTelemetry 不兼容的问题讲起这些内容的前提是最好有一些 OpenTelemetry 的背景知识,看起来就不会那么枯燥,为此这篇文章就来做一个入门科普,方便一...

2024-05-21 08:08:25 300

转载 Google 如果把 Go 团队给裁了会怎么样?

大家好,我是煎鱼。节前有一则劲爆消息,Google 把 Python 基础团队和 flutter/dart 团队里相当多的开发人员给解雇了,据说可能是要换个城市重组(真是熟悉的 CY 套路)。据悉被解雇的人中基本都是负责了 Python 重要维护的相关核心成员。如下图所示:此时引发了国内外社区一个较大的担忧,如果 Google 如法炮制,要放弃 Go 核心团队。会发生什么事,会不会有什么问题?现在...

2024-05-15 09:24:05 8

原创 OpenTelemetry agent 对 Spring Boot 应用的影响:一次 SPI 失效的调查

背景前段时间公司领导让我排查一个关于在 JDK21 环境中使用 Spring Boot 配合一个 JDK18 新增的一个 SPI(java.net.spi.InetAddressResolverProvider) 不生效的问题。但这个不生效的前置条件有点多:JDK 的版本得在 18+SpringBoot3.x还在额外再配合使用 -javaagent:opentelemetry-javaagent....

2024-05-14 08:08:22 999

原创 自动化测试在 Kubernetes Operator 开发中的应用:以 OpenTelemetry

背景最近在给 opentelemetry-operator提交一个标签选择器的功能时,因为当时修改的函数是私有的,无法添加单测函数,所以社区建议我补充一个 e2e test.因为在当前的版本下,只要给 deployment 打上了 instrumentation.opentelemetry.io/inject-java: "true" 这类注解就会给该 deployment 注入 agent。但没...

2024-05-06 08:08:17 782

原创 深入剖析:如何使用Pulsar和Arthas高效排查消息队列延迟问题

背景前两天收到业务反馈有一个 topic 的分区消息堆积了:根据之前的经验来看,要么是业务消费逻辑出现问题导致消费过慢,当然也有小概率是消息队列的 Bug(我们使用的是 pulsar)。排查通过排查,发现确实是在一点多的时候消息堆积了(后面是修复之后堆积开始下降)。于是我在刚才堆积处查看了一条堆积消息的列表:获取到其中一条消息的 messageId.这里本质上使用的是 pulsar-admin 的...

2024-04-30 08:08:10 808

转载 Pulsar Meetup 深圳 2024 大咖推荐

Pulsar Meetup 深圳 2024 大咖推荐活动介绍图片由 AscentStream 谙流科技和腾讯云中间件联合主办的 Pulsar Meetup 深圳 2024 将于 2024年04月27日 14:00-18:00 在深圳腾讯大厦 2 楼多功能厅,精彩呈现,期待大家多多报名!同时我们也开展同步直播,大家可以关注 AscentStream 谙流科技视频号、腾讯云中间件、示说、上海开源信息技...

2024-04-26 08:01:59 16

原创 日志架构演进:从集中式到分布式的Kubernetes日志策略

当我们没有使用云原生方案部署应用时采用的日志方案往往是 ELK 技术栈。这套技术方案比较成熟,稳定性也很高,所以几乎成为了当时的标配。可是随着我们使用 kubernetes 步入云原生的时代后, kubernetes 把以往的操作系统上的许多底层都屏蔽,再由他提供了一些标准接口。同时在 kubernetes 中的日志来源也比传统虚拟机多,比如可能有容器、kubernetes 自身的事件、日志等。我...

2024-04-22 08:08:46 843

原创 实战:如何编写一个 OpenTelemetry Extensions

前言前段时间我们从 SkyWalking 切换到了 OpenTelemetry ,与此同时之前使用 SkyWalking 编写的插件也得转移到 OpenTelemetry 体系下。我也写了相关介绍文章:实战:如何优雅的从 SkyWalking 切换到 OpenTelemetry好在 OpenTelemetry 社区也提供了 Extensions 的扩展开发,我们可以不用去修改社区发行版:opent...

2024-04-16 08:08:34 671

原创 2024年的云原生架构需要哪些技术栈

背景时间过得很快啊,一转眼已经到了 2024 年,还记得 15 年刚工作那会掌握个 SSM/H(Spring/Struts2/Mybatis/Hibernate) 框架就能应付大部分面试了。现在 CS 专业的新同学估计都没听说过 SSM????恰好从我刚开始工作时的移动互联网热潮到电商->共享经济->toB 大热->如今我都经历了一遍,技术栈也有由最开始的单体应用+物理机发展到现在的 ...

2024-04-11 08:08:52 528

原创 实战:如何优雅的从 Skywalking 切换到 OpenTelemetry

背景最近公司将我们之前使用的链路工具切换为了 OpenTelemetry.我们的技术栈是:OTLPClient──────────►Collect────────►StartRocks(Agent)▲...

2024-04-08 08:08:08 821

原创 在 kubernetes 环境下如何优雅扩缩容 Pulsar

背景在整个大环境的降本增效的熏陶下,我们也不得不做好应对方案。根据对线上流量、存储以及系统资源的占用,发现我们的 Pulsar 集群有许多的冗余,所以考虑进行缩容从而减少资源浪费,最终也能省一些费用。不过在缩容之前很有必要先聊聊扩容,Pulsar 一开始就是存算分离的架构(更多关于 Pulsar 架构的内容本文不做过多介绍,感兴趣的可以自行搜索),天然就非常适合 kubernetes 环境,也可以...

2024-03-29 12:00:16 908

原创 顶级开源社区都能吵起来?

起因因为订阅了 Pulsar 的开发者邮件,前段时间看到一封标题为《(Apache committer criteria) [ANNOUNCE] New Committer: Asaf Mesika》的邮件。乍一看以为是欢迎 Asaf Mesika 成为 Committer,但仔细一看不太对劲,这内容也太多了,以往的欢迎都是简单的 Congratulations! 作为回复,这篇内容明显有点多了,...

2024-03-22 08:08:38 798

转载 最迟但到的 Star History 2023 年度开源精选!

千呼万唤始出来,Star History 2023 年终开源精选来啦!????AI 是 2023 开源领域里最主要的关键词,但其实过去一年还是有很多其他值得关注的项目和发展趋势的!Star History 小编总结了几个类别并精选了类别中最亮眼的项目,包括:人工智能数据库开发工具前端安全Web3人工智能 - LangChainLangChain (https://github.com/langchain...

2024-03-12 08:02:04 25

转载 技术探究 | Flipkart 带来 Apache Pulsar 集群调优指南

本文翻译自 Flipkart 博客《Tuning Apache Pulsar Cluster》,讲述 Flipkart 如何调优 Apache Pulsar 集群的性能,并给出了详尽的调优指南。作者:Anshul Singh,译者:傅腾注:为了行为顺畅,有部分调整。翻译不易,有任何问题,都可以小窗公众号私信,或者直接联系 Pulsar Bot :)这是一篇对 Apache Pulsar 集群...

2024-03-05 12:00:14 36

原创 技术阅读周刊第十四期:常用的 Git 配置

技术阅读周刊,每周更新。历史更新20231122:第十一期20231129:第十二期20240105:第十三期:一些提高生产力的终端命令20240112:第十四期:Golang 作者 Rob Pike 在 GopherConAU 上的分享How I write HTTP services in Go after 13 years使用NewServer函数构建服务实例,利用依赖注入方式将所有的依赖参...

2024-03-01 08:00:41 1665

转载 【译】Apache Pulsar 3.2.0 发布

Pulsar3.2.0 于 2024-02-05 发布,提供了一些新特性和修复了一些 bug ,共有 57 位开发者提交了 88 次 commit。以下是一些关键特性介绍.速率限制在 3.2 中对速率限制做了重构:PIP-322 Pulsar Rate Limiting Refactoring.速率限制器是 Pulsar 服务质量(Qos)保证的重要渠道,主要解决了以下问题:速率限制器的高 CPU...

2024-02-27 17:00:13 309

原创 我的 2023

今天是春节的最后一天,因为工作上临时有点事,很不情愿的打开电脑看着也就 10 天没看代码觉得非常陌生。之后便准备将迟迟未写的 2023 总结补完,这个传统从16年至今已经坚持将近 7 年时间了,今年当然也不能意外。健身今年要说最让我印象深刻的事就是健身了,为此我投入了大量的时间。我记得是在 22 年四月份当时是因为确实长胖太明显了,下定决心找个教练进行训练,效果确实也有。去年也分享过,最后从 75...

2024-02-22 08:08:18 919

转载 HN 千赞热贴|创业 4 年,那些狠狠打我脸的技术选型

Hacker News 帖子 https://news.ycombinator.com/item?id=39313623原文 https://cep.dev/posts/every-infrastructure-decision-i-endorse-or-regret-after-4-years-running-infrastructure-at-a-startup/过年这段时间,Hacker ...

2024-02-20 08:05:34 21

转载 得物云原生全链路追踪Trace2.0架构实践

导读:分布式链路追踪作为解决分布式应用可观测问题的重要技术,得物全链路追踪(简称Trace2.0)基于OpenTelemetry提供的可观测标准方案实现新一代的一站式全链路观测诊断平台,并通过全量采集Trace帮助业务提高故障诊断、性能优化、架构治理的效率。全量采集Trace数据(日增数百TB 、数千亿条Span数据)并以较低的成本保证数据的实时处理与高效查询,对Trace2.0后端整体的可观测性...

2024-02-18 08:05:50 1224

转载 【译】Apache Pulsar 2023 年度回顾

前两天 Pulsar 社区发布了 2023 年年度回顾,去年我也花了一些时间参与社区,所以其中一些内容感受挺明显的,以下就是对一些重点内容的提炼。2023 年是一个重要的里程碑,参与主仓库贡献的开发者达到了 600 位。自从 Pulsar 从 2018 毕业成为 Apache 顶级项目至今一共又 12K+ 的代码提交次数、639 位贡献者、12.2k star、3.5k fork、10k+ 的 ...

2024-01-29 08:08:46 54

原创 手把手教你为开源项目贡献代码

背景前段时间无意间看到一篇公众号 招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe 用于整合目前市面上散落在各地的 Exporter,统一进行管理。比如我们常用的 blackbox_exporter/mysqld_exporter 等。以往的每一个 Exporter 都需要单独部署运维。同时又完全兼容 Prometheus 生态,也可以复用现有的监控面板。恰好这段时间我也...

2024-01-26 08:08:58 749

转载 小红书可观测 Metrics 架构演进,如何实现数十倍性能提升?

目录1.背景 1.1 小红书 Metrics 发展情况 1.2 面临的问题2.演进历程 2.1 采集 2.2 高可用改造 2.3 查询优化 2.4 高基数治理 2.5 跨云多活3.总结与展望4.作者简介5.招聘JD在当前云原生时代,随着微服务架构的广泛应用,云原生可观测性概念被广泛讨论。可观测技术建设,将有助于跟踪、了解和诊断生产环境问题,辅助开发和运维人...

2024-01-22 08:00:58 56

转载 云原生全链路追踪Trace2.0架构实践

导读:分布式链路追踪作为解决分布式应用可观测问题的重要技术,得物全链路追踪(简称Trace2.0)基于OpenTelemetry提供的可观测标准方案实现新一代的一站式全链路观测诊断平台,并通过全量采集Trace帮助业务提高故障诊断、性能优化、架构治理的效率。全量采集Trace数据(日增数百TB 、数千亿条Span数据)并以较低的成本保证数据的实时处理与高效查询,对Trace2.0后端整体的可观测性...

2024-01-18 11:50:19 530

原创 白话 Pulsar Bookkeeper 的存储模型

最近我们的 Pulsar 存储有很长一段时间数据一直得不到回收,但消息确实已经是 ACK 了,理论上应该是会被回收的,随着时间流逝不但没回收还一直再涨,最后在没找到原因的情况下就只有一直不停的扩容。最后磁盘是得到了回收,过程先不表,之后再讨论。为了防止类似的问题再次发生,我们希望可以监控到磁盘维度,能够列出各个日志文件的大小以及创建时间。这时就需要对 Pulsar 的存储模型有一定的了解,也就有了...

2024-01-16 08:08:36 835

转载 分布式锁实现原理与最佳实践

这是阿里技术2023年的第15篇文章( 本文阅读时间:15分钟 )在单体的应用开发场景中涉及并发同步时,大家往往采用Synchronized(同步)或同一个JVM内Lock机制来解决多线程间的同步问题。而在分布式集群工作的开发场景中,就需要一种更加高级的锁机制来处理跨机器的进程之间的数据同步问题,这种跨机器的锁就是分布式锁。接下来本文将为大家分享分布式锁的最佳实践。01超卖问题复现1.1 现象存在...

2024-01-15 08:00:11 32

原创 技术阅读周刊第十四期:Golang 作者 Rob Pike 在 GopherConAU 上的分享

技术阅读周刊,每周更新。历史更新20231215:第十期20231122:第十一期20231129:第十二期20240105:第十三期:一些提高生产力的终端命令What We Got Right, What We Got WrongURL: https://commandcenter.blogspot.com/2024/01/what-we-got-right-what-we-got-wrong....

2024-01-12 08:08:37 1020 1

转载 总结|性能优化思路及常用工具及手段

阿里妹导读性能优化是降低成本的手段之一,每年大促前业务平台都会组织核心链路上的应用做性能优化,一方面提升系统性能,另外一方面对腐化的代码进行清理。本文结合业务平台性能优化的经验,探讨一下性能优化的思路及常用工具及手段。性能优化是降低成本的手段之一,每年大促前业务平台都会组织核心链路上的应用做性能优化,一方面提升系统性能,另外一方面对腐化的代码进行清理。现结合业务平台性能优化的经验,探讨一下性能优化...

2024-01-11 08:03:33 29

原创 请注意,你的 Pulsar 集群可能有删除数据的风险

在上一篇 Pulsar3.0新功能介绍中提到,在升级到 3.0 的过程中碰到一个致命的问题,就是升级之后 topic 被删除了。正好最近社区也补充了相关细节,本次也接着这个机会再次复盘一下,毕竟这是一个非常致命的 Bug。现象先来回顾下当时的情况:升级当晚没有出现啥问题,各个流量指标、生产者、消费者数量都是在正常范围内波动。事后才知道,因为只是删除了很少一部分的 topic,所以从监控中反应不出来...

2024-01-09 08:08:43 877

原创 技术阅读周刊第十三期:一些提高生产力工具的终端命令

技术阅读周刊,每周更新。历史更新20231201:第八期20231215:第十期20231122:第十一期20231129:第十二期生存还是毁灭?一文带你看懂 Pulsar 的消息保留和过期策略-腾讯云开发者社区-腾讯云URL: https://cloud.tencent.com/developer/article/2245703本文分析了 Pulsar 消息的生命周期,主要是如何保留和回收消息T...

2024-01-06 08:08:50 838

原创 Pulsar3.0新功能介绍

在上一篇文章 Pulsar3.0 升级指北讲了关于升级 Pulsar 集群的关键步骤与灾难恢复,本次主要分享一些 Pulsar3.0 的新功能与可能带来的一些问题。升级后所遇到的问题先来个欲扬先抑,聊聊升级后所碰到的问题吧。其中有两个问题我们感知比较明显,特别是第一个。topic被删除我们在上个月某天凌晨从 2.11.2 升级到 3.0.1 之后,进行了上一篇文章中所提到的功能性测试,发现没什么问...

2024-01-03 08:08:37 801

原创 技术阅读周刊第十二期

年前最后一篇推送,提前祝大家新年快乐。技术阅读周刊,每周更新。历史更新20231201:第八期20231215:第十期20231122:第十一期Deno vs Go: Native hello world performance | Tech TonicURL: https://medium.com/deno-the-complete-reference/deno-vs-go-native-hel...

2023-12-29 17:03:35 897

原创 Pulsar3.0 升级指北

Pulsar3.0-upgrade.pngPulsar3.0 介绍Pulsar3.0 是 Pulsar 社区推出的第一个 LTS 长期支持版本。image.png如图所示,LTS 版本会最长支持到 36 个月,而 Feature 版本最多只有六个月;类似于我们使用的 JDK11,17,21 都是可以长期使用的;所以也推荐大家都升级到 LTS 版本。作为首个 LTS 版本,3.0 自然也是自带了许多...

2023-12-25 08:08:25 911

原创 技术阅读周刊第十一期

技术阅读周刊,每周更新。历史更新20231124:第七期20231201:第八期20231215:第十‍期A Comprehensive guide to Spring Boot 3.2 with Java 21, Virtual Threads, Spring Security, PostgreSQL, Flyway, Caching, Micrometer, Opentelemetry, JU...

2023-12-23 17:00:22 1009

原创 如何给开源项目发起提案

背景前段时间在使用 Pulsar 的 admin API 时,发现其中的一个接口响应非常慢:admin.topics().getPartitionedStats(topic);使用 curl 拿到的响应结果非常大,同时也非常耗时:具体的 issue 在这里:https://github.com/apache/pulsar/issues/21200后面经过分析,是因为某些 topic 的生产者和消费...

2023-12-22 08:08:22 871

原创 技术阅读周刊第十期

技术阅读周刊,每周更新。周四加了个班,周五没缓过来,就推迟到今天更新了历史更新20231117:第六期20231124:第七期20231201:第八期20231215:第九期Golang: 14 Shorthand Tricks You Might Not Know! | by Nidhi D | Dec, 2023 | CanopasURL: https://blog.canopas.com/g...

2023-12-16 16:30:35 371

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除