InfraPub 为您找到相关结果 379

中国开源人访谈系列之:清风博主

提问者为Linuxstory.org的华华,回答者即为清风博主老师。之前常逛Linux社区的同学,对这个ID应该很熟悉。 A.您与Linux的那些事 1.清风老师能简单的介绍下您自己吗? 答:中学地理老师,Linux爱好者,Gentoo用户,70后 来张几年前上课摆拍的工作照吧 2.您是因为什么喜欢上折腾Linux的呢?遇到最大的困难是什么呢? 答:说来话长。初识Linux是在参加工作近10年之后,之前都没听说过Linux。真正知道Linux,是因为自学了点asp,后来在搜索如何搭建更好的网站环境时,才知道了还有这么一个神奇的系统。2008年,有了笔记本电脑后,才尝试安装,发现这个系统太适拿来折腾了!从入门级的Ubuntu到Gentoo,桌面环境从gnome2、unity、gnome3...阅读全文

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

阿里巴巴版 JDK 首发 GA 版 生产环境可用

消耗,更快的进入全速运行状态。 Java Flight Recorder(JFR) JFR 全名是 Java Flight Recorder(Java 飞行记录仪)。众所周知,JFR 是 Oracle JDK 的商业收费功能,需要付费才可使用,虽然后期通过 OpenJDK 11 开源,但 Java 8 的用户群体无法使用且该部分人群较为庞大。因此,阿里巴巴开源 Dragonwell JDK 之时,便决定将该功能移植到 Alibaba Dragonwell 8 中供开发者使用。Java 开发人员可以通过 JFR 收集 JVM 运行过程中的详细 profiling 信息,配 Java Mission Control (JMC), 提高 Java 应用的问题诊断及性能优化效率。 在本次的 GA...阅读全文

博文 2019-07-11 10:24:52 debian.cn

Kubernetes源码探疑:Pod IP泄露排查及解决方法

的Kubernetes API, 以UCloud 公有云资源为基础, 通过自研的插件整打通了ULB、UDisk、EIP等公有云网络和存储产品,为用户提供一站式云上Kubernetes服务。 其中VPC既保障网络隔离,又提供灵活的IP地址定义等,是用户对网络的必备需求之一。UK8S研发团队经过考察后认为,UCloud基础网络平台具有原生、强大的底层网络控制能力,令我们能抛开Overlay方案,把VPC的能力上移到容器这一层,通过VPC的能力去实现控制和转发。 UK8S每创建一个Pod都为其申请一个VPC IP并通过VethPair配置到Pod上,再配置策略路由。 原理如下图所示。 此方案具有以下优势: 无Overlay,网络性能高。50台Node下的测试数据表明,容器与容器之间的网络性能,相...阅读全文

在 Kubernetes 上扩展 TensorFlow 模型

