InfraPub 为您找到相关结果 768

基于thanos搭建分布式prometheus

的永久存储和查询能力。 Compactor则是对Bucket里的历史数据进行采样或者清理,有具体需求后再自行研究即可。 上述组件均是可选的,没有历史数据永存需求的可以直接忽略。 方案2:thanos receive + thanos querier thanos提供的另一种方案是计算与存储分离,利用thanos receive组件部署一个分布式存储集群,然后令prometheus通过remote write机制直接写入到thanos receive集群完成分布式存储,这样prometheus身就无状态了。 再利用thanos querier反向代理到thanos receive集群,最终对外提供统一的promql查询入口,这个阶段就没有prometheus什么事了。 这套方案的工作原理如下...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

谷歌元老施密特隐退:传奇落幕 新篇开启

程技术平台。而到了 Novell 之后用了不到三年就使这家公司扭亏为盈,最后的亏损其实很大程度上需要归结为微软的打压和互联网泡沫的破裂,那次失败真不是施密特能控制的。所以 Novell 公司在他担任谷歌 CEO 之后依然为他保留了董事会主席席位,以示尊重。 施密特的地位堪比二位创始人 谷歌由佩奇和布林创立于1998年,但是直到2001年施密特担任 CEO,谷歌依然只是一个技术还不错,但是完全没办法赚钱的小公司,施密特人就曾直言:“他们在各个方面的看法,都与我不尽相同。让人搞不清他们的思路究竟是令人耳目一新的远见,还是单纯天真。” 而施密特的加入,正好为两位创始人天马行空的设想打下了良好的基础——钱。施密特发现了搜索业务和广告之间的高度关联性,并由此创造了搜索广告这一革命性的盈利模式,直到现...阅读全文

博文 2017-12-24 09:18:44 debian.cn

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

最近游戏已上线运营,进行服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(AuthServer)负责跟第三方渠道SDK打交道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线程,奇怪的是每次刚启动的时候占用的虚拟内存在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线程内部根没有大块分内存,那么这些内存到底是从哪来的呢?让人百思不得其解。 探索 一开始首先排除掉内存泄露,不可能每次都泄露64M内存这么巧合,为了证明我的观点,首先,我使用了valgrind。 valgrind --leak-check=full --track-fds=yes --log-file=./AuthServer.vlog & 然后启动测试...阅读全文

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

Debian Live 项目的剧变

尽管围绕 Debian Live 项目发生了很多戏剧性事件,关于 Debian Live 项目结束的公告的影响力甚至小于该项目首次出现时的公告。主要开发者的离开是最显而易见的损失,而社区对他人及其项目的态度是很令人困惑的,但是这个项目也许还是会以其它的形式继续下去。 所以 Debian 仍然会有更多的工具去创造启动光盘和其他介质。尽管是用这样一种有遗憾的方式,项目创始人 Dabiel Baumann 和 Debian CD 团队以及安装检测团队之间出现的长期争论已经被「解决」了。 在 11 月 9 日, Baumann 发表了题为「 Debian Live 项目的突然结束」的一篇公告。在那篇短文中,他一一列举出了自从这个和他有关的项目被发起以来近 10 年间发生的不同的事件,这些事件可以...阅读全文

博文 2021-01-28 17:50:14 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 知乎

为何 Kubernetes 如此受欢迎?

,Kubernetes 将继续更加流行,并仍然是开源中最大的成功案例之一。 作者简介: Anurag Gupta - Anurag Gupta 是推动统一日志层 Fluentd Enterprise 发展的 Treasure Data 的产品经理。 Anurag 致力于大型数据技术,包括 Azure Log Analytics 和如 Microsoft System Center 的企业 IT 服务。文转自https://opensource.com/, 中文版来自Linux.cn...阅读全文

博文 2017-11-07 23:58:26 debian.cn

一位资深Java架构师的晋级心得

