五分钟k8s实战-Istio 网关

2023-11-15
阅读 3 分钟
841
这里有一张功能对比图,可以明显的看出 Istio-gateway 支持的功能会更多,如果是一个中大型企业并且已经用上 Istio 后还是更推荐是有 Istio-gateway,使用同一个控制面就可以管理内外网流量。
封面图

k8s-服务网格实战-配置 Mesh(灰度发布)

2023-11-07
阅读 9 分钟
383
今天我们更进一步,深入了解使用 Istio 的功能。从 Istio 的流量模型中可以看出:Istio 支持管理集群的出入口请求(gateway),同时也支持管理集群内的 mesh 流量,也就是集群内服务之间的请求。
封面图

k8s-服务网格实战-入门Istio

2023-11-01
阅读 4 分钟
371
背景终于进入大家都比较感兴趣的服务网格系列了,在前面已经讲解了:如何部署应用到 kubernetes服务之间如何调用如何通过域名访问我们的服务如何使用 kubernetes 自带的配置 ConfigMap基本上已经够我们开发一般规模的 web 应用了;但在企业中往往有着复杂的应用调用关系,应用与应用之间的请求也需要进行管理。比如常见...
封面图

如何优雅重启 kubernetes 的 Pod

2023-10-20
阅读 7 分钟
892
最近在升级服务网格 Istio,升级后有个必要的流程就是需要重启数据面的所有的 Pod,也就是业务的 Pod,这样才能将这些 Pod 的 sidecar 更新为新版本。
封面图

在 kubernetes 环境中实现 gRPC 负载均衡

2023-10-17
阅读 7 分钟
654
前段时间写过一篇 gRPC 的入门文章,在最后还留了一个坑没有填:也就是 gRPC 的负载均衡问题,因为当时的业务请求量不算大,再加上公司没有对 Istio 这类服务网格比较熟悉的大牛,所以我们也就一直拖着没有解决,依然只是使用了 kubernetes 的 service 进行负载,好在也没有出什么问题。
封面图

使用 Helm 管理应用的一些 Tips

2023-10-10
阅读 2 分钟
685
Helm 是一个 Kubernetes 的包管理工具,有点类似于 Mac 上的 brew,Python 中的 PIP;可以很方便的帮我们直接在 kubernetes 中安装某个应用。
封面图

五分钟k8s入门到实战-应用配置

2023-09-27
阅读 3 分钟
984
现在我们需要更进一步,使用 k8s 提供的一些其他对象来标准化我的应用开发。首先就是 ConfigMap,从它的名字也可以看出这是用于管理配置的对象。
封面图

Go 语言史诗级更新-循环Bug修复

2023-09-25
阅读 2 分钟
804
看这个标题的就是修复了 Go 循环的 bug,这真的是史诗级的更新;我身边接触到的大部分 Go 开发者都犯过这样的错误,包括我自己,所以前两年我也写过类似的博客:简单的 for 循环也会踩的坑
封面图

Github的一个奇技淫巧

2023-09-19
阅读 3 分钟
1.2k
背景前段时间给 VictoriaLogs 提交了一个 PR:[链接]本来一切都很顺利,只等合并了,但在临门一脚的时候社区维护人员问我可否给 git commit 加上签名。于是我就默默的调试到了凌晨四点😭以前我也没怎么注意过这个选项,经过 Google 后发现 Idea 在提交的时候可以自行设置。当我勾选了这个提交新的代码后,依然被告知没有...
封面图

五分钟k8s实战-使用Ingress

2023-09-15
阅读 5 分钟
1.5k
通过这个描述其实也能看出 Ingress 是偏运维的工作,但也不妨碍我们作为研发去了解这部分的内容;了解整个系统是如何运转的也是研发应该掌握的技能。
封面图

Golang 基础面试题 01

2023-09-13
阅读 2 分钟
530
这几年随着云原生的兴起,大部分后端开发者,特别是 Java 开发者都或多或少的想学习一些 Go 相关的技能,所以今天分享的内容比较初级,适合 Go 语言初学者。
封面图

