- 博客(228)
- 收藏
- 关注
原创 为自己搭建一个分布式 IM(即时通讯) 系统
前言大家新年快乐!新的一年第一篇技术文章希望开个好头,所以元旦三天我也没怎么闲着,希望给大家带来一篇比较感兴趣的干货内容。老读者应该还记得我在去年国庆节前分享过一篇《设计一个百万级的消息推送系统》;虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码;这么久了是时候把坑填上了。目录结构:本文较长,高能预警;带好瓜子板凳。于是在之前的基础上我完善了一些...
2019-01-02 08:10:42 5800 2
原创 设计一个百万级的消息推送系统
前言首先迟到的祝大家中秋快乐。最近一周多没有更新了。其实我一直想憋一个大招,分享一些大家感兴趣的干货。鉴于最近我个人的工作内容,于是利用这三天小长假憋了一个出来(其实是玩了两天
2018-09-25 08:32:59 784 2
原创 1K star+ 的项目是如何炼成的?
前言首先标题党一下,其实这篇文章主要是记录我的第二个过 1K star 的项目 Java-Interview,顺便分享下其中的过程及经验。需求选择Java-Interview之所以要做这个项目主要是当时我正在面阿里的两个部门,非常幸运的是技术面都过了。其中的过程真是让我受益匪浅更是印象深刻,所以就想把期间的问题记录下来,加上自己的理解希望能对其他朋友起到帮助。...
2018-05-15 08:40:52 459
原创 秒杀架构实践
前言之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好瓜子板凳(liushuizhang��)。本文所有涉及的代码:https://github.com/crossoverJie/SSMhttps://github.com/crossoverJie...
2018-05-09 10:05:29 1079
原创 顶级开源社区都能吵起来?
起因因为订阅了 Pulsar 的开发者邮件,前段时间看到一封标题为《(Apache committer criteria) [ANNOUNCE] New Committer: Asaf Mesika》的邮件。乍一看以为是欢迎 Asaf Mesika 成为 Committer,但仔细一看不太对劲,这内容也太多了,以往的欢迎都是简单的 Congratulations! 作为回复,这篇内容明显有点多了,...
2024-03-22 08:08:38 779
转载 最迟但到的 Star History 2023 年度开源精选!
千呼万唤始出来,Star History 2023 年终开源精选来啦!????AI 是 2023 开源领域里最主要的关键词,但其实过去一年还是有很多其他值得关注的项目和发展趋势的!Star History 小编总结了几个类别并精选了类别中最亮眼的项目,包括:人工智能数据库开发工具前端安全Web3人工智能 - LangChainLangChain (https://github.com/langchain...
2024-03-12 08:02:04 14
转载 技术探究 | Flipkart 带来 Apache Pulsar 集群调优指南
本文翻译自 Flipkart 博客《Tuning Apache Pulsar Cluster》,讲述 Flipkart 如何调优 Apache Pulsar 集群的性能,并给出了详尽的调优指南。作者:Anshul Singh,译者:傅腾注:为了行为顺畅,有部分调整。翻译不易,有任何问题,都可以小窗公众号私信,或者直接联系 Pulsar Bot :)这是一篇对 Apache Pulsar 集群...
2024-03-05 12:00:14 23
原创 技术阅读周刊第十四期:常用的 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 1616
转载 【译】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 305
原创 我的 2023
今天是春节的最后一天,因为工作上临时有点事,很不情愿的打开电脑看着也就 10 天没看代码觉得非常陌生。之后便准备将迟迟未写的 2023 总结补完,这个传统从16年至今已经坚持将近 7 年时间了,今年当然也不能意外。健身今年要说最让我印象深刻的事就是健身了,为此我投入了大量的时间。我记得是在 22 年四月份当时是因为确实长胖太明显了,下定决心找个教练进行训练,效果确实也有。去年也分享过,最后从 75...
2024-02-22 08:08:18 917
转载 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 17
转载 得物云原生全链路追踪Trace2.0架构实践
导读:分布式链路追踪作为解决分布式应用可观测问题的重要技术,得物全链路追踪(简称Trace2.0)基于OpenTelemetry提供的可观测标准方案实现新一代的一站式全链路观测诊断平台,并通过全量采集Trace帮助业务提高故障诊断、性能优化、架构治理的效率。全量采集Trace数据(日增数百TB 、数千亿条Span数据)并以较低的成本保证数据的实时处理与高效查询,对Trace2.0后端整体的可观测性...
2024-02-18 08:05:50 1178
转载 【译】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 42
原创 手把手教你为开源项目贡献代码
背景前段时间无意间看到一篇公众号 招贤令:一起来搞一个新开源项目,作者介绍他想要做一个开源项目:cprobe 用于整合目前市面上散落在各地的 Exporter,统一进行管理。比如我们常用的 blackbox_exporter/mysqld_exporter 等。以往的每一个 Exporter 都需要单独部署运维。同时又完全兼容 Prometheus 生态,也可以复用现有的监控面板。恰好这段时间我也...
2024-01-26 08:08:58 739
转载 小红书可观测 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 40
转载 云原生全链路追踪Trace2.0架构实践
导读:分布式链路追踪作为解决分布式应用可观测问题的重要技术,得物全链路追踪(简称Trace2.0)基于OpenTelemetry提供的可观测标准方案实现新一代的一站式全链路观测诊断平台,并通过全量采集Trace帮助业务提高故障诊断、性能优化、架构治理的效率。全量采集Trace数据(日增数百TB 、数千亿条Span数据)并以较低的成本保证数据的实时处理与高效查询,对Trace2.0后端整体的可观测性...
2024-01-18 11:50:19 494
原创 白话 Pulsar Bookkeeper 的存储模型
最近我们的 Pulsar 存储有很长一段时间数据一直得不到回收,但消息确实已经是 ACK 了,理论上应该是会被回收的,随着时间流逝不但没回收还一直再涨,最后在没找到原因的情况下就只有一直不停的扩容。最后磁盘是得到了回收,过程先不表,之后再讨论。为了防止类似的问题再次发生,我们希望可以监控到磁盘维度,能够列出各个日志文件的大小以及创建时间。这时就需要对 Pulsar 的存储模型有一定的了解,也就有了...
2024-01-16 08:08:36 825
转载 分布式锁实现原理与最佳实践
这是阿里技术2023年的第15篇文章( 本文阅读时间:15分钟 )在单体的应用开发场景中涉及并发同步时,大家往往采用Synchronized(同步)或同一个JVM内Lock机制来解决多线程间的同步问题。而在分布式集群工作的开发场景中,就需要一种更加高级的锁机制来处理跨机器的进程之间的数据同步问题,这种跨机器的锁就是分布式锁。接下来本文将为大家分享分布式锁的最佳实践。01超卖问题复现1.1 现象存在...
2024-01-15 08:00:11 27
原创 技术阅读周刊第十四期: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 1013 1
转载 总结|性能优化思路及常用工具及手段
阿里妹导读性能优化是降低成本的手段之一,每年大促前业务平台都会组织核心链路上的应用做性能优化,一方面提升系统性能,另外一方面对腐化的代码进行清理。本文结合业务平台性能优化的经验,探讨一下性能优化的思路及常用工具及手段。性能优化是降低成本的手段之一,每年大促前业务平台都会组织核心链路上的应用做性能优化,一方面提升系统性能,另外一方面对腐化的代码进行清理。现结合业务平台性能优化的经验,探讨一下性能优化...
2024-01-11 08:03:33 28
原创 请注意,你的 Pulsar 集群可能有删除数据的风险
在上一篇 Pulsar3.0新功能介绍中提到,在升级到 3.0 的过程中碰到一个致命的问题,就是升级之后 topic 被删除了。正好最近社区也补充了相关细节,本次也接着这个机会再次复盘一下,毕竟这是一个非常致命的 Bug。现象先来回顾下当时的情况:升级当晚没有出现啥问题,各个流量指标、生产者、消费者数量都是在正常范围内波动。事后才知道,因为只是删除了很少一部分的 topic,所以从监控中反应不出来...
2024-01-09 08:08:43 852
原创 技术阅读周刊第十三期:一些提高生产力工具的终端命令
技术阅读周刊,每周更新。历史更新20231201:第八期20231215:第十期20231122:第十一期20231129:第十二期生存还是毁灭?一文带你看懂 Pulsar 的消息保留和过期策略-腾讯云开发者社区-腾讯云URL: https://cloud.tencent.com/developer/article/2245703本文分析了 Pulsar 消息的生命周期,主要是如何保留和回收消息T...
2024-01-06 08:08:50 830
原创 Pulsar3.0新功能介绍
在上一篇文章 Pulsar3.0 升级指北讲了关于升级 Pulsar 集群的关键步骤与灾难恢复,本次主要分享一些 Pulsar3.0 的新功能与可能带来的一些问题。升级后所遇到的问题先来个欲扬先抑,聊聊升级后所碰到的问题吧。其中有两个问题我们感知比较明显,特别是第一个。topic被删除我们在上个月某天凌晨从 2.11.2 升级到 3.0.1 之后,进行了上一篇文章中所提到的功能性测试,发现没什么问...
2024-01-03 08:08:37 791
原创 技术阅读周刊第十二期
年前最后一篇推送,提前祝大家新年快乐。技术阅读周刊,每周更新。历史更新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 894
原创 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 901
原创 技术阅读周刊第十一期
技术阅读周刊,每周更新。历史更新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 1003
原创 如何给开源项目发起提案
背景前段时间在使用 Pulsar 的 admin API 时,发现其中的一个接口响应非常慢:admin.topics().getPartitionedStats(topic);使用 curl 拿到的响应结果非常大,同时也非常耗时:具体的 issue 在这里:https://github.com/apache/pulsar/issues/21200后面经过分析,是因为某些 topic 的生产者和消费...
2023-12-22 08:08:22 864
原创 技术阅读周刊第十期
技术阅读周刊,每周更新。周四加了个班,周五没缓过来,就推迟到今天更新了历史更新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 370
原创 如何编写一个 Pulsar Broker Interceptor 插件
背景之前写过一篇文章 VictoriaLogs:一款超低占用的 ElasticSearch 替代方案讲到了我们使用 Victorialogs 来存储 Pulsar 消息队列的消息 trace 信息。image.png而其中的关键的埋点信息是通过 Pulsar 的 BrokerInterceptor 实现的,后面就有朋友咨询这块代码是否开源,目前是没有开源的,不过借此机会可以聊聊如何实现一个 Bro...
2023-12-12 08:08:08 771
原创 技术阅读周刊第9️⃣期
技术阅读周刊,每周更新。历史更新20231107:第五期20231117:第六期20231124:第七期20231201:第八期美团技术博客十周年,感谢一路相伴 - 美团技术团队URL: https://tech.meituan.com/2023/12/04/ten-years-of-meituan-technology-blog.html美团技术博客更新十周年了,这个博客确实在广大开发者心中都是...
2023-12-08 17:42:05 868
转载 老炮新作,大一统的监控探针采集器 cprobe 开源了
需求背景监控数据采集领域,比如 Prometheus 生态有非常多的 Exporter,虽然生态繁荣,但是无法达到开箱即用的大一统体验,Exporter 体系的核心问题有:良莠不齐:有的 Exporter 写的非常棒,有的则并不完善,有些监控类别甚至有多个 Exporter,选择困难写法各异:Exporter 所用的日志库、配置文件管理方式、命令行传参方式各异,体验不一倚重边车模式:有些 Expo...
2023-12-06 17:31:06 117
原创 技术阅读周刊第第8️⃣期
技术阅读周刊,每周更新。历史更新20231103:第四期20231107:第五期20231117:第六期20231124:第七期Prometheus vs. VictoriaMetrics (VM) | Last9URL: https://last9.io/blog/prometheus-vs-victoriametrics/?ref=dailydev对比了 Prometheus 和 VM 的区别...
2023-12-01 17:30:28 1174
原创 五分钟 k8s 实战-滚动更新与优雅停机
当我们在生产环境发布应用时,必须要考虑到当前系统还有用户正在使用的情况,所以尽量需要做到不停机发版。所以在发布过程中理论上之前的 v1 版本依然存在,必须得等待 v2 版本启动成功后再删除历史的 v1 版本。如果 v2 版本启动失败 v1 版本不会做任何操作,依然能对外提供服务。滚动更新image.png这是我们预期中的发布流程,要在 kubernetes 使用该功能也非常简单,只需要在 spec...
2023-11-30 08:08:19 1401
原创 五分钟 k8s 实战-应用探针
Probe.png今天进入 kubernetes 的运维部分(并不是运维 kubernetes,而是运维应用),其实日常我们大部分使用 kubernetes 的功能就是以往运维的工作,现在云原生将运维和研发关系变得更紧密了。今天主要讲解 Probe 探针相关的功能,探针最实用的功能就是可以控制应用优雅上线。就绪探针举个例子,当我们的 service 关联了多个 Pod 的时候,其中一个 Pod 正...
2023-11-27 08:08:47 1272
原创 技术阅读周刊第第7️⃣期
技术阅读周刊,每周更新。历史更新20231013:第一期20231022:第二期20231027:第三期20231103:第四期20231107:第五期20231117:第六期What is a JWT? Understanding JSON Web TokensURL: https://supertokens.com/blog/what-is-jwt本文主要讲了一些 JWT 的基本原理,以及优缺...
2023-11-24 17:30:52 779
原创 升级到 Pulsar3.0 后深入了解 JWT 鉴权
背景最近在测试将 Pulsar 2.11.2 升级到 3.0.1的过程中碰到一个鉴权问题,正好借着这个问题充分了解下 Pulsar 的鉴权机制是如何运转的。Pulsar 支持 Namespace/Topic 级别的鉴权,在生产环境中往往会使用 topic 级别的鉴权,从而防止消息泄露或者其他因为权限管控不严格而导致的问题。image.png我们会在创建 topic 的时候为 topic 绑定一个应...
2023-11-20 08:09:02 46
原创 技术阅读周刊第第6️⃣期
技术阅读周刊,每周更新。历史更新20231013:第一期20231022:第二期20231027:第三期20231103:第四期20231007:第五期5 Skills the Best Engineers I Know Have in CommonURL: https://www.developing.dev/p/5-skills-all-10x-engineers-have?utm_sourc...
2023-11-17 17:30:18 46
原创 技术阅读周刊第第5️⃣期
技术阅读周刊,每周更新。历史更新20231013:第一期20231022:第二期20231027:第三期20231027:第四期How to Use OpenTelemetry in Go. OpenTelemetry is a powerful… | by Akanksha Rana | KloudMateURL: https://blog.kloudmate.com/how-to-use-op...
2023-11-10 12:00:30 45
原创 k8s-服务网格实战-配置 Mesh(灰度发布)
istio-02.png在上一篇 k8s-服务网格实战-入门Istio中分享了如何安装部署 Istio,同时可以利用 Istio 实现 gRPC 的负载均衡。今天我们更进一步,深入了解使用 Istio 的功能。从 Istio 的流量模型中可以看出:Istio 支持管理集群的出入口请求(gateway),同时也支持管理集群内的 mesh 流量,也就是集群内服务之间的请求。本次先讲解集群内部的请求,配...
2023-11-07 17:31:12 176
原创 技术阅读周刊第第四期
技术阅读周刊,每周更新。历史更新20231013:第一期20231022:第二期20231027:第三期Technology trends for Spring projects : javaURL: https://www.reddit.com/r/java/comments/17ixfzf/technology_trends_for_spring_projects/这是一个 Reddit 帖...
2023-11-03 08:08:58 35
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人