计原理,Spring事务处理机制,SpringMVC,Spring源码分析Mybatis:Mybatis体系结构,Mybatis核心应用与配置,Mybatis关联查询,与Spring集成,Mybatis源码分析 2. 工程化工具 Maven项目工具:Maven命令使用,Maven的pom配置体系,插件机制及插件开发,Nexus使用,上传,配置Git分布式版控制:Git安装和理解仓库,工作常用命令,分支和Tag管理,代码冲突解决方案,Github开源社区,Git企业应用,与IDE集成Sonar代码检测:Sonar环境搭建和使用,使用Sonar进行代码质量管理,与IDE集成使用Jenkins:搭建Jenkins自动化部署环境,集成git/maven/sonar工具,插件机制 3. 微服务架构...阅读全文

博文 2019-01-13 22:49:22 debian.cn

开源硬件是趋势,Arm 却走了一条与众不同的路

Android 从来都不存在一样,Arm 也希望 RISC-V 不存在。” Riordan 如此说道。 2019 年可能是 Arm 的转折点。这家英国公司对客户(主要是半导体公司)的微处理器 IP 许可进行了一系列重大更改,目的是提供更好的访问以及更灵活的芯片设计选项。今年早些时候,Arm 推出了 Arm 灵活访问权限(Arm Flexible Access)—— 通过它客户可以以较低的费用访问公司的广泛技术组合,而没有购买完整许可证的义务。 在周于圣何塞举行的 Arm TechCon 年度技术会议上,Arm 首席执行官 Simon Segars 宣布将自定义指令(Custom Instructions)添加到以 IoT 为重点的 Cortex-M 处理器系列中,并从 2020 年上半年的 Arm...阅读全文

博文 2019-10-17 22:39:43 debian.cn

使用 setfacl 管理文件的访问控制列表ACL

absolute path names # file: opt/test # owner: root # group: root user::rwx user:code:r-- //可以看到code单独的权限为r-- group::rwx mask::rwx other::rwx 注意:code 的权限并不是只根据ACL配置来决定的,它是由code用户基权限与配置的ACL权限的“与”运算决定的,即other:rwx 与 code:r-- = code:r-- 可以使用code用户,测试是否可写。在写文件时,会出现-- INSERT -- W10: Warning: Changing a readonly file提示。 除了对单个用户进行设置外,还可以对用户组、有效权限(mask)进行设置。 如对用户组...阅读全文

开发者体验被重点关注:开发人员是关键资产 - OSCHINA

表示: 每个开发者都将能够从开源提供的集体创新中获取工具和代码,以构建现代数据驱动的应用程序,提供差异化的、有吸引力的体验,从而推动收入增长。这将通过创造一种 innersource 文化(将开源文化和工具带入企业)来实现,以加快开发速度、减少项目积压、创造更多乌托邦式的开发者环境。无服务器数据库技术与现代 API 和流媒体技术相结合,将等于一个开放的堆栈,在实现这一目标方面发挥巨大作用,因为它们将减轻基础设施团队的负担(例如管理多个数据中心实例、多云供应商和多个流媒体项目)。 Sumo Logic 的 Reno 还指出,作为这个过程的一部分,开发者需要围绕使用数据身获得更多的帮助。他以可观察性的 OpenTelemetry 项目进行举例,说明开发者希望从他们所拥有的数据中获得更多的东西...阅读全文

博文 2021-12-28 14:45:52 中文开源技术交流社区

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

新的技术,特别是在网络和云计算领域。在网络方面,与中国三大运营商,包括中国移动、中国电信、中国联通,还有中兴、华为等开展合作。在云计算方面,Linux 有云原生的一些项目,主要是和 BAT三家大的公司来开展合作。 在Jim 看来,新的企业和机构加入到 Linux 的活动当中,会给 Linux 带来更多的价值。 上周日丰田宣布在销售最好的产品凯美瑞中使用 Linux 系统。汽车行业的加入,意味着将会对 Linux 内核提出新的要求,这对于为嵌入式系统开发解决方案的厂商来说也是很好的消息。加入 Linux 意味着他们的测试覆盖范围更大了,有更多的人对这个代码进行审议。 “总的来说,我们觉得越多的企业和组织架构加入到 Linux 的阵营,实际上对Linux 的发展是越好的。” (二)谈...阅读全文

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

