5 琦彦

尚未进行身份认证

Find out who you are,and be that person.

等级
TA的排名 272

RabbitMQ精讲3:Exchange交换机类型-direct、topic、fanout

前言来了解RabbitMQ一个重要的概念:Exchange交换机1. Exchange概念Exchange:接收消息,并根据路由键转发消息所绑定的队列。Exchange蓝色框:客户端发送消息至交换机,通过路由键路由至指定的队列。 黄色框:交换机和队列通过路由键有一个绑定的关系。 绿色框:消费端通过监听队列来接收消息。2. 交换机属性交换机属性...

2020-04-03 16:24:11

Docker层和虚悬镜像(dangling image)介绍

原文发表于kubernetes中文社区,为作者原创 原文地址当你拉取Docker镜像时,你会注意到它被拉取成不同的层。另外,当你创建自己的Docker镜像时,也会创建多个层。在本文中,我们将更好地理解Docker层。1.什么是Docker层?Docker镜像由几层组成。每层都对应 Dockerfile中的特定指定。Docker层创建指令有: RUN, COPY, ADD。其他指令将创建...

2020-04-02 22:14:20

常见面试问题1:ZooKeeper、Redis、Mysql、JVM、Spring、Dubbo

面试问题整理ZooKeeperCAP定理:一个分布式系统不可能同时满足以下三种,一致性(C:Consistency),可用性(A:Available),分区容错性(P:Partition Tolerance).在此ZooKeeper保证的是CP,ZooKeeper不能保证每次服务请求的可用性,在极端环境下,ZooKeeper可能会丢弃一些请求,消费者程序需要重新请求才能获得结果。另外在进行l...

2020-04-02 14:56:18

MySQL:从.ibd文件恢复误删的数据

从.ibd文件恢复误删的数据1.新建一个数据库,创建一张表,表结构与原表结构一致:CREATE TABLE <table_name> ...;2.删除新建的表空间:ALTER TABLE <table_name> DISCARD TABLESPACE;3.将待恢复的<table_name>.ibd文件copy到目标数据库文件夹下,...

2020-04-01 14:55:33

RabbitMQ精讲2:常用命令和配置文件

1.1 基础服务的命令操作rabbitmqctl stop_app:关闭应用 rabbitmqctl start_app:启动应用 rabbtmqctl status:节点状态 rabbitmqctl add_user username password:添加用户 rabbitmqctl list_users:列出所有用户 rabbitmqctl delete_user usern...

2020-03-29 23:17:44

RabbitMQ精讲1:主流MQ对比,为什么选择RabbitMQ

前言消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。今天主要来介绍了下几大主流消息中间件的区别与联系。1. 主流消息中间件介绍——ActiveMQAc...

2020-03-28 18:12:12

Kubernetes 控制器:从 Kubernetes 资源控制到开放应用模型、工作原理解读

我是一堆 Kubernetes 控制器。你可能会疑惑为什么是一堆,因为我不是一个人,我只是众多控制器中的一员,你也可以把我看成是众多控制器的集合。我的职责就是监控集群内资源的实际状态,一旦发现其与期望的状态不相符,就采取行动使其符合期望状态。想当初,Kubernetes 老大哥创造我时,只是打算让我用控制循环简单维护下资源的状态。但我后来的发展,远远超出了他的想象。1. 控制循环所...

2020-03-25 16:59:42

kubernetes:Cronjobs属性failedJobsHistoryLimit不生效,不能自动清理状态为Error的Pod

Cronjobs属性failedJobsHistoryLimit不生效问题现象在 《Kubernetes: Job 和 CronJob 的实现原理》一文中,我们提到cron中有如下属性可以设置任务保留个数(1.8版本后).spec.successfulJobsHistoryLimit和.spec.failedJobsHistoryLimit是可选的。 这两个域声明了有多少执行完成...

2020-03-19 12:03:47

Kubernets:容器日志收集方案

Kubernetes 日志系统建设难点典型的 Kubernetes 架构Kubernetes 上的日志方案相比我们之前基于物理机、虚拟机场景的日志方案有很大不同,例如:日志的形式变得更加复杂,不仅有物理机/虚拟机上的日志,还有容器的标准输出、容器内的文件、容器事件、Kubernetes 事件等等信息需要采集; 环境的动态性变强,在 Kubernetes 中,机器的宕机、下线、上...

2020-03-14 13:46:35

为什么Kubernetes天然适合微服务?