Kubernetes 的机器学习框架,最初由谷歌开发。它建立在 Kubernetes 资源和编排服务之上,实现复杂的自动化机器学习管道,用于[训练和服务机器学习模型](https://iamondemand.com/blog/the-never-ending-story-of-model-training-a-new-chapter-for-machine-learning/)。 可以结使用 Kubernetes 和 Kubeflow 来有效地扩展 TensorFlow 模型。为使 TensorFlow 模型具有可扩展性,主要的资源和特性如下: - 使用 kubectl[手动扩展 Kubernetes 部署和 StatefulSets](https://kubernetes.io/docs/concepts...阅读全文

细数k8s支持的4种类型的container - 侃豺小哥

始化容器不会被开始执行。因此,如果启动任务很长,则可以考虑将其分为多个步骤,每个步骤都由一个初始化容器处理,以便您知道哪些步骤失败。 如果任何初始化容器失败,则将重新启动整个Pod(除非您将restartPolicy设置为Never)。重新启动Pod意味着再次重新执行所有容器,包括任何初始化容器。因此,您可能需要确保启动逻辑允许多次执行而不会导致重复。例如,如果数据库迁移已经完成,则应仅忽略再次执行迁移命令。 初始化容器是延迟应用程序初始化直到一个或多个依赖项可用的很好的选择。例如,如果您的应用程序依赖于施加API请求速率限制的API,则您可能需要等待一段时间才能接收来自该API的响应。在应用程序容器中实现此逻辑可能很复杂;因为它需要与健康和就绪状态探测器结使用。一种更简单的方法是创建一个...阅读全文

博文 2021-08-20 11:45:32 博客园

Cortex: 高可用和水平扩展Prometheus监控系统

置为对cortex执行远程写入。使用此功能,指标可以从多个集群聚到一个运行cortes的集群中。这为我们提供了一个中心位置,在这里我们可以观察整个基础设施的指标。Cortex提供了与Prometheus/PromQL兼容的端点endpoint。可以将此端点endpoint作为数据源提供给grafana,并与普通Prometheus实例相同的方式执行查询。长期储存普罗米修斯的本地存储不是持久的长期存储。发送到cortex的指标被存储在已配置的存储服务中。如果使用云存储,这将使您从运行自己的数据库的麻烦中解脱出来。你还可以享受云提供商提供的SLA。Cortex还支持用于存储块的对象存储:GCSS3多租户当向cortex写入指标时,通过设置http头(X-Scope-OrgID)来提供多租户。查...阅读全文

博文 2021-10-09 17:00:22 知乎

influxdb内存消耗分析及性能优化【探索篇】

:#influxdb部分配置文件 #描述:内存快照的冷冻写入周期,默认10m #场景: 当创建新的shard分片开始接受数据之后,上个shard分片进入冷冻期, #冷冻期的shard分片不再接收写入的请求,10分钟之后,会将内存里冷冻shard的cache进行落盘操作 #应用: 本文设置为30分钟。个人认为时间越短,会越快释放上个shard的内存cache cache-snapshot-write-cold-duration = "30m" #描述: 使用全量策略压缩冷冻期分片的周期,默认4h #场景: 当shard进入冷冻期后,会经过4h,开始进行全量压缩策略,进一步减少shard落盘数据占用的空间 #与cache-snapshot-write-cold-duration配使用 #可以从日志中看到,新分片...阅读全文

博文 2021-10-27 16:06:30 知乎

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

一 Kafka可视化管理工具kafka-manager 安装及基本使用可参考:https://www.cnblogs.com/dadonggg/p/8205302.html 二 线上环境规划 JVM参数设置 kafka是scala语言开发,运行在JVM上,需要对JVM参数理设置,参看JVM调优专题 修改bin/kafka-start-server.sh中的jvm设置,假设机器是32G内存,可以如下设置: export KAFKA_HEAP_OPTS="-Xmx16G -Xms16G -Xmn10G -XX:MetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M" 这种大内存的情况一般...阅读全文

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

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

一、HAProxy简介 (1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安全的整进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 (2)HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User...阅读全文

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

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

dnsPolicy: ClusterFirst nodeName: minikube ...... 可以看到,经过 k8s admission controller 之后此时的 Yaml 文件是将 PodPreset 和 Pod 资源 Merge 并了,同时增加了 podpreset.admission.kubernetes.io/podpreset-busybox-hwy: "24187" 这样的注解,类似模板的 Include 功能,而这个 24187 资源号就是上边 podpreset-busybox-hwy 创建完成之后的 resourceVersion: "24187" 资源版本号。 4.2、匹配某个 Namespace 下所有 Pod 加载配置 上边演示了匹配一个或多个指定 Pod 注入信息...阅读全文

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

aptitude 与 apt

的。apt-get upgrade——更新所有已安装的软件包apt-get dist-upgrade——将系统升级到新版本apt-cache search string——在软件包列表中搜索字符串dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适用来进行安装和卸载。apt-cache showpkg pkgs——显示软件包信息。apt-cache...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

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

社交巨人Facebook使用Linux和Btrfs的姿势

硬件本身存在的问题,例如静默数据损坏。事实上,通过使用Btrfs我们发现了一些较为严重的硬件bug,这对Btrfs来说也是一个利好。 Linux.com:刚才我们聊了Facebook使用Linux的情况,我比较好奇您怎么看待和使用原生内核,毕竟大家都是根据实际生产环境的需求来fork一个内核的分支,鲜有人使用原生版本? Chris Mason:从Linux的角度来看,我们的主要目标是尽可能和原生内核保持一致——我们的目标是至少每年升级一次内核,我们还试图进一步缩短这个更新周期。我们有一个上游优先策略,在使用一个主线更新之前我们要先了解它。如果我们想添加一个特性到Linux内核中,我们首先会把它并到内核的主线更新中。 Linux.com:那为什么还需要fork一个自己的版本? Chris...阅读全文

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

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

Amazon SSE-C规范的密钥,以及通过使用外部密钥管理服务 OpenstackBarbician)类似于Amazon SSE-KMS规范。 RGW具有初步的类似AWS的存储桶策略API支持。现在,策略是一种表达一系列新授权概念的方式。未来,这将成为附加身份验证功能的基础,例如STS和组策略等。 RGW通过使用rados命名空间并了几个元数据索引池。 新增S3对象标记API; 只支持GET / PUT / DELETE和PUT。 RGW多站点支持在桶级启用或禁用同步。 RBD RBD目前通过新的–data-pool选项来创建rbd,对EC池具有完整稳定的支持。 RBD镜像的rbd-mirror后台进程是可用的。我们建议您多部署几个rbd镜像来实现可靠性。 RBD镜像的rbd-mirror守护进程...阅读全文

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

Go 语言的大版本更新:Go 2.0 安排上了

任何类型的向后兼容的“增量”语言特性变更,因为他们认为无论变更多么小,都要有更全面的支持计划,并将 Go 2 考虑在内。 对于这些累积下来的提案,官方表示现在是时候采取行动了! 近况 本文发布时,官方表示目前在 Go 2 的提案中,大约有 120 个尚未解决且被标记为提案的 issue。这些提案都涉及到重要的库或语言特性变更,而它们通常不能与 Go 1 互相兼容。Ian Lance Taylor 和 Robert Griesemer 一直在研究这些提案,并对它们进行了分类(Go2Cleanup, NeedsDecision 等),以理解这些提案背后的含义并使它们后续更易进行。此外,他们还并了相似的提案,并关闭了那些看似明显超出 Go 范围的提案,或者其他方面无法实现的提案。 早期出现的两个...阅读全文

什么是线程安全,以及并发需要知道的几个概念

的资源一直不释放的话,那么其他阻塞的线程就都不能工作了。 非阻塞则相反,强调的是线程之间并不互相妨碍,所有的线程都会不断尝试向前执行。 死锁、饥饿和活锁这三种情况表示的是多线程间的活跃状态,对于线程来说,以上的情况都是 “非友好” 的状态。 1、死锁一般是指两个或者两个以上的线程互相持有对方所需的资源,并且永远在等待对方释放的一种阻塞状态。例如有两个线程A和B同时共享临界区的资源C,当A占用C时,B处于阻塞状态,然而A的释放需要用到B的资源,这样一来,就变成了A一直在等待B,B也一直在等待A,互相之间永远在等待对方释放的状态。 一般来说,死锁的发生是由于程序的设计不理导致,而且死锁很难解决,最好的方式就是预防。 2、饥饿是指某一个或者多个线程因为种种原因无法获得所需的资源,导致一直无法执行...阅读全文

博文 2018-12-31 20:44:06 debian.cn

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

服务器的信息 这里需要注意的是第二个参数,* 代表当前同步的源,- 代表通过组算法计算后排除的源。 root@hk:~# chronyc sources -v 210 Number of sources = 4 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz...阅读全文

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

Debian 10.8 发布:包括多项安全更新和错误修复

/src:cairo) | 修正图像成器中掩码的使用 [CVE-2020-35492] | | [choose-mirror](https://packages.debian.org/src:choose-mirror) | 更新镜像列表 | | [cjson](https://packages.debian.org/src:cjson) | 修正cJSON_Minify中的无限循环 | | [clevis](https://packages.debian.org/src:clevis) | 修复initramfs创建;clevis-dracut。安装时触发initramfs的创建 | | [cyrus-imapd](https://packages.debian.org/src:cyrus-imapd...阅读全文

博文 2021-02-07 10:57:22 joseph

Linux系统诊断-内存基础

数。从而达到“写资源”理利用的效果。然而,free命令所展示的buffer和cache 有点狭义的意思——free展示的buffer表示 块设备所占用的缓存 、free展示的cache表示普通文件占用的the page cache(缓存页) 。总之,buffer和cache使用的内存都是用来加速Linux读写性能,如果有新的进程需要内存,系统会将buffer和cache占用的内存回收,并重新分配给进程使用。2.4 其他内存概念RSS & VSZ & PSS & USSRSS(Resident Set Size):进程实际使用的物理内存大小,包括sharedMem。VSZ(Virtual Memory Size):进程所有能够访问到的内存大小,包括因为缺页中断,被swap出去的内存大小,以及...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

基于thanos搭建分布式prometheus

sidecar和prometheus则走原生HTTP接口拿数据。 为了高可用,我们可以部署多个prometheus同时抓取。 为了打散采集/存储压力,我们可以部署多个prometheus各自抓取部分数据。 无论出于上述哪种目标或者混目标,最终依靠Querier的正确配置都可以提供统一的Promql查询入口给Grafana,这一点是毋庸置疑的。 这里看到了图中有几个陌生的组件: Store Bucket Compactor Prometheus单机存储空间有限,SideCar和Prometheus在同POD内共享数据volume,然后sidecar可以自动将prometheus磁盘数据上传到Bucket里归档存储;后续Querier可以通过Store组件从Bucket拉取到历史数据,这样就实现了历史数据...阅读全文

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

Java Annotations详解

(@Deprecated修饰)的方法时。 创建你自己的注释 创建自己的注释是有可能的。注释被定义在它们自己的文件中,就像Java中的类或接口一样。下面是一个例子: @interface MyAnnotation { String value(); String name(); int age(); String[] newNames(); } 这个例子定义了一个包含四个元素的叫MyAnnotation的注释。 注意,每个元素的定义都很像接口中的方法定义。你可以使用原始数据类型定义元素的数据类型,你也可以使用数组定义元素的数据类型。但是不能使用复对象(Complex Object定义元素的数据类型。 要使用上面自定义的注释,可以这样做: @MyAnnotation( value="123", name...阅读全文

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

SVN切换分支用法汇总

,以避免出现代码丢失等问题。在切换分支的时候,我们需要确保其他人都知道这个操作,并且保证他们的代码状态是干净的。六、SVN切换分支的优缺点在软件开发中,我们需要经常进行分支管理,因此,SVN的分支管理功能就显得尤为重要了。下面我们来看一下,SVN切换分支的优缺点。1. 优点SVN切换分支的最大优点就是方便快捷。通过SVN我们可以很方便地将工作副本切换到不同的分支,这样可以让我们更加高效地进行代码管理和开发工作。此外,SVN还提供了完善的分支并机制,可以帮助我们更好地保持代码的稳定性。2. 缺点SVN的缺点主要体现在以下几个方面:(1)SVN对源代码有一定的限制;(2)SVN操作过程较为繁琐;(3)SVN的并发处理能力相对较差。七、总结综上所述,SVN切换分支是一项非常重要的基础操作,在软件开...阅读全文

博文 2023-06-09 14:22:35 infras

六大算法之三:动态规划【转载】

]); } } } return dp[m][n]; } public static void main(String[] args) { String str1 = "BDCABA"; String str2 = "ABCBDAB"; int array = MaxTwoArraySameOrderMethod(str1,str2); System.out.println(array); } } 6、背包问题 在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数),求背包能够容纳的最大价值。 像这种固定数值的组问题,比如这个问题的W总容量,跟下个实例零钱问题的总钱数,都是适用动态规划来解决的问题,对于这样的问题,动态规划的解法就...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

