InfraPub 为您找到相关结果 725

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

前言 Kubernetes 中大量用到了证书, 比如 ca证书、以及 kubelet、apiserver、proxy、etcd等组件,还有 kubeconfig 文件。 如果证书过期,轻则无法登录 Kubernetes 集群,重则整个集群异常。 为了解决证书过期的问题,一般有以下几种方式: 大幅延长证书有效期,短则 10年,长则 100 年; 证书快过期是自动轮换,如 Rancher 的 K3s,RKE2 就采用这种方式; 增加证书过期的监控,便于提早发现证书过期问题并人工介入 本次主要介绍关于 Kubernetes 集群证书过期的监控,这里提供 3 种监控方案: 使用 Blackbox Exporter 通过 Probe 监控 Kubernetes apiserver 证书过期间; 使...阅读全文

博文 2022-12-10 06:49:43 中文开源技术交流社区

DevOps 越来越流行,2019 年这八大趋势值得关注

写代码并通过自动化脚本来测试各种案例的测试人员的需求将大幅增长。如果你是测试人员并且在是否学习编码方面处于两难境地,我们建议你还是学习编码吧。了解不同的 DevOps 工具和自动化脚本在当今的软件开发中起着至关重要的作用,并且将在 2019 年占据主导地位。 如果测试人员不学习编写代码和自动化测试脚本,就有可能被淘汰。手动测试将在 2019 年过,因为它们需要费大量的间。测试自动化不仅可以提高效率,还可以确保更快地将功能交付给市场。 微服务架构采用率增加 DevOps 和微服务将齐头并进。微服务是独立的实体,因此在出现问题不会给其他系统造成破坏。微服务架构可以帮助公司轻松部署和添加新功能。预计更多的企业将会转向微服务架构,以改进他们的在线运行间和有效交付。不要只是因为别人采用了微服...阅读全文

博文 2018-12-10 22:49:57 debian.cn

理解 Linux 的虚拟内存

理内存的 C 地址。 我们知道系统里的基本单位都是 Byte 字节,如果将每一个虚拟内存的 Byte 都对应到物理内存的地址,每个条目最少需要 8字节(32位虚拟地址->32位物理地址),在 4G 内存的情况下,就需要 32GB 的空间来存放对照表,那么这张表就大得真正的物理地址也放不下了,于是操作系统引入了 页(Page)的概念。 在系统启动,操作系统将整个物理内存以 4K 为单位,划分为各个页。之后进行内存分配,都以页为单位,那么虚拟内存页对应物理内存页的映射表就大大减小了,4G 内存,只需要 8M 的映射表即可,一些进程没有使用到的虚拟内存,也并不需要保存映射关系,而且Linux 还为大内存设计了多级页表,可以进一页减少了内存消。操作系统虚拟内存到物理内存的映射表,就被称为页表...阅读全文

博文 2018-11-25 11:03:49 debian.cn

深入学习golang — channel

. process(r) // May take a long time. <-sem // Done; enable next request to run. } func Serve(queue chan *Request) { for { req := <-queue go handle(req) // Don't wait for handle to finish. } } 我们通过引入sem channel,限制了同最多只有MaxOutstanding个goroutine运行。但是,上面的做法,只是限制了运行的goroutine的数量,并没有限制goroutine的生成数量。如果请求到来的速度过快,会导致产生大量的goroutine,这会导致系统资源消完全。 为此,我们有必要限制...阅读全文

博文 2021-01-25 12:39:17 博客园

在 Kubernetes 上扩展 TensorFlow 模型

点通信。在 Kubernetes 中, MPI Operator 可用于实现 Allreduce 式的 TensorFlow 模型同步训练。 ## TensorFlow 模型在 Kubernetes 上的可扩展服务 由于处理客户端对推理服务的请求是一项非常力的任务,因此可扩展服务对于机器学习工作负载的生产部署至关重要。在这种情况下,部署的模型应该能够扩展到多个副本,并为多个并发的请求提供服务。 Kubeflow 支持 TensorFlow 模型的几种服务选项。这里要注意以下几点: - **TFServing** 是 TFX Serving 模块的 Kubeflow 实现。通过 TFServing,你可以创建机器学习模型 REST API,并提供许多有用的功能,包括服务交付、自动生命周期...阅读全文

Apache Flink 1.14 新特性预览 - OSCHINA