五分钟k8s入门到实战--跨服务调用

2023-09-08
阅读 4 分钟
990
在做传统业务开发的时候,当我们的服务提供方有多个实例时,往往我们需要将对方的服务列表保存在本地,然后采用一定的算法进行调用;当服务提供方的列表变化时还得及时通知调用方。
封面图

k8s 入门到实战--部署应用到 k8s

2023-09-06
阅读 4 分钟
3.4k
背景最近这这段时间更新了一些 k8s 相关的博客和视频,也收到了一些反馈;大概分为这几类:公司已经经历过服务化改造了,但还未接触过云原生。公司部分应用进行了云原生改造,但大部分工作是由基础架构和运维部门推动的,自己只是作为开发并不了解其中的细节,甚至 k8s 也接触不到。还处于比较传统的以虚拟机部署的传统...
封面图

使用 SQL 的方式查询消息队列数据以及踩坑指南

2023-08-31
阅读 4 分钟
4k
为了让业务团队可以更好的跟踪自己消息的生产和消费状态,需要一个类似于表格视图的消息列表,用户可以直观的看到发送的消息;同时点击详情后也能查到消息的整个轨迹。
封面图

VictoriaLogs:一款超低占用的 ElasticSearch 替代方案

2023-08-25
阅读 3 分钟
830
背景前段时间我们想实现 Pulsar 消息的追踪流程,追踪实现的效果图如下:实现其实比较简单,其中最重要的就是如何存储消息。消息的读取我们是通过 Pulsar 自带的 BrokerInterceptor 实现的,对这个感兴趣的朋友后面会单独做一个分享。根据这里的显示内容我们大概需要存储这些信息:客户端地址消息发布时间分发消费者、订...
封面图

k8s 常见面试题

2023-08-18
阅读 2 分钟
1.4k
前段时间在这个视频中分享了 [链接] 这个知识仓库。[链接]这次继续分享里面的内容,本次主要以 k8s 相关的问题为主。k8s 是什么,为什么企业选择使用它k8s 是一个开源应用,给用户提供了管理、部署、扩展容器的能力,以下几个例子更容易理解:你可以将容器运行在不同的机器或节点中,并且可以将一些变化同步给这些容器,...
封面图

新手如何快速参与开源项目

2023-08-08
阅读 3 分钟
1.2k
近期由于工作的原因,我需要经常和 Apache Pulsar 社区沟通,同时也会将日常碰到的问题反馈给社区,包括一些 bug ,一些我能修的也是顺带就提了一些 PR。
封面图

从 Pulsar Client 的原理到它的监控面板

2023-08-04
阅读 4 分钟
453
背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,比如速率、流量、消费状态等信息。但也有几个问题:无法在应用维度查看他所依赖的所有 topic 的各种状态。监控的信息还不够,比如发送/消费延迟...
封面图

在这个大环境下我是如何找工作的

2023-06-20
阅读 4 分钟
746
蛮久没更新了,本次我想聊聊找工作的事情,相信大家都能感受到从去年开始到现在市场是一天比一天差,特别是在我们互联网 IT 行业。已经过了 18 年之前的高速发展的红利期,能做的互联网应用几乎已经被各大公司做了个遍,现在已经进入稳定的存量市场,所以在这样的大背景下再加上全世界范围内的经济不景气我想每个人都能...

云原生背景下如何配置 JVM 内存

2023-05-15
阅读 2 分钟
3.9k
背景前段时间业务研发反馈说是他的应用内存使用率很高,导致频繁的重启,让我排查下是怎么回事;在这之前我也没怎么在意过这个问题,正好这次排查分析的过程做一个记录。首先我查看了监控面板里的 Pod 监控:发现确实是快满了,而此时去查看应用的 JVM 占用情况却只有30%左右;说明并不是应用内存满了导致 JVM 的 OOM,...

从源码彻底理解 Prometheus/VictoriaMetrics 中的 relabel/metric_configs 配置