Docker 核心原理

映射了 docker 容器的文件层级结构和 OverlayFS 的对应关系。 OverlayFS 是一种堆叠文件系统,它依赖并建立在其它的文件系统之上,不直接参与磁盘空间结构的划分,仅将原来文件系统中不同目录和文件进行 merge。用户看到就是这个 merged 目录。这些被处理的每个目录都被称为层,视图统一的过程则称为联挂载。多个目录进行层叠,肯定具有上下层关系,OverlayFS 将下层的目录称为lowerdir,上层的目录称为upperdir,被暴露的统一视图目录称为 merged。 容器文件系统层级示例 1 2 3 4 5 6 7 8 9 10 11 12 root@lxkaka-server:~# docker inspect a2b1e73dda7f...阅读全文

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

分布式运行时 Dapr 知多少

经渐渐回归业务本身,让更多的开发者看到了一丝曙光。It's enough? 来看下Bilgin Ibryam在Multi-Runtime Microservices Architecture文章中提及的分布式应用的四大需求: 从上图可以看出,除了网络(Networking)外,生命周期(Lifecycle)、状态(State)、捆绑(Binding)也是分布式应用要解决的问题之一。网络问题可以借由Service Mesh 比如Istio予以解决。那其他三个该如何解决呢?又要应用自行开发集成吗?显然不符应用回归业务本身的诉求。这时,Dapr登场了,Dapr提出的分布式应用运行时就是实现了以上四个需求并将其下沉作为分布式应用的运行环境。 简而言之:Dapr将分布式能力进行封装下沉作为运行时以简...阅读全文

