Sxm&
码龄10年
关注
提问 私信
  • 博客:50,158
    社区:309
    50,467
    总访问量
  • 69
    原创
  • 182,435
    排名
  • 209
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:java、golang、大数据、云原生

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2015-04-27
博客简介:

xianmingsu的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    136
    当月
    0
个人成就
  • 获得283次点赞
  • 内容获得7次评论
  • 获得244次收藏
创作历程
  • 12篇
    2024年
  • 14篇
    2023年
  • 3篇
    2021年
  • 29篇
    2020年
  • 10篇
    2019年
  • 1篇
    2018年
成就勋章
TA的专栏
  • Flume
    2篇
  • 云原生
    18篇
  • jvm
    4篇
  • java
    5篇
  • linux网络
    3篇
  • 多线程/并发
    2篇
  • kafka
  • mybatis
    1篇
  • spring
    15篇
  • mysql
  • redis
    4篇
  • 设计模式
    3篇
  • spring boot/cloud
    3篇
  • netty
    11篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Flume-WAL日志机制源码分析

WAL 的全称是 Write-Ahead Logging,中文称预写式日志,是一种数据安全写入机制,记录变更操作。就是先写日志,然后在写入磁盘,这样保证数据的安全性。WAL在关系型数据库中非常常见,Mysql中的Redo Log就是采用WAL机制。
原创
发布博客 2024.03.21 ·
461 阅读 ·
10 点赞 ·
0 评论 ·
5 收藏

Flume-transaction机制源码分析

FileChannel主要是由WAL预写日志和内存队列FlumeEventQueue组成。
原创
发布博客 2024.03.21 ·
585 阅读 ·
9 点赞 ·
0 评论 ·
6 收藏

kubernetes之operator开发controller-runtime源码分析

Controller会先向Informer注册资源的eventHandler;然后Cache会启动Informer,Informer向APIServer发出请求,建立连接;当Informer检测到有资源变动后,使用Controller注册进来的eventHandler判断是否推入工作队列中;当工作队列中有元素被推入时,Controller会将元素取出,并执行用户侧的Reconciler。
原创
发布博客 2024.02.22 ·
779 阅读 ·
30 点赞 ·
0 评论 ·
22 收藏

kubernetes之operator开发及informer机制源码分析

在Kubernetes中我们经常使用 Deployment、DaemonSet、Service、ConfigMap 等资源,这些资源都是Kubernetes的内置资源,而对这些资源的创建、更新、删除的动作都会被称为事件(Event),Kubernetes 的 Controller Manager 负责事件监听,并触发相应的动作来满足期望(Spec),这种声明式的方式简化了用户的操作,用户在使用时只需关心应用程序的最终状态即可。随着 Kubernetes 的发展, 在一些场景更为复杂的分布式应用系统,原生 K
原创
发布博客 2024.02.22 ·
1251 阅读 ·
12 点赞 ·
0 评论 ·
15 收藏

linux内核视角看零拷贝

因此,
原创
发布博客 2024.02.19 ·
859 阅读 ·
11 点赞 ·
0 评论 ·
14 收藏

Istio金丝雀部署和流量镜像

总的来说,Istio 的金丝雀发布功能更加灵活和强大,可以提供更细粒度的流量控制和管理,但需要依赖 Istio 的服务网格架构。而 Kubernetes 的金丝雀发布功能相对简单直接,适合基本的金丝雀发布需求。1、namespace加上label,pod自动注入sidecar2、VirtualService制定流量转发规则,将10%流量转到新版本或者匹配HTTP Header,将匹配成功的流量转到新版本,否则转到老版本。
原创
发布博客 2024.02.19 ·
1126 阅读 ·
11 点赞 ·
0 评论 ·
12 收藏

linux内核视角看epoll

在传统的阻塞I/O模型中,一个Socket(套接字)通常只能处理一个TCP连接,即一对一的关系。每个TCP连接都需要分配一个独立的Socket来处理。然而,使用多路复用技术,可以在单个线程中同时监视多个Socket的状态,以确定哪些Socket有可读或可写事件。通过在单个线程内等待和处理多个连接的事件,高效地处理大量的并发连接,减少资源消耗。
原创
发布博客 2024.02.03 ·
701 阅读 ·
16 点赞 ·
0 评论 ·
14 收藏

深入理解Istio服务网格(一)数据平面Envoy

在传统的微服务架构中,服务间的调用,业务代码需要考虑认证、熔断、服务发现等非业务能力,在某种程度上,表现出了一定的耦合性服务网格追求高级别的服务流量治理能力,认证、熔断、服务发现这些能力更多的是平台测的能力。将业务测和平台测能力解耦,开发人员只关心业务测的能力。每个服务实例都有一个代理,服务的入站流量、出站流量都先经过代理,代理不进行业务处理,只做流量转发,因此,传统微服务架构,服务到服务间的调用,转成了proxy到proxy的调用。Proxy通常是一种反向代理软件,有强大的流量转发能力。
原创
发布博客 2024.02.03 ·
1325 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

linux内核视角看阻塞式IO