最近在反思,为什么在支撑容器平台和微服务的竞争中,Kubernetes会取得最终的胜出。因为在很多角度来讲三大容器平台从功能角度来说,最后简直是一摸一样,具体的比较可以参考本人前面的两篇文章。《Docker, Kubernetes, DCOS 不谈信仰谈技术》《容器平台选型的十大模式:Docker、DC/OS、K8S谁与当先?》经过一段时间的思索,并采访了从早期就开始实践Kuberne...

2020-03-13 22:54:18

Kubernetes:Event-事件处理机制

Event前言当集群中的 node 或 pod 异常时,大部分用户会使用 kubectl 查看对应的 events,那么 events 是从何而来?其实 K8s 中的各个组件会将运行时产生的各种事件汇报到 apiserver,对于 K8s 中的可描述资源,使用 kubectl describe 都可以看到其相关的 events,那 K8s 中又有哪几个组件都上报 events 呢?只要...

2020-03-13 22:30:55

基于Alpine构建轻量级带有cURL功能的Docker镜像

cURL是我喜欢的开源软件之一。虽然cURL的强大常常被认为是理所当然的,但我真心地认为它值得感谢和尊重。如果我们的工具箱失去了curl,那些需要和网络重度交互的人(我们大多数人都是这样的)将会陷入到困境中。curl速度快、体积小,并且和大多数好工具一样,简洁干净,尽量不影响用户,只做它们需要做的事情。如果有人想使用curl中的一种功能(比如UNIX套接字支持),而恰恰系统提供的包的配置不支持这...

2020-03-11 23:13:52

Go:channel、定时器、select、锁、sync、atomic

ChannelgoroutineChannel单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题。Go语言的并发模型是CSP(Communicating S...

2020-03-08 18:43:28

Go:goroutine使用、调度、runtime包

并发编程前言进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。 B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 C.一个进程可以创建和撤销多个线程;同一个进程中的多个线程之间可以并发执行。并发和并行 A. 多线程程序在一个核的cpu上运行,就是并发。...

2020-03-07 18:47:57

Kubernetes:为容器设置启动时要执行的命令及其入参

目录DockerFileCMD ENTRYPOINTCMD 与 ENTRYPOINT 优先级CMD 与 ENTRYPOINT 使用建议:创建 Pod 时设置命令及入参通过 shell 来执行命令Docker 与 Kubernetes的对应关系DockerFileCMD CMD指令在Dockerfile中仅允许一条,若出现多条,那么都会被...

2020-03-06 22:56:24

Kubernetes: Job 和 CronJob 的实现原理

Kubernetes 中使用 Job 和 CronJob 两个资源分别提供了一次性任务和定时任务的特性,这两种对象也使用控制器模型来实现资源的管理。Job 和 CronJob 的介绍Kubernetes有两个概念跟job有关:Job: 负责批量处理短暂的一次性任务,仅执行一次,并保证处理的一个或者多个Pod成功结束。 CronJob: 负责定时任务,在指定的时间周期运行指定的任务。...

2020-03-03 22:02:46

Kubernetes :Taints(污点)和Tolerations(容忍)

Taint(污点)和 Toleration(容忍)可以作用于 node 和 pod 上,其目的是优化 pod 在集群间的调度,它们相互配合,可以用来避免 pod 被分配到不合适的节点上。 不同于Kubernetes 亲和性调度---是描述 pod 的属性,来声明此 pod 希望调度到哪类 nodes Taint(污点)刚好相反,它是node 的一个属性,允许 node 主动排斥 pod ...

2020-03-01 18:55:18

Kubernetes:3步排查K8S Deployment故障

Kubernetes中部署一个应用程序Deployment故障排查思路Deployment故障排查思路1. pod是pending状态cluster full ? ResourceQuota? PVC pending? pod 是否调度到Node?Scheduler? Kubelet?2. pod不是running状态kubectl logs 分析?还可以判断...

2020-02-29 19:40:59

正则表达式30分钟入门教程

本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 网上的资源及本文参考文献 更新纪录相关链接:常用正则表达式 JavaScript 在线正则测试器 .Ne...

2020-02-25 09:18:07

Go基础:延迟调用defer、异常处理

Golang延迟调用:defer特性: 1. 关键字 defer 用于注册延迟调用。 2. 这些调用直到 return 前才被执。因此,可以用来做资源清理。 3. 多个defer语句,按先进后出的方式执行。 4. defer语句中的变量,在defer声明时就决定了。defer用途: 1. 关闭文件句柄 2. 锁资源释放 ...

2020-02-24 00:10:00

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户