Apache Kafka发布 3.0 正式版

重置工具添加“ ”选项通过kafka-streams-application-reset添加新的命令行参数,应用程序重置工具的 Streams 使用变得更加灵活:–internal-topics. 新参数接受逗号分隔的主题名称列表,这些名称对应于可以使用此应用程序工具安排删除的内部主题。将此新参数与现有参数相结,–dry-run允许用户在实际执行删除操作之前确认将删除哪些主题并在必要时指定它们的子集。MirrorMakerKIP-720:弃用 MirrorMaker v1在 3.0 中,不推荐使用 MirrorMaker 的第一个版本。展望未来,新功能的开发和重大改进将集中在 MirrorMaker 2 (MM2) 上。KIP-716:允许使用 MirrorMaker2 配置偏移同步主题的...阅读全文

博文 2021-09-26 14:13:03 joseph

译:零信任对 Kubernetes 意味着什么

是一种强大的安全模型,处于现代安全实践的前沿。如果可以消除围绕它的营销噪音,那么采用零信任有一些深刻而重要的好处。虽然零信任需要对身份等核心理念进行一些根本性的改变,但如果 Kubernetes 用户能够采用服务网格并从纯粹基于边界的网络安全转变为“对每个用户、设备、应用程序和交易的持续验证”,那么他们至少有很大的优势。关于作者William MorganWilliam Morgan是 Buoyant 的联创始人兼首席执行官,Linkerd 的创建者。在加入 Buoyant 之前,他是 Twitter 的一名基础架构工程师,在那里他帮助将 Twitter 从单体架构转变为微服务。他是 Powerset、Microsoft 和 Adap.tv 的软件工程师,以及 MITRE 的研究科学家。...阅读全文