Checkpoint。StateTable 是以一个周期性的方式,独立的去对外做持续化的一个过程。 这两个过程进行拆分后,就有了从之前的需要做全量持久化 (Per Checkpoint) 变成 增量持久化 (Per Checkpoint) + 后台周期性全量持久化,从而达到同样容错的效果。在这个过程中,每一次 Checkpoint 需要做持久化的数据量减少了,从而使得做 Checkpoint 的间隔能够大幅度减少。 其实在 RocksDB 也是能支持 Incremental Checkpoint 。但是有两个问题: 第一个问题是 RocksDB 的 Incremental Checkpoint 是依赖它自己本身的一些实现,当中会存在一些数据压缩,压缩所消间以及压缩效果具有不确定性,这个是和数据是相关的...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

Golang Context 探究

server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此客户端断开了连接,后续的消资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文

博文 2021-02-25 09:27:27 lxkaka

为何说微软不会基于Linux内核重构Windows

Window)已经转移。 对此,Barnes 认为微软不会基于 Linux 内核来重构 Windows 理由如下 1.内核 Windows 系统中的 NT 内核提供了一定程度的向后兼容、长期支持和驱动程序可用性,而 Linux 还在不断完善中。如果想要基于 Linux 重构,这必然需要费数百万美元。微软有很多付费客户可以继续按原样支持 Windows,某些已经有数十年了。 基于 Linux 重构 Windows,并不像 Raymond 所说的那样能够帮助微软节省开支。很多盈利公司的存在都是为现有的操作系统而服务的。即便是最终基于 Linux,也可能会导致不良的内核单一化。 Windows 和 macOS 的竞争,才能让 Linux 变成更好的操作系统。而更理想的结果是开源创新能够在所有操作系统之间传...阅读全文

博文 2020-10-15 14:59:58 debian.cn

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

。 Netpoll Netpoll 是字节跳动内部的 Golang 高性能、I/O 非阻塞的网络库,专注于 RPC 场景。 RPC 通常有较重的处理逻辑(业务逻辑、编解码),长,不能像 Redis 一样采用串行处理(必须异步)。而 Go 的标准库 net 设计了 BIO(Blocking I/O) 模式的 API,为了保证异步处理,RPC 框架设计上需要为每个连接都分配一个 goroutine,这在空闲连接较多,产生大量的空闲 goroutine,增加调度开销。此外,net.Conn 没有提供检查连接活性的 API,很难设计出高效的连接池,池中的失效连接无法及清理,复用低效。开源社区目前缺少专注于 RPC 方案的 Go 网络库。类似的项目如:evio、gnet 等,均面向 Redis、Haproxy...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

说透IO多路复用模型_京东云开发者的博客

处,那么自linux 2.6之后新增的epoll模型,则彻底解决了性能问题,一举使得单机承受百万并发的课题变得极为容易。现在可以这么说,只需要一些简单的设置更改,然后配合上epoll的性能,实现单机百万并发轻而易举。同,由于epoll整体的优化,使得之前的几个比较费性能的问题不再成为羁绊,所以也成为了linux平台上进行网络通讯的首选模型。 讲解之前,还是linux man文档镇楼:linux man epoll 4类文档 linux man epoll 7类文档,俩文档结合着读,会对epoll有个大概的了解。和之前提到的select和poll不同的是,此二者皆属于系统调用函数,但是epoll则不然,他是存在于内核中的数据结构,可以通过epoll_create,epoll_ctl及...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

粘合万种芯片的“万能胶” 是摩尔定律的续命丹吗? - 硬件

。”平板电脑应用处理嚣,自动驾驶域处理器,数据中心应用处理器将是Chiplet率先落地的三个领域。也是解决chiplet‘鸡’和‘蛋’的问题的原动力。”也就是说,虽然Chiplet有能力延续摩尔定律,但对于绝大多数不太先进的芯片公司而言,是没有必要早早就为芯片万能胶买单。因此也就能够理解,为何UCIe产业联盟是由几家芯片巨头携手共建的了。但不可否认的是,性能、功和面积的升级依然是芯片界向前发展的目标,随着越来越多的终端产品开始用得起更加先进的工艺制程,芯片万能胶主流代就不会再遥远。会有那么一天,但芯片万能胶的复用能力达到一定水平,就有能力完全战胜晶体管集成了。如果您对文章内容有疑问,欢迎添加作者微信Yolanda_Zuu进一步讨论交流。作者 | 吴优编辑 | 包永刚访问:京东商城...阅读全文

博文 2022-04-08 07:35:46 cnBeta.COM

RabbitMQ 高可用实现镜像队列

如果 RabbitMQ 集群只有一个 broker 节点,那么该节点的失效将导致整个服务临性的不可用,并且可能会导致 message 的丢失(尤其是在非持久化 message 存储于非持久化 queue 中的候)。可以将所有 message 都设置为持久化,并且使用持久化的 queue,但是这样仍然无法避免由于缓存导致的问题:因为 message 在发送之后和被写入磁盘并执行 fsync 之间存在一个虽然短暂但是会产生问题的间窗。通过 publisher 的 confirm 机制能够确保客户端知道哪些 message 已经存入磁盘,尽管如此,一般不希望遇到因单点故障导致服务不可用。 如果 RabbitMQ 集群是由多个 broker 节点构成的,那么从服务的整体可用性上来讲,该集群对...阅读全文