三星谈论下一代DRAM解决方案:GDDR7、DDR5、LPDDR5X和V-NAND

LSI业务正专注于提高NPU(神经处理单元)和调制解调器等基芯片的性能,并通过与全球行业领先的公司合作,创新CPU(中央处理单元)和GPU(图形处理单元)技术。系统LSI业务也在继续其在超高分辨率图像传感器方面的工作,以便其芯片能够像人眼一样捕捉图像,并且还计划开发能够发挥人类所有五种感官作用的传感器。新一代逻辑芯片亮相三星电子在技术日展台上首次披露了一些先进的逻辑芯片技术,包括5G Exynos Modem 5300、Exynos Auto V920和QD OLED DDI,这些芯片是移动、家电和汽车等各个行业的重要组成部分。今年新发布或宣布的芯片,包括高端移动处理器Exynos 2200,以及20万像素的ISOCELL HP3--拥有业界最小的0.56微米(μm)像素的图像传感器也在展出之...阅读全文

深入学习golang — channel

" }() go func() { time.Sleep(time.Second * 2) c2 <- "two" }() for i := 0; i < 2; i++ { select { case msg1 := <-c1: fmt.Println("received", msg1) case msg2 := <-c2: fmt.Println("received", msg2) } } 在C中,我们一般都会传一个超时时间给select函数,go语言中的select没有该参数,相当于超时时间为0。 主要参考 https://golang.org/doc/effective_go.html 作者:YY哥 出处:http://www.cnblogs.com/hustcat/ 文版权归作者和博客园共有,欢...阅读全文

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

Docker 核心原理

对 Docker 的使用大部分都比较熟悉,但是说到 docker 的实现原理很多人还是一知半解。我把在团队内部做的一次 Docker 核心原理分享总结到文章里,以供参考。 Docker 的优势 Build once, Run anywhere 上面这句话很精辟的总结了 docker 的优点。我从下面几点具体描述 docker 带给开发者的能力 应用标准化 无论什么语言开发的应用,我们都能用 dockerfile 和构建脚方便的进行应用构建打包,代码库 + 构建 + registry 统一了 CI/CD 流程,也提升了效率。 环境一致 由于应用和依赖全部构建成镜像,做到了一次构建多次交付,无论是开发,测试还是上线环境都是一致的。大大提高了开发效率 应用隔离 由于通过 docker 部署的应...阅读全文

博文 2021-02-25 09:14:23 lxkaka

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基数据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由创建 chan 时的参数来决定。qcount 表示当前缓冲区中有效数据的总量...阅读全文

Golang Context 探究

在用 Golang 开发过程中,我们一定能在代码里很多函数或方法都会传递 context, 也会经常遇到这样的报错 context deadline exceeded。你有想过或去探究过 context 到底是什么吗,为什么会遇到上述的报错。在这里我们就分析一下 context 是什么及用途。 首选 Golang 中的 context 值得是 context.Context 接口,Golang 在 1.7 版中引入标准库的接口。context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、截止时间、key-value 等。 Context 定义 Context 接口定义如下 1 2 3 4 5 6 7 8 9 10 type Context interface...阅读全文

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

如何使用 journalctl 清理 journal 日志

己专属的日志文件(无论该用户是否拥有登录会话),但系统用户的日志依然记录到系统日志中。这是默认值。 "none" 表示不对日志文件按不同用户进行分割,而是将所有日志都记录到系统日志中。这意味着非特权用户根无法读取属于自己的日志信息。 注意,仅分割持久保存的日志(/var/log/journal), 永不分割内存中的日志(/run/log/journal)。 RateLimitIntervalSec=, RateLimitBurst= 用于限制日志的生成速度(设为零表示不作限制)。 RateLimitIntervalSec= 用于设置一个时间段长度,默认值是30秒。 RateLimitBurst= 用于设置一个正整数,表示消息条数,默认值是1000条。 表示在...阅读全文

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