logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Golang分布式应用之Redis

Redis作是一个高性能的内存数据库,常被应用于分布式系统中,除了作为分布式缓存或简单的内存数据库还有一些特殊的应用场景,本文结合Golang来编写对应的中间件。

#redis#golang
Golang分布式应用之定时任务

本文主要总结了定时任务的两种实现方式,最小堆与时间轮,并分析其核心实现逻辑。

#golang#分布式
Golang分布式应用之ZooKeeper

本文分析了ZooKeeper在分布式锁、服务发现等场景上的实现方式,并对比了与etcd的差异点。

#golang#zookeeper#分布式
k8s中文件描述符与线程限制

背景linux中为了防止进程恶意使用资源,系统使用ulimit来限制进程的资源使用情况(包括文件描述符,线程数,内存大小等)。同样地在容器化场景中,需要限制其系统资源的使用量。限制方法ulimit: docker 默认支持ulimit设置,可以在dockerd中配置 default-ulimits 可为宿主机所有容器配置默认的ulimit,docker启动时可添加 --ulimit 为每个...

#kubernetes#docker
如何做一个优雅的Pod

没有人不想优雅的活着,在这喧闹的生活中过得优雅从容并不容易。但在k8s的世界中,如何做个优雅的Pod还是有套路可循的。Pod的生命周期在优雅之前,我们先谈谈Pod的一生,大体分为以下几个阶段创建,通过kubectl或者api创建pod, apiserver收到请求后存储到etcd调度,scheduler检测到pod创建后,通过预选优选为pod选取合适的人家(node)启动,kubele...

#kubernetes#docker
Kubernetes中的Golang设计模式

随着Kubernetes成为容器编排领域的事实标准,Golang在云原生方面应用的也越来越多。今天我们跟随K8s的脚步,学习下在K8s中使用哪些经典的设计模式。创建型模式创建型模式顾名思义提供了对象的创建机制,封装了内部的复杂性,提高代码复用和灵活性。包括:单例模式工厂模式建造者模式原型模式单例模式单例模式用来保证一个类只有一个实例,并提供调用它的一个全局访问点。单例模式是设计模式中最简单,使用最

#golang#kubernetes#设计模式
Kubernetes调试利器Nsenter

在k8s云环境中,我们需要在容器内抓包进行Debug, 但通常大多容器都没有安装tcpdump以及其他网络工具;在托管k8s中我们想登录node,不是没权限就是步骤太麻烦。本文的主角nsenter正是很擅长解决这些问题,nsenter可以进入指定namespace的工具,一般用来在容器环境中进行调试。调试容器网络通过nsenter可以轻松在宿主机进入容器的网络命令空间,命令如下:# 设置conta

#kubernetes#容器#云原生
开启shareProcessNamespace后容器异常

背景目前k8s不支持容器启动顺序,部分业务通过开启shareProcessNamespace监控某些进程状态。当开启共享pid后,有用户反馈某个容器主进程退出,但是容器并没有重启,执行exec会卡住,现象参考issue复现创建deploymentapiVersion: apps/v1kind: Deploymentmetadata:labels:app: nginxname: nginxspec:

#kubernetes#docker
K8S中为什么需要Unstructured对象

K8S中为什么需要Unstructured对象,通过源码分析原因

#kubernetes#容器#云原生
apline 容器中执行shell脚本报错 executable file not found

问题今天在创建java镜像时,使用了(openjdk:8-jdk-alpine)[https://hub.docker.com/_/openjdk],启动容器后需要运行一java脚本,直接执行./test.sh报错sh:.sh test.sh: not found网上有说由于权限文件不能执行,chmod +x test.sh,仍然报错在k8s pod中部署,describe报错Error...

#docker#bash
    共 22 条
  • 1
  • 2
  • 3
  • 请选择