博文 2018-12-30 19:21:59 debian.cn

WebAssembly:无需容器的 Docker (下)

,作为稳定 beta 版在 Docker Desktop4.15 版可用) - 能够运行 Wasm 容器我们还充分运用 webassembly-language-runtimes repo,它提供了将 PHP 解释器构建为 WebAssembly 应用程序的方法。 可以像这样查看 demo 分支:git clone --depth=1 -b php-wasmedge-demo \ https://github.com/vmware-labs/webassembly-language-runtimes.git wlr-demo cd wlr-demo 构建一个 Wasm 容器第一个示例,我们将展示如何构建基于 C 的应用程序,例如 PHP 解释器。该构建使用 WASI-SDK 工具集。 它...阅读全文

博文 2023-01-03 06:39:46 spider

HAProxy用法详解 最详细中文文档

分配器在固定大小的内存池中可实现即内存分配,这能够显著减少创建一个会话的长; 6,树型存储:侧重于使用作者多年前开发的弹性二叉树,实现了以O(log(N))的低开销来保持计器命令、保持运行队列命令及管理轮询及最少连接队列; 7,优化的HTTP首部分析:优化的首部分析功能避免了在HTTP首部分析过程中重读任何内存区域; 8,精心地降低了昂贵的系统调用,大部分工作都在用户空间完成,如间读取、缓冲聚合及文件描述符的启用和禁用等; 所有的这些细微之处的优化实现了在中等规模负载之上依然有着相当低的CPU负载,甚至于在非常高的负载场景中,5%的用户空间占用率和95%的系统空间占用率也是非常普遍的现象,这意味着HAProxy进程消比系统空间消低20倍以上。因此,对OS进行性能调优是非常重要的...阅读全文

博文 2014-05-10 17:14:46 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

构,这是非常内存和CPU。 fsimage内容包含了namenode管理下的所有datanode中文件及文件block及block所在的datanode的元数据信息。随着edits内容增大,就需要在一定间点和fsimage合并。 9.3 FSimage文件当中的文件信息查看 使用命令 hdfs oiv cd /opt/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas/current hdfs oiv -i fsimage_0000000000000000112 -p XML -o hello.xml 9.4 edits当中的文件信息查看 查看命令 hdfs oev cd /opt/hadoop-2.6.0-cdh5.14.0...阅读全文

Debian 9 使用kubeadm创建 k8s 集群(上)

本教程使用的是 Kubernetes 1.14版,这是本文发布的官方支持版本。 有关最新版本的最新信息,请参阅官方Kubernetes文档中的当前发行说明 。 Kubeadm自动安装和配置Kubernetes组件,例如API服务器,Controller Manager和Kube DNS。 但是,它不会创建用户或处理操作系统级依赖关系及其配置的安装。 对于这些初步任务,可以使用Ansible或SaltStack等配置管理工具。使用这些工具可以更加简单地创建其他集群或重新创建现有集群,并且不易出错。 在本指南中,您将使用Ansible和Kubeadm从头开始设置Kubernetes集群,然后将容器化的Nginx应用程序部署到它。 目标 您的群集将包含以下物理资源: 一个主节点 主节点...阅读全文

博文 2019-05-13 22:47:39 debian.cn

Web前端知识体系精简

程会形成一个全局执行环境,执行环境采用栈的方式将待执行任务按顺序依次来执行。 但在浏览器中有一些任务是非常的,比如http请求、定器、事件回调等,为了保证其他任务的执行效率不被影响,JS在执行环境中维护了一个异步队列(也叫工作线程),并将这些任务放入队列中进行等待,这些任务的执行机并不确定,只有当主线程的任务执行完成以后,才会去检查异步队列中的任务是否需要开始执行。这就是为什么setTimeout(fn,0) 始终要等到最后执行的原因。关于单线程和异步队列问题请参考:setTimeout(0) 7、异步通讯 Ajax技术 Ajax是浏览器专门用来和服务器进行交互的异步通讯技术,其核心对象是XMLHttpRequest,通过该对象可以创建一个Ajax请求。为了防止XSS攻击,浏览器对...阅读全文

博文 2021-01-28 17:50:33 debian.cn

Kafka 3.0新特性全面曝光,真香!