网络包从网卡送到协议栈后,内核还有一项重要的工作,就是要能通知用户进程,让用户进程能够收到并处理这些数据。用户进程和内核的交互一般有两种典型的方案,一种是同步阻塞,另一种是多路IO复用。
原创
发布博客 2024.01.19 ·
540 阅读 ·
10 点赞 ·
0 评论 ·
8 收藏

java-log4j日志冲突解决

java日志框架较多,其中主流的slf4j和commons-logging是日志接口,log4j、log4j2和logback是真正的日志实现库。
原创
发布博客 2024.01.19 ·
1157 阅读 ·
22 点赞 ·
0 评论 ·
25 收藏

kubernetes-监控系统Prometheus

在微服务分布式系统中,监控是极其重要的。监控能够对系统的运行状态了如指掌,有问题及时发现。
原创
发布博客 2024.01.10 ·
1155 阅读 ·
22 点赞 ·
0 评论 ·
23 收藏

java-远程代码debug

在某些场景下,本地环境代码可能不具备调试条件,那么远程代码调试是需要的。
原创
发布博客 2024.01.10 ·
492 阅读 ·
8 点赞 ·
1 评论 ·
6 收藏

kubernetes-L7负载均衡ingress

前面我们说到kube-proxy是基于iptables/ipvs的分布式L4负载均衡技术,但是有很多的需求场景是这种网络层的dnat不能提供的能力。基于L4的服务。
原创
发布博客 2023.12.20 ·
580 阅读 ·
11 点赞 ·
0 评论 ·
8 收藏

kubernetes-日志系统Loki

以前的企业级日志系统ELK(Elasticsearch、Logstash、Kibana)比较重,而Loki是一个轻量级的日志系统,且Loki与Prometheus、Grafana是同一个生态的产品,在云原生领域有着很好的兼容性。
原创
发布博客 2023.12.20 ·
422 阅读 ·
12 点赞 ·
0 评论 ·
9 收藏

kubernetes--kube-proxy实现L4负载均衡

要了解kube-proxy如何实现负载均衡,要先了解Linux网络收包机制,kube-proxy利用Linux的内核实现的负载均衡。在TCP/IP网络分层模型里,整个协议栈被分成了物理层、链路层、网络层,传输层和应用层。物理层对应的是网卡和网线,应用层对应的是我们常见的Nginx,FTP等等各种应用。Linux实现的是链路层、网络层和传输层这三层。。我们用Linux的视角来看到的TCP/IP网络分层模型是下面这个样子的。
原创
发布博客 2023.11.28 ·
1237 阅读 ·
25 点赞 ·
0 评论 ·
19 收藏

GC算法和常见垃圾回收器

GC Algorithms(常见的垃圾回收算法),找到这个垃圾之后怎么进行清除的算法。GC常用的算法有三种如下:1:Copying(拷贝)2:Mark-Sweep(标记清除)3:Mark-Compact(标记压缩)第一个是Copying(拷贝)。非常简单,就是把内存一分为二,分开之后呢,把有用的拷贝到下面绿色区域,拷贝完后上面全部清掉,回收完之后就变成下面的样子了,清楚简单。第二个是叫Mark-Sweep,标记、清除。就是你把它标出来,然后清掉就这么简单。首先找到那些有用。
原创
发布博客 2023.11.28 ·
118 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

kubernetes-容器网络接口CNI

Kubernetes的集群里,IP地址是以Pod为单位进行分配的,每个Pod都拥有一个独立的IP地址。一个Pod内部的所有容器共享一个网络栈,即宿主机上的一个网络命名空间,包括它们的IP地址、网络设备、配置等都是共享的。也就是说,Pod里面的所有容器能通过localhost:port 来连接对方。在Kubernetes中,提供了一个轻量的通用容器网络接口CNI(Container Network Interface),专门用于设置和删除容器的网络连通。
原创
发布博客 2023.11.18 ·
289 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

kubernetes-pod高可用

PreStop完成后,Kubelet会发kill-SIGTERM给容器进程,这时就要看应用是否支持处理SIGTERM信号量了,由/bin/bash起的进程是会忽略SIGTERM的,需要注意。当Node出现问题的时候,kubenetes会给Node打上taints,比如Node ping不通的时候打上unreachable,Node上的组件有问题的时候打上not-ready。当一个pod创建出来的时候,kubenetes会自动为pod增加Toleration。
原创
发布博客 2023.11.18 ·
363 阅读 ·
5 点赞 ·
0 评论 ·
0 收藏

kubernetes-kubelet组件

每个节点都运行一个kubelet进程,默认监听10250端口,kubelet作用非常重要,是节点的守护神。
原创
发布博客 2023.11.12 ·
470 阅读 ·
9 点赞 ·
0 评论 ·
1 收藏

kubernetes-容器运行时接口CRI

容器运行时(Container Runtime),运行于Kubernetes(K8s) 集群的每个节点中,负责容器的整个生命周期。其中Docker是目前应用最广的。随着容器云的发展,越来越多的容器运行时涌现。为了解决这些容器运行时和Kubernetes的集成问题,在Kubernetes 1.5版本中,社区推出了CRI(Container Runtime Interface,容器运行时接口)以支持更多的容器运行时。CRI是 Kubernetes 定义的一组gRPC服务。
原创
发布博客 2023.11.12 ·
281 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏
加载更多