InfraPub 为您找到相关结果 74

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

用kafka生产者的幂等性来实现。 kafka生产者的幂等性:因为发送端重试导致的消息重复发送问题,kafka的幂等性可以保证重复发送的消息只接收一次,只需在生产者加上参数 props.put(“enable.idempotence”, true) 即可,默认是false不开启。 具体实现原理是,kafka每次发送消息会生成PID和Sequence Number,并将这两个属性一起发送给broker,broker会将PID和Sequence Number跟消息绑定一起存起来,下次如果生产者重发相同消息,broker会检查PID和Sequence Number,如果相同不会再接收。 PID:每个新的 Producer 在化的时候会被分配一个唯一的 PID,这个PID 对用户完全是透明的。生...阅读全文

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

Linux下多线程程序为什么消耗大量虚拟内存

你打算在程序代码中来设置这个东西,那么可以调用mallopt(M_ARENA_MAX, xxx)来实现,由于我们AuthServer采用了预分配的方式,在各个线程内并没有分配内存,所以不需要这种优化,在化的时候采用mallopt(M_ARENA_MAX, 1)将其关掉,设置为0,表示系统按CPU进行自动设置。 意外发现 想到tcmalloc小对象才从线程自己的内存池分配,大内存仍然从中央分配区分配,不知道glibc是如何设计的,于是将上面程序中线程每次分配的内存从1k调整为1M,果然不出所料,再分配完64M后,仍然每次都会增加1M,由此可见,新版 glibc完全借鉴了tcmalloc的思想。【原文出处: 陈斌的博客】...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Docker 17.06 社区版发布

时一次的频次来安排证书轮换。有了Docker CE 17.06,添加了立即强制证书轮换的一次性操作: docker swarm ca --rotate Swarm Mode事件 docker events可以用来从Docker中获取实时的信息。在编写自动化和监控应用时很有用。但是直到Dcoker CE 17.06,都不支持swarm mode的事件。现在docker events将会返回服务、节点、网络和和secret的信息。 专用的数据路线 docker init中添加了新的--datapath-addr标签,可以把swarm mode的管理任务和应用传递的数据隔离开来。这能把集群从IO贪婪的应用中拯救出来。如你用这种方式化集群: docker swarm init...阅读全文

博文 2017-06-30 23:08:57 debian.cn

Ceph 12.2.0 正式版本发布, 代号 Luminous

使用每个实例的唯一Ceph用户ID来支持新的Dashboard。 在创建集群期间,不再自动创建默认的’rbd’池。另外,当没有指定池时,rbd CLI使用的默认池的名称可以通过新的rbd default pool = 配置选项来覆盖。 通过新的rbd trash命令支持延迟映像删除。镜像,即使是由克隆主动使用的镜像,也可以移动到垃圾桶,并在以后删除。 新的管理池级别的rbd mirror poolpromote和rbd mirror pool demote命令可以批量提升/降级池内所有的镜像文件。 镜像现在可以通过rbd mirroringreplay delay = 配置选项支持可配置的复制延迟。 当对象映射功能启用时,可改进丢弃处理功能...阅读全文

博文 2017-08-31 13:36:49 debian.cn

隐私声明

关注册信息后方能使用,如果您无法提供此类信息,可能会不能使用对应服务。如果您注册了本网站,您可以随时查阅或编辑您提交给本网站的个人信息,但出于安全性和身份识别的考虑,您可能无法修改注册时提供的注册信息及其他验证信息。 5. 用户发布信息 本网站的部分服务允许用户发布自己的信息、视频、照片、观点、博客等等,请注意上述内容自发布之时起成为公开信息,请在公布您的联系信息、财务信息或其他个人信息之前做出谨慎判断。我们将无法阻止上述信息以不符合本隐私权声明和适用法律法规的方式被使用。 6. 未成年人的个人信息保护 本网站非常重视对未成年人个人信息的保护。若您是18周岁以下的未成年人,在使用本网站的服务前,应事先取得您家长或法定监护人的书面同意。 7. 隐私权声明的更新...阅读全文

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

Pod 化配置,还能起到配置统一的效果。 2、环境、软件准备 本次演示环境,我是在本机 MAC OS 上操作,以下是安装的软件及版本: Docker: 18.06.3-ceOracle VirtualBox: 6.0.8 r130520 (Qt5.6.3)Linux: 7.6.1810Minikube: v0.30.0Kubernetes: 1.12.1 注意:这里 Kubernetes 集群搭建使用 Minikube 来完成,Minikube 启动的单节点 k8s Node 实例是需要运行在本机的 VM 虚拟机里面,所以需要提前安装好 VM,这里我选择 Oracle VirtualBox。k8s 运行底层使用 Docker 容器,所以本机需要安装好 Docker 环境,这里忽略...阅读全文

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