,非常的且影响集群的可用性。元数据更新网络开销大整个元数据的更新操作也是以全量推的方式进行,网络的开销也会非常大。强耦合违背软件设计原则Zookeeper对于运维来说,维护Zookeeper也需要一定的开销,并且kafka强耦合与zk也并不好,还得刻担心zk的宕机问题,违背软件设计的高内聚,低耦合的原则。网络分区复杂度高Zookeeper本身并不能兼顾到broker与broker之间通信的状态,这就会导致网络分区的复杂度成几何倍数增长。zk本身不适合做消息队列zookeeper不适合做消息队列,因为zookeeper有1M的消息大小限制 zookeeper的children太多会极大的影响性能znode太大也会影响性能 znode太大会导致重启zkserver10-15分钟...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

被调度到该节点上(资源容量=备选节点资源总量-节点中已存在 Pod 的所有容器的需求资源(CPU 和内存)的总和) 一旦筛选出符合要求的候选节点,就会采用优选策略计算出每个候选节点的积分,然后对这些候选节点进行排序,积分最高者胜出。例如,为了在整个系统中分摊工作负载,这些优选策略会从备选节点列表中选出资源消最小的节点。每个节点通过优选策略都会算出一个得分,计算各项得分,最终选出分值大的节点作为优选的结果。 一旦找到了合适的节点,Scheduler 就会创建一个 Binding 对象,该对象的 Name 和 Uid 与 Pod 相匹配,并且其 ObjectReference 字段包含所选节点的名称,然后通过 POST 请求发送给 apiserver。 当 kube-apiserver 接收...阅读全文

博文 2022-04-18 16:18:04 CSDN

HTTP状态码详解

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。 各状态码具体含义 1xx 消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 100 客户端应当继续发送请求。这个临响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送...阅读全文

博文 2021-01-28 17:50:11 debian.cn

谷歌公开了内部管理Infra层的两个工具的Paper

果这个asset不健康,它仅仅会导致某个集群的运行中断,还是会影响全球的服务?插件还给用户特定的数据提供了空间,而不用占用负载的定义。 asset一般少于1kb数据,通常少于10kb,我们的最大值限制的是150kb。这个限制是为了让asset更容易被使用。这样,工具可以在内存里加载asset,无需担心这么做会造成过多的消。这个方案是受实体-组件系统[4]的启发。 asset的内容提供了足够的信息来构建建模资源的完整状态。具体来说,应该可以重新创建生产状态,而不必查看当前的生产状态——这是一个单向过程。 但是,所有的配置必须在asset里。比如,我们肯定有些情况需要MB级别的配置。这,可以保存对外部数据源(比如包,数据库和版本控制)的引用。这些引用必须指向不可变外部数据。 在...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

下一代时间同步服务 Chrony 详解

Chrony 是一个多功能的 NTP (Network Time Protocol) 实现,类 Unix 系统上 NTP 客户端和服务器的替代品。它可以通过 NTP 服务或者类似 GPS 钟接收器的硬件级参考钟来同步系统钟,具有更好的钟准确度,并且对于那些间歇性互联网连接的系统很有帮助。Chrony 是免费开源的,并且支持 GNU/Linux 和 BSD 衍生版、Solaris 等。 Chrony 有两个核心程序:一个是 chronyd 守护进程,主要用于调整内核中运行的系统间和间服务器同步。它确定计算机增减间的比率,并对此进行调整补偿。另一个是 chronyc,它提供一个用户界面,用于监控性能并进行多样化的配置。chronyc 可以在 chronyd 实例控制的计算机上工作...阅读全文

博文 2021-01-04 08:41:14 debian.cn

谷歌开源更快更高效的 TensorFlow 运行时 TFRT

TensorFlow 官方博客宣布开源新的运行 TFRT,该运行提供了统一的、可扩展的基础结构层,并在各类硬件上均具有高性能。 TFRT 产品经理 Eric Johnson 表示,TFRT 将取代现有的 TensorFlow 运行。原有的 TensorFlow 运行最初是为图形执行和训练模型的工作负载而构建的。与之相比,新的运行将急切的执行需求放在第一位,同特别强调架构的可扩展性和模块化。 它能够很好地满足开发复杂模型寻求更快迭代间的开发者需求、在训练和服务生产模型改进性能的需求,以及希望以模块化方式将边缘和数据中心设备集成到 TensorFlow 中的硬件制造商需求。 简单来讲,TFRT 可以减少开发、验证和部署企业级模型所需的间。 TFRT 利用了 eager 和图...阅读全文

博文 2020-05-01 09:30:31 debian.cn

Grafana 6.3.3发布 系统指标监控与分析平台