2023-03-13
阅读 4 分钟
1.1k
背景最近接手维护了公司的指标监控系统,之后踩到坑就没站起来过。。本次问题的起因是我们配置了一些指标的删除策略没有生效: {代码...} 与这两个容易引起误解的配置relabel_configs/metric_relabel_configs有关。他们都是对抓取的数据进行重命名、过滤、新增、删除等操作,但应用场景却完全不同。我们使用了 VictoriaM...
封面图

通过 Pulsar 源码彻底解决重复消费问题

2023-02-27
阅读 3 分钟
934
背景最近真是和 Pulsar 杠上了,业务团队反馈说是线上有个应用消息重复消费。而且在测试环境是可以稳定复现的,根据经验来看一般能稳定复现的都比较好解决。定位问题接着便是定位问题了,根据之前的经验让业务按照这几种情况先排查一下:通过排查:1,2可以排除了。没有相关日志存在异常,但最外层也捕获了,所以不管有无...
封面图

一个诡异的 Pulsar InterruptedException 异常

2023-02-24
阅读 7 分钟
3.8k
今天收到业务团队反馈线上有个应用往 Pulsar 中发送消息失败了,经过日志查看得知是发送消息时候抛出了 java.lang.InterruptedException 异常。

Istio 升级后踩的坑

2023-02-20
阅读 6 分钟
923
背景前段时间我们将 istio 版本升级到 1.12 后导致现有的应用监控有部分数据丢失(页面上显示不出来)。一个是应用基础信息丢失。再一个是应用 JVM 数据丢失。接口维度的监控数据丢失。修复基础信息首先是第一个基础信息丢失的问题,页面上其实显示的是我们的一个聚合指标istio_requests_total:source:rate1m。聚合后可...

Pulsar负载均衡原理及优化

2023-02-07
阅读 5 分钟
1.1k
前言前段时间我们在升级 Pulsar 版本的时候发现升级后最后一个节点始终没有流量。虽然对业务使用没有任何影响,但负载不均会导致资源的浪费。和同事沟通后得知之前的升级也会出现这样的情况,最终还是人工调用 Pulsar 的 admin API 完成的负载均衡。这个问题我尝试在 Google 和 Pulsar 社区都没有找到类似的,不知道是大...

2022 年度总结

2023-01-18
阅读 3 分钟
903
一转眼 2022 年又过去了,不多不少距离上次写年终总结过去了 365 天;今年的艰难情况想必大家都亲身经历过了;如果要举行卖惨大会的话今年也许我能排的上号。
封面图

对 Pulsar 集群的压测与优化

2023-01-16
阅读 5 分钟
4.5k
前言这段时间在做 MQ(Pulsar)相关的治理工作,其中一个部分内容关于消息队列的升级,比如:一键创建一个测试集群。运行一批测试用例,覆盖我们线上使用到的功能,并输出测试报告。模拟压测,输出测试结果。本质目的就是想直到新版本升级过程中和升级后对现有业务是否存在影响。一键创建集群和执行测试用例比较简单,利...

面试的时候别再说你不会设计模式了

2022-12-27
阅读 4 分钟
4.2k
最近在设计一个对某个中间件的测试方案,这个测试方案需要包含不同的测试逻辑,但相同的是需要对各个环节进行记录;比如统计耗时、调用通知 API 等相同的逻辑。

彻底理解闭包实现原理

2022-10-24
阅读 5 分钟
4.5k
闭包对于一个长期写 Java 的开发者来说估计鲜有耳闻,我在写 Python 和 Go 之前也是没怎么了解,光这名字感觉就有点"神秘莫测",这篇文章的主要目的就是从编译器的角度来分析闭包,彻底搞懂闭包的实现原理。
封面图

手写编程语言-如何为 GScript 编写标准库

2022-10-17
阅读 5 分钟
4k
版本更新最近 GScript 更新了 v0.0.11 版本,重点更新了:Docker 运行环境新增了 byte 原始类型新增了一些字符串标准库 Strings/StringBuilder数组切片语法:int[] b = a[1: len(a)];具体更新内容请看下文。前言前段时间发布了 GScript 的在线 playground,这是一个可以在线运行 GScript 脚本的网站,其本质原理是接收用...
封面图