Java Annotations详解

="Jakob", age=37, newNames={"Jenkov", "Peterson"} ) public class MyClass { } 元素的默认值 你可以为一个元素指定默认值(有点像C++中的方法哈)。这样在注释化时那个元素就可以忽略了。如下定义了一个包含默认值的注释 @interface MyAnnotation { String value() default ""; String name(); int age(); String[] newNames(); } 在调用时,可以忽略包含默认值的元素,这里指的是value元素,如: @MyAnnotation( name="Jakob", age=37, newNames={"Jenkov", "Peterson...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

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

,也可以在一台不同的远程计算机上工作。 Chrony 和 NTPD 精度对比测试 我们可以从 Chrony 的官方网站上可以看到与 NTPD 各维度详细对比: 从其测试结果上看似乎是各维度性能都可以吊打 NTPD。因此 Chrony 的整体评价还是比较高的。 Chrony 相较于 NTPD 服务的优势 更快的同步只需要数分钟而非数小时时间,从而最大程度的减少时间和频率误差,这对于并非全天运行的台式计算机或系统而言非常有用。能够更好的响应时间频率的快速变化,这对于具备不稳定时钟的虚拟机或导致时钟频率反复变化的节能技术而言非常有用。在同步后,它并不会停止时钟,以防对需要系统时间保持单调的程序造成影响。在应对临时非对称延迟时,(例如:大规模下载造成连接饱和时)提供了更好的稳定性。无需对服务器进行...阅读全文

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

在TKE上使用Kubecost进行成本管理

/7949fd01702d5f779cb2ccb00b6efe3a.jpg) 5. service cost-analyzer-cost-analyzer 的访问方式为负载均衡方式,更新服务访问方式之后会得到一个公网 IPv4 地址,便可在公网进行访问。 - 访问地址:` http://[服务公网地址]:9090` - 用户名和密码:admin、admin。 ### 卸载 执行以下命令可卸载 kubecost: ```sh helm uninstall cost-analyzer -n kubecost ```...阅读全文

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

,选票会被瓜分,有可能没有选出领导人,那么,将会开始另一个任期,并且立刻开始下一次选举。Raft算法保证在给定的一个任期最多只有一个领导人。Leader选举的过程Raft使用心跳来进行触发leader选举,当服务器启动时,化为follower角色。leader向所有Follower发送周期性心跳,如果Follower在选举超时间内没有收到Leader的心跳,就会认为leader宕机,稍后发起leader的选举。每个Follower都会有一个倒计时时钟,是一个随机的值,表示的是Follower等待成为Leader的时间,倒计时时钟先跑完,就会当选成为Leader,这样做得好处就是每一个节点都有机会成为Leader。当满足以下三个条件之一时,Quorum中的某个节点就会触发选举:向Leader...阅读全文

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

Apollo 配置中心简单介绍

、Thread Pool Size、Buffer Size、Request Timeout、Feature Switch、Server Urls等。配置伴随应用的整个生命周期 配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来化,在运行时根据配置调整行为。配置可以有多种加载方式 配置也有很多种加载方式,常见的有程序内部hard code,配置文件,环境变量,启动参数,基于数据库等配置需要治理 权限控制 由于配置能改变程序的行为,不正确的配置甚至能引起灾难,所以对配置的修改必须有比较完善的权限控制不同环境、集群配置管理 同一份程序在不同的环境(开发,测试,生产)、不同的集群(如不同的数据中心)经常需要有不同的配置,所以需要有完善的环境、集群配置管理框架类组件配置管理 还有一类比较特殊的配置...阅读全文

博文 2021-04-09 17:53:51 CSDN

在 Kubernetes 上扩展 TensorFlow 模型

,并定义相关的分发策略,就足以实现 Kubeflow 的同步策略。 化 TFJob 后,将会在每个 worker 节点上创建一个新的 **TF_CONFIG** 环境变量。其中包含了关于训练批次、当前训练迭代以及 TFJob 用于执行分布式训练的其他参数的信息。通过与各种 Kubernetes 控制器、 API 进行交互,Tf-operator 协调训练过程,并维护在清单中定义的预期状态。 另外,通过 tf-operator,异步训练模式可以使用 **ParameterServerStrategy**。在[这里](https://iamondemand.com/blog/scaling-tensorflow-models-on-kubernetes/)(以及下面),你将看到一个由 tf...阅读全文

深入理解Golang之context

available (because the // surrounding function has not yet been extended to accept a Context // parameter). Background和TODO只是用于不同场景下: Background通常被用于主函数、化以及测试中,作为一个顶层的context,也就是说一般我们创建的context都是基于Background;而TODO是在不确定使用什么context的时候才会使用。下面将介绍两种不同功能的基础context类型:valueCtx和cancelCtx。valueCtxvalueCtx结构体type valueCtx struct { Context key, val interface...阅读全文

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

journalctl 清理journal日志 - 九重霄

#TTYPath=/dev/console MaxLevelStore=warning MaxLevelSyslog=warning MaxLevelKMsg=warning MaxLevelConsole=info #MaxLevelWall=emerg #LineMax=48K 配置目录及其优先级 默认设置是在编译期间确定的, 所以仅在确实需要修改默认设置的情况下, 才需要使用配置文件。位于 /etc/systemd/ 目录中的配置文件, 仅包含了展示选项默认值的注释, 目的在于方便系统管理员查看和直接修改。 如果软件包想要自定义某些默认设置, 那么必须将自定义的配置文件安装到 /usr/lib/systemd/*.conf.d/ 目录中。 /etc/ 目录仅供系统管理员使用。 系统管理员可以利用...阅读全文

博文 2021-02-05 15:43:28 博客园

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

,Docker, kubeadm和kubelet将安装在所有远程服务器上。 kubectl不是必需组件,仅用于执行集群命令。 在此上下文中仅在主节点上安装它是有意义的,因为您将kubectl主服务器运行kubectl命令。 但是,请注意, kubectl命令可以从任何工作节点运行,也可以从可以安装和配置为指向集群的任何计算机运行。 现在已安装所有系统依赖项。 继续阅读本文下半部分,完成主节点的设置并化集群。...阅读全文

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

译:Kubernetes 最佳实践

很重要,因为在 K8s 中没有为这些设置默认值。例如,如果一个 pod 需要 20 秒才能启动并且缺少就绪探测,那么在启动期间定向到该 pod 的任何流量都会导致失败。就绪探针应该是独立的,并且不考虑对其他服务的任何依赖,例如后端数据库或缓存服务。存活探针试应用程序是否正在运行以将其标记为健康。例如,可以测试 Web 应用程序的特定路径以确保其响应。如果不是,该 pod 将不会被标记为健康,并且探测失败将导致 kubelet 启动一个新的 pod,然后将再次对其进行测试。这种类型的探测用作恢复机制,以防进程无响应。译者:在 Kubernetes 1.18 引入了 StartUp(启动)探针。当容器启动时间较长(要花较长的时间完成化工作),此时应该使用启动探针。如果启动探针探测不成功,其他...阅读全文

博文 2022-09-13 19:32:21 atbug.com

DPDK Graph Pipeline 框架简介与实现原理

,它是以一个 circular buffer (cir_start[head++]) 的 head 来定位,或者更详细地从 graph walk 的始点说起,由于 graph->head 在化的时候被指定为 -src_node_count (负的 source node 数量,可以参考下一部分 rte_graph 的内存布局),所以 cir_start[head] 其实就是第一个 source node。那么 tail 的作用是什么?libgraph 是如何利用它来动态修改 circular buffer 和 pending stream 帮助 node 的定位呢? 在回答这些问题之前,我们首先来了解下面两个 API 函数,分别是 __rte_node_enqueue_prologue 和...阅读全文

博文 2023-02-09 07:13:55 掘金

Monit:开源服务器监控工具

不指向目录,monit将禁用对此条目的监视。如果Monit在被动模式下运行或者没有定义启动方法,Monit只会在错误时发送警报。 远程主机 CHECK HOST ADDRESS 主机地址可以指定为主机名字符串或点分十进制格式的IP地址字符串。例如,tildeslash.com或“64.87.72.95”。 系统 CHECK SYSTEM 的唯一的名称通常是本地主机名,而是可以使用任何描述性名称。如果使用变量$ HOST作为名称,它将扩展为主机名。此检查允许监控一般系统资源,如CPU使用率,总内存使用或负载平均。该唯一名称在邮件警报中用作系统主机名,在M/Monit中用作主机条目的名称。 自定义...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Apache Flink 1.14 新特性预览 - OSCHINA

时间来看,整个任务化,调度以及部署的阶段,大概能够减少分钟级的时间消耗。 2. 细粒度资源管理 细粒度资源管理在过去很多的版本都一直在做,在 Flink1.14 终于可以把这一部分 API 开放出来在 DataSteam 提供给用户使用了。用户可以在 DataStream 中自定义 SlotSharingGroup 的划分情况,如下图所示的方式去定义 Slot 的资源划分,实现了支持 DataStream API,自定义 SSG 划分方式以及资源配置 TaskManager 动态资源扣减。 对于每一个 Slot 可以通过比较细粒度的配置,我们在 Runtime 上会自动根据用户资源配置进行动态的资源切割。 这样做的好处是不会像之前那样有固定资源的 Slot,而是做资源的动态扣减,通过这样...阅读全文

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

Web前端知识体系精简

api来查找特定的dom对象,比如getElementById,querySelector等等。 9、事件系统 Event 事件是用户与页面交互的基础,到目前为止,DOM事件从PC端的 鼠标事件(mouse) 发展到移动端的 触摸事件(touch) 和 手势事件(guesture) 由于DOM结构可能会多层嵌套,因此也衍生出了两种事件流:事件捕获和事件冒泡,后者最常用。利用事件冒泡机制可以实现很多功能,比如页面点击统计。关于两种事件流的介绍请参考:事件冒泡和捕获 除此之外,在页面化、滚动、隐藏、返回等操作时分别内置了onload/onDOMContentLoaded、onscroll、onvisibility和onhashchange等事件,如果想要捕获这些事件,需要通过...阅读全文

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

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

,dfs.heartbeat.interval的单位为秒。 dfs.namenode.heartbeat.recheck-interval 300000 dfs.heartbeat.interval 3 DataNode的目录结构 和namenode不同的是,datanode的存储目录是阶段自动创建的,不需要额外格式化。 在/opt/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas/current这个目录下查看版本号 cat VERSION #Thu Mar 14 07:58:46...阅读全文

最全的 DevOps 工具集合

动化软件领域的领导者、应用程序自动化领域的创新者,也是 DevOps 运动的创始人之一。Chef 与全球 1000 多家最具创新力的公司合作,以实现他们数字化转型的愿景,并提供可快速交付软件的实践和平台。 Ansible Ansible 是一种开源的软件预备、配置管理和应用程序部署工具。它可以在许多类 Unix 系统上运行,既可以配置类 Unix 系统也可以配置微软 Windows。它自带声明式语言来描述系统配置。 Puppet Puppet 提供的能力可以定义系统所需的软件和配置,然后在设置后保持指定状态。 用户使用与 Ruby 类似的声明式领域特定语言(DSL)来定义指定环境或基础架构的配置参数。Puppet 使用称为 Facter 的一个实用程序获取系统信息,该程序跟随...阅读全文

博文 2021-05-26 14:35:21 博客园

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

析的中间发生了错误,系统仅仅发送了一半配置。这时,“因缺失而关闭”会对生产造成严重破坏:想象一下,自动化错误地删除了数据库! 为了处理turndown,我们要求在实现代码下架给定asset类型之前要有额外的安全保证。然后,我们要求turndown的显式信号:asset上turndown的额外插件。虽然这个方案不完美——管理插件有点麻烦——但它避免了大量意外的turndown。 — 11 — 使用 使用Prodspec和Annealing的难度是我们面临的最大挑战。切换到基于intent的actuation要求思想的改变,这需要时间。随着我们发展到现在,使用不是一个问题,至少在技术栈的较低层。 但是,现有服务的建模可能很困难。这项工作通常需要调整复杂的SoT,它们可能还不包含所有必要的信息...阅读全文

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

提问的智慧 – 全文

者」论坛提问。建议你在发帖前最好先潜水一阵以了解那的行事风格(事实上这是参与任何私有或半私有论坛的好主意)。 如果你找不到一个项目组的论坛,只能查到项目维护者的邮箱地址,可以向其发送邮件。但即便在这种情况下,也不要以为这个论坛是不存在的。在电子邮件中你可以陈述你试图寻找这个论坛的事实,告诉维护者也可以转发该邮件到相关的人员手中(许多人认为,即使没什么秘密,私人电子邮件也不应该被公开。通过允许将你的电子邮件转发他人,你给了相应人员处置你邮件的选择)。 【本章注释】 [10]原文为邮件列表,邮件列表是论坛的形态,以前的论坛是以邮件名称作为联系ID交流,所以,在此篇文章中,邮件列表可视作论坛。 使用含义丰富,描述准确的标题 请在论坛中用五十个或更少的字来描述你的主题,这是你吸引专家专家注意力的...阅读全文

博文 2009-10-01 13:18:00 debian.cn