Grafana 6.3.3 发布了,Grafana 是一个功能丰富的指标标准仪表板和图形编辑器,用于分析和监控 Graphite、Elasticsearch、OpenTSDB、Prometheus 和 InfluxDB。 新版本更新主要是 Bug修复,具体如下: Annotations:修复取消间序列查询,失败的注释查询 #18532Auth:如果 cookie_samesite 为 none,请不要设置 SameSite cookie 属性 #18462DataLinks:正确地将范围变量应用于数据链接 #18454DataLinks:在图形上下文菜单中显示数据点的间戳,遵守区 #18461DataLinks:插值变量,正确使用数据点间戳 #18459Explore:修复空...阅读全文

博文 2019-08-17 21:20:29 debian.cn

如何查看系统启动的准确时间?

比较糙的方法,是直接用 uptime, 或者 who -b 这样的命令 样例, ``` [centos@new-py ~]$ uptime 01:17:00 up 12 days, 17:48, 1 user, load average: 1.08, 1.13, 1.14 [centos@new-py ~]$ who -b system boot 2022-12-22 07:28 ``` 细致一点的方法是,通过 /proc/uptime 计算系统启动的准确间。 ``` cat /proc/uptime 5113396.94 575949.85 ``` 第一数字即是系统已运行的间5113396.94 秒,运用系统工具 date 即可...阅读全文

主题 2023-01-04 09:20:12 spider

使用 cURL 对Web请求进行性能测试

在做 Web 开发的候,经常需要对 Web Page 或者 REST-ful API 做简单的 Benchmark。本文将介绍如何使用 cURL 进行简单快速的性能评测。本文内容分为以下两部分: 使用 curl 查看加载间 使用 curl -w 查看更多的网络情况 使用 curl 查看加载间 curl -s -w "%{time_total}\n" -o /dev/null http://www.github.com/ 1.492 可以看到请求间为 1.492 秒。此: -s, --silent: 让 curl 保持静默模式,不会输出进度条 -w "%{time_total\n}":输出使用间 -o /dev/null: 这个参数用来隐藏 response 的内容 如果使用...阅读全文

博文 2018-11-28 18:40:47 debian.cn

深入理解Golang之context

context是Go并发编程中常用到一种编程模式。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。 作者:Turling_hu 来源: 掘金 原文链接: https://juejin.im/post/5e52688c51882549417fc671前言这篇文章将介绍Golang并发编程中常用到一种编程模式:context。本文将从为什么需要context出发,深入了解context的实现原理,以及了解如何使用context。为什么需要context在并发程序中,由于超、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后续操作。熟悉channel的朋友应该都见过使用done channel来处理此类问题。比如以下这个例子:func...阅读全文

博文 2021-01-27 09:05:27 知乎

Prometheus 常用 PromQL 语句样例

PromQL 是 Prometheus 提供的一个函数式的表达式语言,可以使用户实地查找和聚合间序列数据。表达式计算结果可以在图表中展示,也可以在 Prometheus表达式浏览器中以表格形式展示,或者作为数据源,以 HTTP API 的方式提供给外部系统使用。PromQL 虽然以 QL 结尾,但是它不是类似 SQL 的语言,因为在间序列上执行计算类型,SQL 语言相对缺乏表达能力。而 PromQL 语言表达能力非常丰富,可以使用标签进行任意聚合,还可以使用标签将不同的标签连接到一起进行算术运算操作。内置了间和数学等很多函数可以使用 选择序列选择指定指标名称的序列最新样本: my_metric_name选择指定指标名称序列5分钟的样本范围: my_metric_name[5m]筛...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

Kafka生产问题总结以及性能优化

都要用G1垃圾收集器,因为年轻代内存比较大,用G1可以设置GC最大停顿间,不至于一次minor gc就花费太长间,当然,因为像kafka,rocketmq,es这些中间件,写数据到磁盘会用到操作系统的page cache,所以JVM内存不宜分配过大,需要给操作系统的缓存留出几个G。 2.1 线上问题及优化 2.1.1 消息丢失情况 消息发送端: (1)acks=0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息。性能最高,但是最容易丢消息。大数据统计报表场景,对性能要求很高,对数据丢失不敏感的情况可以用这种。 (2)acks=1: 至少要等待leader已经成功将数据写入本地log,但是不需要等待所有follower是否成功写入。就可以继续发...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

Git 免用户名密码访问代码库

在使用 git ,如果不是使用ssh 和 key 验证的方式,则每次提交都会让输入用户名和密码,会显得比较麻烦,在服务器上配置也无法做到自动同步更新代码。那么如何解决这个问题呢?我们这里介绍除 ssh + key 以外的免密码登录方式。在全局中存储用户的账号密码 以 Windows 环境为例,在 %HOME% 目录中,一般为C:\Users\username(也可以是你自己创建的系统用户名目录)目录下,创建.git-credentials 文件。 文件内容为一行,样例如下: https://username:password@git.example.com 注:username对应的 git 服务器的用户名,password 为密码。然后再进入 git bash 中执行, git...阅读全文