WebAssembly:无需容器的 Docker (下)

-wasm:wordpress 可以访问 http://localhost:8087 并使用由 PHP Wasm 解释器服务的 WordPress,它由 Apache HTTPD 中的 mod_wasm 加载。直接在浏览器中服务 WordPress访问 https://wordpress.wasmlabs.dev 获得示例。 你将看到一个框架,其中 PHP Wasm 解释器会现场渲染 WordPress。结论感谢阅读本文。 需要消化的内容很多,但我们希望本文有助于理解 WebAssembly 的能力以及它如何与你现有的代码库和工具(包括 Docker)结运行。 期待看到你使用 Wasm 编程!如果你觉得 WasmEdge 不错,不要忘了给我们点个赞!...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

,或者去遍历它的每一个上游生成对应的 Result Partition 信息。 目前通过引入 group 概念,假设已知上下游 2 个任务的连接方式是 all-to-all,那相当于把所有 Pipeline Region 信息或者 Result Partition 信息以 Group 的形式进行组,这样只需知道下游对应的是上游的哪一个 group,就可以把一个 O (n^2) 的复杂度优化到了 O (n)。我们用 wordcount 任务做了一下测试,对比优化前后的性能: 从表格中可以看到构建速度具有大幅度提升,构建 Pipeline Region 的性能从秒级提升至毫秒级别。任务部署我们是从第一个任务开始部署到所有任务开始运行的状态,这边只统计了流,因为批需要上游结束后才能结束调度。从整体...阅读全文

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