博文 2018-11-28 12:55:36 debian.cn

GitLab的Python依赖扫描Docker镜像将换用Debian

GitLab 12.9 将弃用用于 Python 依赖扫描的 Alpine Linux 镜像,改用 Debian 作为基础镜像。 GitLab 官方表示,在评估了改变基础镜像 Alpine 以更好地支持 Python 的 issue #13694 之后,决定切换到 Debian,这样可以使扫描工具支持更多的 Python 项目。 具体来说,从今年 3 月 22 日发布的 GitLab 12.9 开始,开发者将不再可获得用于 Python 依赖扫描的基于 Alpine 的镜像,届即使运行的是旧版本,也会受到影响。 由于弃用 Alpine,如果使用 Alpine 特定的命令,如 apk add xyz,则可能需要在以下情况进行修改: 在扫描之前(仅当禁用 docker-in-docker ...阅读全文

博文 2020-02-15 11:54:28 debian.cn

DNS SRV:使用DNS服务器做服务发现

DNS SRV 是 DNS 记录中一种,用来查询指定服务的地址。与常见的A记录、CNAME 不同的是,SRV中除了记录服务器的地址,还记录了服务的端口,并且可以设置每个服务地址的优先级和权重。RFC-2782 给出DNS SRV的建议标准,它是在2000年的候提出来的。 访问服务的候,本地的服务从 DNS 服务器查询到一个地址列表,根据优先级和权重,从中选取一个地址作为本次请求的目标地址。 一个支持SRV的 LDAP client 通过查询域名,可以得知 LDAP 服务的 IP 地址和服务端口: _ldap._tcp.example.com 这个域名的格式是 rfc-2782 中推荐的格式,_ldap表示LDAP服务,_tcp表示通过TCP协议访问LDAP服务。 SRV 的 DNS 类...阅读全文

博文 2019-03-05 09:35:34 debian.cn

分布式任务调度平台 XXL

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 v2.0.0 Release Notes 1、调度中心迁移到 springboot ; 2、底层通讯组件迁移至 xxl-rpc ; 3、容器化:提供官方 docker 镜像,并实更新推送 dockerhub(docker pull xuxueli/xxl-job-admin),进一步实现产品开箱即用; 4、新增无框架执行器 Sample 示例项目 “xxl-job-executor-sample-frameless”。不依赖第三方框架,只需 main 方法即可启动运行执行器; 5、命令行任务:原生提供通用命令行任务 Handler(Bean...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

Go 1.9 的新特性介绍

Go 1.9 beta版已发布, 正式版预期在8月初发布,让我们先来看看你Go 1.9带来了那些新特性。 type alias 类型别名原本在1.8中加入的,但是临发现有些问题,为了能全面的设计 type alias 被移到了 Go 1.9中了。 这个特性主要用在类型从一个package移动到另外一个package中的候,导致的项目中对引入的路径不一致导致的问题, 比如原先 context是在golang.org/x/net/context包下,在Go 1.7中菜正式移到标准库context。 相关的issue: go#16339 go#18130 提案: type alias 并发map 在Go 1.6之前, 内置的map类型是部分goroutine安全的,并发的读没有问题,并发的写...阅读全文

博文 2021-01-28 17:50:34 debian.cn

Element 1.4.2 发布,饿了么 Vue 2.0 组件库

Element 1.4.2 已发布,Element 是饿了么开源的一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助你的网站快速成型。 本次更新内容如下: 修复绑定值为对象类型,初始值为 null 的 Select 会选中 value 为 0 的问题,#6143 修复 status 为 error 的 Step 样式问题,#6155 @wacky6 修复当 Cascader 的 expand-trigger 为 hover ,点击选择条目后快速移动会再次选到父级元素的问题,#6199 修复 Menu 在 collaspse 不能收起子级菜单的问题,#6200 修复 Switch 内部的原生 input 状态与组件不同步的问题,#6205...阅读全文

博文 2017-08-10 12:27:49 debian.cn

kubelet 中垃圾回收机制的设计与实现

kubernetes 中的垃圾回收机制主要有两部分组成:一是由 kube-controller-manager 中的 gc controller 自动回收 kubernetes 中被删除的对象以及其依赖的对象;二是在每个节点上需要回收已退出的容器以及当 node 上磁盘资源不足回收已不再使用的容器镜像;本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以参考以前的文章 garbage collector controller 源码分析。kubelet 中与容器垃圾回收有关的主要有以下三个参数:--maximum-dead-containers-per-container: 表示一个 pod 最多可以保存多少个...阅读全文

博文 2021-02-05 17:48:22 知乎

分布式 NewSQL 数据库 TiDB

TiDB 3.1.0 GA 版本现已发布,该版本的更新集中在 Bug 修复。具体的更新有如下内容: 兼容性变化 TiDB支持 TiDB 在启动服务,在开启 report-status 配置项情况下,如果发现 HTTP 监听端口不可用,则直接退出启动 #16291ToolsBackup & Restore (BR)BR 不支持在 3.1 GA 版本之前的 TiKV 集群上进行恢复 #233 新功能 TiDB支持在 explain format = "dot" 中展示 coprocessor 任务的信息 #16125通过 disable-error-stack 配置项减少日志的冗余 stack 信息 #16182Placement Driver (PD)优化热点 Region 调度...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

Redis 创始人兼核心开发者 antirez 在博客 介绍 了将在 Redis 6 提供的新功能 —— Client side caching(客户端缓存)。 antirez 表示 全新的 Redis 协议 RESP3 将是 Redis 6 中最重要的特性,并解释了他为何如此急切地改进 Redis 协议,原因主要有两个,一是因为希望能为客户端提供更多的语义化回复(semantical replies),以开发使用旧协议难以实现的功能;另一个原因也是 antirez 认为最重要的一个,实现 Client side caching(客户端缓存)功能 。 这个功能十分常见,但 Redis 尚未提供。 当使用者需要进行快速存储或快速取操作,就需要在客户端内存中存储一小部分信息,这是为了降低程序...阅读全文

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

服务化项目服务不可用几十分钟,造成订单数减少几十万笔,损失百万资金。 原因分析 当是没有定位到具体的原因的,但是下面的原因也是一部分可能引起宕机的情况。 某服务化项目的业务增速非常快,在高峰期,数据库QPS突破35000,系统处于高负荷状态。 在高峰期如果同执行几个全表扫描的SQL,会造成数据库压力急剧上升,应用超增多,前端应用超,用户重试,流量飙升,形成了雪崩效应。 主要原因在与一些老项目的SQL查询性能较差,并且使用的主库,对数据库影响较大。数据库QPS太高,但是缓存方案因为人手原因一直没有落地,慢SQL的问题处理优先级应该提升。 改进方案 针对每个应用建一个数据库账号,严格按照规范使用 缓存优化方案即落地,慢SQL问题优先处理,集中处理目前已经发现的慢SQL(查询间超过1S...阅读全文

博文 2018-10-27 10:18:18 debian.cn

批量ssh时,如何自动 kill 超时的ssh链接?

除了 ConnectTimeout 参数外,我们还可以在外部包装一层, 当 ssh 执行超,自动 kill 掉超的 ssh 链接,样例如下: $ cat /tmp/ip`; do echo -n ++++++++++++++ $i\ ; timeout -s 9 3s ssh -o ConnectTimeout=2s -o ConnectionAttempts=1 $i md5sum /etc/resolv.conf ; done 这里 timeout 的含义是,如果3s没有返回,就发送signal 9,结束进程。...阅读全文

Debian 系统如何快速在命令行修改语言?

可以直接用 update-locale 命令修改,即生效, ``` home@debian12:~$ sudo update-locale LANG=en_US.UTF-8 *** update-locale: Error: invalid locale settings: LANG=en_US.UTF-8 LANGUAGE="zh_CN:zh" ``` 执行命令遇到上面的问题, 可以编辑文件 `/etc/locale.gen`, 取消对 `en_US.UTF-8` 的注释, 然后运行这两个命令完成修改, ``` sudo locale-gen en_US.UTF-8 sudo update-locale LANG=en_US.UTF-8 ``` ...阅读全文

悼念声明 缅怀创始人 Ian Murdock

美国间 2015 年 12 月 28 日晚,著名 Linux 发行版 Debian GNU/Linux 的创始人 Ian Murdock 被发现在旧金山的家中离世,目前触发死亡的原因未知,全世界开源社区都陷入了巨大的悲痛之中。30日,Debian 社区正式发表了悼念声明,全文翻译如下: 我们怀着沉重地心情哀悼刚刚离我们而去的 Ian Murdock,开源软件的坚定支持者,父亲,儿子,和 Debian 中的 "ian"。 Ian 从 1993 年8 月开始启动 Debian 项目,并在同一年的稍晚间正式发布了它的第一个版本,Debian 还会一直坚定不移地继续努力,成为流行世界、亿万人受惠的通用操作系统,不管是嵌入式设备还是太空站,都能看到它的身影。 Ian 一直非常关注在创建一个发行版...阅读全文

博文 2021-01-28 17:50:13 debian.cn

Java 12 / JDK 12 正式发布

自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段。按照发布周期,美国当地间 3 月 19 日,也就是今天 Java 12 正式发布了! △ JDK 12 GA 发布 Java 12 带来了一系列新特性: 189Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 低暂停间的 GC230Microbenchmark Suite 微基准测试套件325Switch Expressions (Preview) Switch 表达式334JVM Constants API JVM 常量 API340One AArch64 Port, Not Two 只保留一个 AArch64 实现341Default...阅读全文

博文 2019-03-20 12:46:27 debian.cn

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指定 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 注入其他运行需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这样就不需要显式为每个 Pod 提供所有信息,简化...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

with the `H' inter-active command. Also for multi-processor environments, if Irix mode is Off, top will operate in Solaris mode where a task's cpu usage will be divided by the total number of CPUs. You toggle Irix/Solaris modes with the `I' interactive command. 即在过去的一段间里进程占用的CPU间与CPU总间的比率,如果有多个CPU或者多核,需要将每个CPU的间相加。kubelet中的cadvisor采集的指标与含义,见...阅读全文

博文 2020-08-13 20:41:03 debian.cn

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

Ian Murdock 走了,但 Debian 常在。今天就从与 Ian Murdock 的访谈来回顾一下 Ian 的 Debian 往事。 Debian 社区前几日宣布,Debian 的著名创始者 Ian Murdock 已经去世,死因至今不明。到官方公布具体死因之前,恐怕我们多猜测也无益。今天,不如让我们一起来回顾一下 Murdock 对免费软件的发展做出的贡献。 1999 年 11 月,我曾有幸与 Murdock 有过一次访谈。我为写《Rebel Code:Linux and the Open Source Revolution》这本书共做过 50 多次访谈,这就是其中一回。虽说在书中我只引用了 Murdock 所说的寥寥几句,不过如今,借着这个机,我想用 Murdock 自己的话...阅读全文

博文 2021-01-28 17:50:13 debian.cn

Debian 向社区发出邀请 请求测试 Debian 10 Buster 安装镜像

Debian项目团队已经向社区用户发出邀请,请求帮助测试即将推出的Debian GNU/Linux 10 “Buster”。该发行版本计划于2019年7月6日周六正式发布,整个开发阶段已经持续数年间,相比Debian 9引入了诸多改进和新功能,努力将其打造成为非常优秀的新版本。 不过在本周晚些候正式上线之前,Debian 项目寻求社区的力量,以反馈发现Debian GNU / Linux 10 Buster 在下载、安装和使用环节所遇到的问题,从而确保最终正式版没有错误。 Andy Simpkins在邮件列表中写道:“如果能够占用你的一些间来帮助我们测试这些镜像,我们将非常感激你的帮助。请在开始测试之前检查 irc *以减少重复测试。” Debian GNU / Linux 10...阅读全文

博文 2019-07-03 16:39:51 debian.cn

SK海力士宣布HBM2E内存:带宽最高460GB/s

SK海力士宣布,已经成功研发出新一代DRAM内存“HBM2E”,可视为HBM2的增强版,拥有业界最高的传输带宽,相比现在的HBM2提升了大约50%,同容量也翻了一番。 SK海力士的HBM2E每个针脚传输速率为3.6Gbps,搭配1024-bit位宽的话可以提供超过460GB/s的超高带宽,无可比拟。 AMD Radeon VII显卡曾经率先实现1TB/s的显存带宽,但应用了4096-bit的位宽,如果换成HBM2E总带宽可以轻松超过1.8TB/s。 同得益于TSV硅通孔技术,HBM2E内存可以最多垂直堆叠八颗16Gb芯片,单颗封装总容量因此可达16GB,是目前的两倍。 SK海力士表示,超高带宽的HBM2E可用于工业4.0、高端GPU显卡、超级计算机、机器学习、AI人工智能等各种尖端领域...阅读全文

如何让 Mac OS X 快速完成升级

每次将 Mac OS X 升级到新版本,你只能干等着,看进度条慢慢变化,是不是觉得很无奈。最近有用户在 Reddit 中发帖,和其他用户共享了只需一个终端指令就能够让 macOS 升级变得更快。 这名用户表示,自己通过 App Store 升级 macOS 前后通常需要半个小。macOS 已经内置了一个软件升级实用工具,它能够让系统升级变得更快。而且还支持用户一边升级一边使用设备。 这名用户表示自己通过这个办法升级 macOS 12.6 最新版本只需要 10 分钟,升级过程中因为需要重启设备,有大约 2 分钟的间无法使用设备。这名用户在帖子建议使用一下两条命令行即可执行更新: softwareupdate -ia 这个命令会执行安装更新的任务。升级过程会收到提示,用户需要重启设备...阅读全文

博文 2017-07-21 17:41:38 debian.cn