InfraPub 为您找到相关结果 757

深入理解Golang之context

?其实可以想象一颗树,树的每个点可携带一组键值对,如果当前点上无法找到key所对应的值,就会向上去父点里找,直到根点,具体后面会说到。再来看看context包中的其他关键内容。emptyCtxemptyCtx是一个int类的变量,但实现了context的接口。emptyCtx没有超时时间,不取消,也不存储任何额外信息,所以emptyCtx用来作为context树的根点。// An emptyCtx is never canceled, has no values, and has no deadline. It is not // struct{}, since vars of this type must have distinct addresses. type...阅读全文

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

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

(string(hex)) os.Stdout.Write(data) } 二、错误值(Error values) 大程序必须够以编程方式测试和响应错误,并且还很好地报告它们。 目前的各种流行的助手工具包添加了超出标准错误接口的功,但它们以不兼容的方式执行。对于 Go 2,开发团队考虑将“可选接口”标准化,以允许这些工具包进行互操作,并慢慢减少对它们的需求。 改进主要包含两个目标:一是让程序的错误检查更容易,更不容易出错,以提高程序的错误处理和稳健性;二是希望够以标准格式打印包含额外细的错误。 // Is reports whether err or any of the errors in its chain is equal to target. func Is(err, target...阅读全文

博文 2018-09-01 18:39:47 debian.cn

RabbitMQ 3.8.8 发布:引入维护模式

RabbitMQ 3.8.8 已经发布。RabbitMQ 是一个 Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性、健壮以及可伸缩性出名的 Erlang 编写而成,因此它也继承了这些优点。 此版本最大亮点是引入了一种新的点操作模式,称为维护模式。 当将点放下进行维护并处于维护模式时,该点将无法用于服务客户端流量,并且将尝试尽可实际地转移其职责使其安全。当前,这涉及以下步骤: 挂起所有客户端连接侦听器(不接受新的客户端连接)关闭所有现有的客户端连接:应用程序应重新连接到其它点并恢复所有经典镜像队列的主副本托管在传输目标点上所有仲裁队列的主要副本托管在传输目标点上,并阻止它们参与随后触发的 Raft 选举将点标记为关闭以进行维...阅读全文

博文 2020-09-04 09:46:57 debian.cn

在 Kubernetes 上扩展 TensorFlow 模型

。在机器学习模中,以分布式、可扩展的方式提供服务的力成为保证其应用有效性的关键。 要解决分布式云环境中的这些扩展性问题非常困难。在确保容错、高可用性和应用健康的同时, MLOps 工程师要配置多个点和推理服务之间的交互。 本文中,我将讨论 Kubernetes 和 Kubeflow 如何够满足 TensorFlow 的机器学习模的这些扩展性需求。通过一些实际的例子,我将向你介绍如何在 Kubernetes 上使用 Kubeflow 扩展机器学习模。 首先,我将讨论如何使用 TensorFlow training jobs(TensorFlow 训练作业,TFJobs)抽象,通过 Kubeflow 在 Kubernetes 上协调 TensorFlow 模的分布式训练。然后,我将介...阅读全文

ChaosMesh 的基本功能有哪些

Chaos Mesh 的基本功,包括故障注入、混沌实验场景、可视化操作、安全保障。故障注入​故障注入是混沌实验的核心。Chaos Mesh 充分考虑分布式系统可出现的故障,提供全面、细粒度的故障类,分为基础资源类故障、平台类故障和应用层故障三大类。基础资源类故障:PodChaos:模拟 Pod 故障,例如 Pod 点重启、Pod 持续不可用,以及特定 Pod 中的某些容器故障。NetworkChaos:模拟网络故障,例如网络延迟、网络丢包、包乱序、各类网络分区。DNSChaos:模拟 DNS 故障,例如 DNS 域名解析失败、返回错误 IP 地址。HTTPChaos:模拟 HTTP 通信故障,例如 HTTP 通信延迟。StressChaos:模拟 CPU 抢占或内存抢占场景...阅读全文

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

的差别则在于一系列的函数处理一批数据包。这种方法的主要目的是解决当 pipeline 变复杂时所遇到 i-cache miss 较高的问题。 标量处理模 vs 向量处理模 标量处理模在性上不如向量处理模的另一个原因,就是在不同处理函数(业务逻辑)之间,报文传递到下一个处理函数的方式上有所不同。前者只是简单地用 pointer assignment 的方法来传递,若处理基于不同批次的情况下,由于低效的 pointer assignment,会导致处理一批报文时性低下。 而对于向量包处理模而言,向量包处理模反而可以减少上述标量处理模因批处理而导致性不理想的情况。这是因为在向量模中,报文在业务逻辑之间的传输除了可以通过最原始的 pointer assignment 之外...阅读全文

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

Intel 第 11 代核显型号曝光:13个版本 最多64单元

单元 ,i5、i3 乃至是奔腾、赛扬上会看到它们。 另外还有六种低功耗版本的 Gen11 LP,至少分为 32 单元、48 单元两类 ,还有两个未指明具体单元数量的,应该是面向 U 系列号——Ice Lake 目前只公布了笔记本移动版,桌面版尚未确认。 Lakefiled 方面号都标注为 UHD Graphics,显然是最低端的,又分为 GT0、GT1、GT1P5、GT2 四个版本 ,但均未给出单元数量,估计最多 32 个。...阅读全文

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

、Workload 等各种标签类维度分析。 - 资源分配和使用。 - 包含一个集群健康检查的功,类似集群巡检和健康检查。 ### Overview ![](https://main.qcloudimg.com/raw/5d189e38aab69d433a9a6bda3320e0e2.png) **上述图中数字序号标示处相关说明可参考下文对应说明介绍**: 1. 月度预估可以省的**金额**以及可以省成本的**优化建议数量**。 2. **月度账单和成本效率**: - 月度账单:基于过去7天资源消耗的**预测值**。 - 成本效率:基于过去2天的成本效率。 计算方法:(每种资源利用率 × 各自的价格之和)/ 总价格 3. **月度集群账单**。账单维度包括 Total cost、Compute...阅读全文

聊聊很重要的内核技术eBPF

eBPF 的程序。编写C代码,将LLVM编译成驻留在ELF文件中的eBPF字码。将程序加载到内核中,并创建必要的 eBPF-maps。eBPF 具有用作 socket filter,kprobe 处理器,流量控制调度,流量控制操作,tracepoint 处理,eXpress Data Path(XDP),性监测,cgroup 限制,轻量级tunnel的程序类。将加载的程序attach到系统中。根据不同的程序类attach到不同的内核系统中。程序运行的时候,启动状态并且开始过滤,分析或者捕获信息。 2016年10月的NetDev 1.2大会上,Netronome的Jakub Kicinski和Nic Viljoen发表了标题为“eBPF / XDP硬件卸载到SmartNIC”。 Nic...阅读全文

博文 2020-08-16 11:08:44 debian.cn

基于树莓派并支持触屏的模块化 PC:Zero Terminal 3

硬件黑客 NODE 开发了一款运行在树莓派零(Raspberry Pi Zero)上的模块化手持式 Linux PC,名为 "Zero Terminal 3"。其配有 WaveShare 5.5 英寸全高清触控 AMOLED 显示屏、全尺寸 USB 2.0 接口、micro SD 插座和 1200 mAh 的内置锂电池。 同时,Zero Terminal 3 还支持附加组件,包括键盘、游戏控制器、无线电收发器、网络接口、太阳电池板或电视调谐器等。事实上,这并不是 NODE 开发的第一款手持计算机,不过与旧版本相比,Zero Terminal 3 拥有更大的显示屏和更多的功。 Zero Terminal 3 Linux PC 的规格具体如下: USB 2.0 A 端口微 USB 端口...阅读全文

博文 2020-08-10 11:31:07 debian.cn

Web前端知识体系精简

和undefined是JS中的两个特殊类,object是引用类。 Javascript可以通过typeof来判断基础数据类,但不够准确判断引用类, 因此需要用到另外一个方法,那就是Object的toString,关于数据类及其判断可以参考以下博客:数据类详解 和 判断JS数据类的四种方法 JS常用的内置对象有Date、Array、JSON,RegExp等。 一般来讲,Date和Array用的最频繁,JSON可以对对象和数组进行序列化和反序列化,还有一个作用就是实现对象的深拷贝。 RegExp即正则表达式,是处理字符串的利器。 关于数据类和正则表达式的介绍可以参考博客:ES5对数组增强的9个API 和 JS正则表达式精简 1、函数原链 Javascript虽然没有继承概念...阅读全文

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

开源堡垒机 Jumpserver 1.4.7 发布

开源堡垒机 Jumpserver v1.4.7 已发布 , 修改了配置文件的格式,使用yaml方式配置。本版本主要更新的内容如下: 支持 radius 认证统一生成 coco 的 host key,这样部署多个 coco 也不需要再复制 Host key权限列表增加详细过滤更改配置文件类为 yml 格式修改心跳方式优化任务执行的日志记录方式修复点右击测试连接资产为点下所有资产,而不是直接资产sftp 支持修改 home 目录, 支持不显示隐藏文件修复 luna 隐藏侧边栏的 bugluna 支持直接登录到某个资产 更新说明 Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。Jumpserver 使用...阅读全文

博文 2019-02-02 10:36:34 debian.cn

三星全球首秀3nm工艺 电压只需0.23V

在三星路线图上,14nm、10nm、7nm、3nm都是全新工艺点,其他则是升级改善,包括11/8/6/5/4nm等等。三星将在3nm工艺上第一次应用GAAFET(环绕栅极场效应晶体管)技术,再次实现了晶体管结构的突破,比现在的FinFET立体晶体管又是一大飞跃。GAAFET技术又分为两种类,一是常规GAAFET,使用纳米线(nanowire)作为晶体管的鳍(fin),二是MBCFET(多桥通道场效应晶体管),使用的鳍更厚更宽一些,称之为纳米片(nanosheet)。三星的第一颗3nm SRAM芯片用的就是MBCFET,容量256Gb,面积56平方毫米,最令三星骄傲的就是超低功耗,写入电流只需要区区0.23V,这要感谢MBCFET的多种省电技术。按照三星的说法,3GAE工艺相比于其...阅读全文

博文 2021-03-14 21:41:34 cnBeta.COM

Kubernetes 1.16.0发布 新版本四大主题

Kubernetes v1.16.0 已经发布,该版本由 31 个增强功组成:8 个进入稳定,8 个进入 Beta,15 个进入 Alpha。 四大主题如下: Custom resources:CRD 是对 Kubernetes 的扩展,用以服务于新的资源类,自 1.7 版本以来,CRD 已经在 Beta 版中可用。在 1.16 版本中,CRD 正式步入通用可用性(GA)Admission webhook:Admission webhooks 作为 Kubernetes 扩展机制被广泛使用,并且自 1.9 版本以来已经在 Beta 版中可用。在 1.16 版本中,Admission webhook 也正式步入通用可用性(GA)Overhauled metrics:Kubernetes...阅读全文

博文 2019-09-20 13:28:32 debian.cn

Kubernetes v1.21 新特性预览

Beta 阶段,并默认开启。注意,使用该特性需要 CSI 驱动程序实现对应的接口。TTL 控制器 BetaTTL 控制器用来自动清理已经结束的 Pod,如处于 Complete 或 Failed 状态的 Job。Pod 停止之后的 TTL 可以通过 .spec.ttlSecondsAfterFinished 来设置。注意,该特性要求集群中各点(包括控制点)的时间一致,比如在所有点中运行 NTP 服务。GenericEphemeralVolume Beta通用临时卷(GenericEphemeralVolume)类似于 emptyDir 卷,但它更加灵活:存储可以是本地的,也可以是网络存储。卷可以有固定的大小,Pod 不超量使用。卷可有一些初始数据,这取决于驱动程序和参数。当驱动程序支持...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

Kubernetes 1.14 发布,31 项功能增强

Kubernetes 1.14 发布了,些版本主要关注可扩展性并支持更多工作负载,带来了 30多项功增强,其中包括从 beta 到稳定的 10 项功。亮点包括以下几部分。 持久化本地存储 持久性本地存储的主要用例是数据库和分布式文件系统。这是一个重要里程碑,显然,本地存储的性优于远程磁盘,无论该存储是由云提供商提供的本地 SSD 还是连接到裸机系统的磁盘。 Windows 点的生产级支持 绝大多数企业都拥有包含 Windows 工作负载的异构环境,现在不必寻找其它协调器来管理这些 Windows 容器。Kubernetes v1.14 改进支持了 pod、服务类、工作负载控制器和 metrics/quotas,使得与 Linux 功相当。 PID 限制 目前处在测试阶段...阅读全文

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

在前一篇文章中,我们介绍了 Debian Stretch 环境下,Kubernetes 集群安装的准备工作。本文我们将继续介绍 k8s集群 的安装配置工作。 第4步 - 设置主点 在本中,您将设置主点。 但是,在创建任何Playbooks之前,值得介绍一些概念,例如Pod和Pod网络插件 ,因为您的群集将同时包含这两个概念。 pod是运行一个或多个容器的原子单元。 这些容器共享资源,例如文件卷和网络接口。 Pod是Kubernetes中的基本调度单元:pod中的所有容器都保证在调度pod的同一点上运行。 每个pod都有自己的IP地址,一个点上的pod应该够使用pod的IP访问另一个点上的pod。 单个点上的容器可以通过本地接口轻松进行通信。 然而,pod之间的通信更复杂,并...阅读全文

博文 2019-05-13 22:57:41 debian.cn

译:Kubernetes 最佳实践

束使用 Deployment、DaemonSet、ReplicaSet 或者 StatefulSet 跨点部署 Pod使用多点使用基于角色的访问控制(RBAC)在外部托管Kubernetes集群(使用云服务)升级Kubernetes版本监控集群资源和审计策略日志使用版本控制系统使用基于Git的工作流程(GitOps)缩小容器的大小用标签整理对象(译者注:或理解为资源)使用网络策略使用防火墙使用命名空间K8s 中的命名空间对于组织对象、在集群中创建逻辑分区以及安全方面的考虑至关重要。 默认情况下,K8s 集群中有 3 个命名空间,default、kube-public 和 kube-system。RBAC 可用于控制对特定命名空间的访问,以限制组的访问以控制可发生的任何错误的爆炸半径,例...阅读全文

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

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

展已经有一段时间了,但业内一直各自为政,由于没有统一的接口标准,"胶水"芯片生态难建,大公司止步不前,小公司也不敢迈出第一步。长期以来,摩尔定律的持续演进被视为芯片性提升的主要途径。经历四十多年的发展,构成芯片的晶体管几乎要缩小到原子级别,不仅面临难以突破的物理极限问题,制程升级的投入产出比也大幅下降,业界开始寻找新的办法提升产品性,例如,通过改变封装的方式提升晶体管密度。提出摩尔定律的戈登本人也意识到了封装的重要性,他在论文中写道:"事实证明用较小的功模块构建大系统可会更经济,这些功模块将分别进行封装和互连。"简单来讲,也就是将原先生产好的芯片集成到一个封装中,达到减少产品开发时间和成本的目的,这些芯片模块可以是不同工艺点,最终通过裸片对裸片的方式连接在一起,这一类似于用胶水...阅读全文

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

Redis 命令、特性介绍与性能调优

”user:1000:followers”来说,省了寥寥的存储空间,却引发了可读性和可维护性上的麻烦 最好使用统一的规范来设计Key,比如”object-type:id:attr”,以这一规范设计出的Key可是”user:1000″或”comment:1234:reply-to” Redis允许的最大Key长度是512MB(对Value的长度限制也是512MB) String String是Redis的基础数据类,Redis没有Int、Float、Boolean等数据类的概念,所有的基本类在Redis中都以String体现。 与String相关的常用命令: SET:为一个key设置value,可以配合EX/PX参数指定key的有效期,通过NX/XX参数针对key是否存在的情况进行区别操作...阅读全文

博文 2018-10-27 10:37:55 debian.cn

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

中文原文:https://www.yangcs.net/posts/what-happens-when-k8s/ (杨传盛的博客) 英文原文:https://github.com/jamiehannaford/what-happens-when-k8s 想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可会在终端中输入类似这样的命令: $ kubectl run --image=nginx --replicas=3 然后回车。几秒钟后,你就会看到三个 nginx pod 分布在所有的工作点上。这一切就像变魔术一样,但你并不知道这一切的背后究竟发生了什么事情。 Kubernetes 的神奇之处在于:它可以通过用户友好的 API 来处理跨基础架构的...阅读全文

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

PHP 7.4 有哪些新特性

PHP 7.4 的GA版今天正式发布了。PHP 7.4发布后,PHP 7.3或其它的PHP 7版本都可以升级到PHP 7.4版。 PHP 7.4 的主要特性包括以下几个, 短闭包函数(short closure)预加载提交性属性类限定Improved type variance(不会翻译)三元运算简写数组展开运算新增类的魔术方法:serialization数字分隔符运算优先顺序允许在__toString中抛出异常支持反射引用新增字分割函数移除php短标签弃用左关联运算符不再向后兼容的变更 短闭包函数 短闭包函数可以减少冗余代码: array_map(function (User $user) { return $user->id; }, $users) array_map(fn...阅读全文

博文 2019-11-29 20:45:16 debian.cn

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

以进行故障排除的二进制文件和工具。这就决定了该容器有助于提供安全可靠的运行时环境,但也很难在问题发生时进行调试。 在这种情况下,临时容器发挥作用。它们实现了调试容器附加到主进程的功,然后你可以用于调试任何类的问题。调试容器可以基于任何镜像,因此可以根据您的需求进行定制。您可以构建自己的调试镜像,其中包含特殊的调试二进制文件或仅包含curl,OpenSSL和MongoDB客户端之类的工具。但是,您也可以选择Linux发行版(如Ubuntu)或仅运行Busybox镜像,这两个镜像都已经包含了许多有用的工具。 如何使用临时容器? 临时容器是alpha功,因此默认情况下处于禁用状态。您将需要激活以下功门才使用它们: 临时容器 PodShareProcessNamespace(v1.16中的...阅读全文

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

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

务账户给应用,方便应用够获取一定的权限 initContainers: #初始化镜像执行初始化操作 - name: peer-finder-plugin-install image: nacos/nacos-peer-finder-plugin:1.0 volumeMounts: - mountPath: "/home/nacos/plugins/peer-finder" name: plugindir affinity: #配置Pod反亲和性,放置Pod都起在同一点上(如果都在一个点,点宕机将会使全部实例不可用) podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: #硬策略,pod一定不启在同一个...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

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

的讨论范围。 和工作流集成 使用Prodspec和Annealing的目标是将更多的生产环境管理切换到intent驱动的模上。理论上,可以通过intent的使用管理所有生产环境变更。但是,我们显然并不想把所有生产环境都转化为intent驱动的模。在一些情况下,传统的工作流更有用。 什么时候使用基于intent的actuation,什么时候使用传统工作流,这之间并没有清晰的界限,但是有一些通用的考虑准则: 系统大小:在同时发生很多变更的时候,基于intent的acutation很有用,因为可以以更直观的方式对规则进行编码。对于低并发性的小系统,工作流往往更容易理解。思维模:是否有理由关心确切的详细步骤并希望够对其进行微调,或者只需要保证正确的事情会发生,因为它是基础架构的细?后者要...阅读全文

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

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

点。分区带来了负载均衡和横向扩展的力。发送消息时可以根据分区的数量落在不同的Kafka服务器点上,提升了并发写消息的性,消费消息的时候又和消费者绑定了关系,可以从不同点的不同分区消费消息,提高了读消息的力。另外一个就是分区又引入了副本,冗余的副本保证了Kafka的高可用和高持久性。(五)详细说说消费者组和消费者重平衡?Kafka中的消费者组订阅topic主题的消息,一般来说消费者的数量最好要和所有主题分区的数量保持一致最好(举例子用一个主题,实际上当然是可以订阅多个主题)。当消费者数量小于分区数量的时候,那么必然会有一个消费者消费多个分区的消息。而消费者数量超过分区的数量的时候,那么必然会有消费者没有分区可以消费。所以,消费者组的好处一方面在上面说到过,可以支持多种消息模,另...阅读全文

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

PostgreSQL 13 正式版发布

PostgreSQL 13 已正式发布,新版本对索引和查找系统进行了重大改进,大数据库因此受益甚多,包括省了空间并提高了索引的性,使用聚合或分区的查询的响应时间更快,使用增强的统计信息时更好的查询计划(query planning)等。 除了并行化清理(parallelized vacuuming)和增量排序(incremental sorting)等呼声较高的功外,PostgreSQL 13 还为大大小小的工作负载提供了更好的数据管理体验,并对日常管理进行了优化,为应用开发者提供了更多便利,并增强了安全性。 性提升 在先前 PostgreSQL 版本的基础上,PostgreSQL 13 可以有效地处理 B 树索引(PostgreSQL 的标准索引)中的重复数据,从而降低 B 树...阅读全文

博文 2020-10-04 20:07:23 debian.cn

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

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

9 月 8 日,字跳动正式宣布开源 CloudWeGo。这是一套以 Go 语言为核心、专注于微服务通信与治理的中间件集合,具有高性、可扩展、高可靠的特点。 据介绍,作为项目维护方,字跳动基础架构团队已推进项目以 CloudWeGo 开源库为主进行迭代,未来团队将坚持内外维护一套代码,统一迭代演进,并逐步分享更多内部微服务最佳实践。 项目地址:https://github.com/cloudwego 项目官网:www.cloudwego.io CloudWeGo 第一批开源了四个项目,以 RPC 框架 Kitex 和网络库 Netpoll 为主。 Kitex Kitex 是一个 Golang 微服务 RPC 框架,具有高性、强可扩展的特点。 字跳动使用 Golang 作为主要业务开...阅读全文

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

Prometheus 2.13.0 发布

] Service discovery:为 kubernetes 添加新的点地址类 #5902[ENHANCEMENT] UI:如果查询返回了一些警告,则显示警告 #5964[ENHANCEMENT] Remote write:减少系列缓存的内存使用量 #5849[ENHANCEMENT] Remote read:使用远程读取流传输以减少内存使用量 #5703[ENHANCEMENT] Metrics:添加了将远程最大/最小/所需分片写入队列管理器的指标 #5787[ENHANCEMENT] Promtool:在标签查询期间显示警告 #5924[ENHANCEMENT] Promtool:改进了解析错误规则时的错误消息 #5965[ENHANCEMENT] Promtool:更多提示规则 #5515...阅读全文

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

1. HDFS概述 Hadoop 分布式系统框架中,首要的基础功就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是HDFS(分布式文件系统)以及LocalFileSystem(本地文件系统)了。 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统。 HDFS(Hadoop Distributed File System)是 Hadoop 项目的一个子项目。是 Hadoop 的核心组件之一, Hadoop 非常适于存储大数据 (比如 TB 和 PB),其就是使用 HDFS 作为存...阅读全文

深入学习golang — channel

var ch2 <-chan int //ch2只读 channel是类相关的,也就是一个channel只传递一种类。例如,上面的ch只传递int。 在go语言中,有4种引用类:slice,map,channel,interface。 Slice,map,channel一般都通过make进行初始化: ci := make(chan int) // unbuffered channel of integers cj := make(chan int, 0) // unbuffered channel of integers cs := make(chan *os.File, 100) // buffered channel of pointers to Files 创建channel时...阅读全文

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

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

一、0xcc开篇 2020年3月,得物技术团队在三个月的时间内完成了整个交易体系的重构,交付了五彩石项目,业务系统也进入了微服务时代。系统服务拆分之后,虽然每个服务都会有不同的团队各司其职,但服务之间的依赖也变得复杂,对服务治理等相关的基础建设要求也更高。 对服务进行监控是服务治理、稳定性建设中的一个重要的环,它帮助提早发现问题,预估系统水位,以及对故障进行分析等等。从 2019 年末到现在,得物的应用服务监控系统经历了三大演进阶段,如今,整个得物的应用微服务监控体系已经全面融入云原生可观测性技术 OpenTelemetry。 回顾过去十年间,应用服务监控行业的竞争也很激烈,相关产品如雨后春笋般涌现,如推特在 2012 年开源的 Zipkin,韩国最大的搜索引擎和门户网站 Naver...阅读全文

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

Node.js Vs. PHP:你应该选择哪一个

。 2.托管和部署: PHP 应用程序可以在包括 Nginx 和 Apache 以及 Windows 和 Linux 平台在内的任何服务器上运行,这使得部署过程变得更容易,而 Node.js,则需要具有 SSH 访问权限的虚拟服务器。因此,在没有任何控制台命令和 Secure Shell(SSH)知识的情况下,用 PHP 部署小企业和个人应用会更好。 3.外部依赖: Node.js 依赖关系较少,用几行代码就可以设置一个 Web 服务器。但运行 PHP 应用程序,就需要外部服务器软件。用 Node.js 的开发人员只需要 NPM(点包管理器)就可以下载 Node 模块,这些模块可以轻松地集成到应用程序中,提供额外的功。 4. CPU 扩展任务: Node.js 可在高吞吐量方面表现优异...阅读全文

博文 2017-12-23 23:15:39 debian.cn

最全的 DevOps 工具集合

用于应用程序性监视(APM)的软件分析产品,可提供有关 Web 应用程序性以及最终用户体验满意度的实时和趋势数据。 Prometheus Prometheus 是用于事件监视和警报的免费软件应用程序。它将实时指标记录在一个时间序列数据库中,该数据库使用 HTTP 拉取模构建,支持灵活查询和实时警报。 Prometheus 服务器的工作方式是抓取,也就是调用监视器上配置的各个点的指标端点。它定期收集这些指标并将其存储在本地。点在 Prometheus 服务器抓取的端点上公开这些指标。 Zipkin Zipkin 是一个分布式跟踪系统。它收集用来解决服务架构中延迟问题所需的时序数据。其功包括收集和查找这类数据。 如果日志文件中有跟踪 ID,则你可以直接跳至该跟踪 ID。否则,你可以...阅读全文

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

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

级的记录,按照权重选择,记录的权重越高,被选择的可性越高。 选择的时候,将所有记录的权重值累加,得到一个选择区间[0,sum],每个记录在[0,sum]中占据一段连续的、长度为自身权重值区间。然后生成一个[0,sum]中的随机数,随机数落在的区间所属的记录就是被选择的记录。 注意事项 在使用DNS SRV的时候,要注意DNS Client是否按照预期的方式处理收到的SRV记录。当前DNS SRV只够负责提供服务地址列表,对这个列表如何解读,完全取决于Client的实现。rfc-1035中规定,通过UDP协议传输DNS响应时,UDP报文的负载不超过512字,在添加 SRV 记录的时候,要特别注意。通过TCP传输时没有512字的限制。当一个服务地址有多个相同优先级的SRV记录的时候...阅读全文

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

腾讯在贵州有个山洞:放置腾讯业务最核心数据

-2016),产品化思维逐渐显现,数据中心被看做一个可拆卸、可拼装的微模块,并以它为载体,把配电单元、空调单元、IT单元以及监控单元拼装起来,成为一个小数据中心,成为一个产品。 到了第四代T-block技术,它已经将IT、电力、空调等产品化,结合腾讯数据中心最佳模及建设方法论“诺曼底模”,按照搭积木的方式,实现全数据中心的模块化配置及快速建设,且建设的数据中心耗更低。 这一套技术历时两年研发,经历腾讯数据中心上百次讨论、设计和修改。未来,腾讯将为用户提供更为安全和稳定的数据服务。...阅读全文

博文 2018-04-06 08:44:38 debian.cn

ARM CPU将在2022年放弃对32位应用的支持

行在ARM CPU上的最大平台已经要求应用支持64位。这意味着,ARM可以从其CPU中移除一些支持这些应用所需的额外硅片面积,从而腾出更多的空间,可以实现更高的性或更好的散热效果。值得注意的是,从硬件上看,这一过渡只会影响ARM CPU中的 "大核",因此在可预见的未来,内核在技术上仍将采用32位运算。 这一变化将在2022年出现在ARM的CPU上,但这些CPU很可要到下一年才会出现在消费类设备上,因为该公司的设计需要被高通和联发科等第三方厂商逐步采用。ARM在今年早些时候推出了Cortex-A78 CPU,但我们还没有看到它在消费产品中出现。不过,公司已经承诺其2022年的芯片与今年推出的芯片相比,性将提高30%。...阅读全文

博文 2020-10-08 11:08:42 debian.cn

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

师之前,应当先成为Java工程师。熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm让你写出性更好的代码;池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,但是有严重的性问题,替代方案java字码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题 成为Java架构师,需要掌握哪些技呢? 1.框架源码分析 设计模式:Singleton单例模式,Factory工厂模式,Proxy代理模式,Template模板模式,Prototype原模式等Spring5:Spring提醒结构,IOC注入原理,AOP设...阅读全文

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

Proxmox VE 6.1 正式版发布

双重身份验证有所改进。 高可用的方案也已得到了改进,并新增了"迁移"关闭策略,可以在关闭时将正在运行的服务迁移到另一个点,类似于 AWS 的宿主机故障迁移方式。 存储上,版本 6.1 已支持 Ceph 和 KRBD 在较新内核上支持的所有功。 我们有一些值得注意的错误修复,其中之一是 QEMU 监视器超时问题或 corosync 的稳定性改进。发行说明中列出了无数其他错误修复和较小的改进。详情请参考发行说明。 常见问题: 问题1:我可以用 apt dist-upgrade 把 VE 6.0 升级为 6.1 吗?回答:可以放心使用。可以通过GUI界面,或者命令行把 VE 6.0 升级为最新的 VE 6.1,一般执行以下命令即可 apt update && apt dist-upgrade...阅读全文

博文 2019-12-05 10:16:44 debian.cn

RabbitMQ 高可用实现镜像队列

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

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

Django 面临困境 欲重组核心团队

也将对 django-developers 列表的成员开放。 James Bennett 表示,删除拥有超高权利的“提交者”角色,以“贡献者”和“合并者”取而代之,将有助于让项目对一般人更加开放,并让提交流程更制度化。虽然这个方法不立马解决贡献者不足的问题,但却是更好的解决这个问题的途径。技术委员会权利的提高,可并非最佳解决方案,但却是在必要时打破僵局、避免混乱的手段。技术委员会上面还有中立的管理者 DFS(Django 软件基金会)。 据悉,该提案细仍在不断完善中,James Bennett 仍在收集反馈并根据反馈对提案进行调整,预计在下个月会以合理的形式进行投票表决。James Bennett 最后表示,希望在 2019 年年中,Django 以新提案的模式运作,并有效解决现有...阅读全文

博文 2018-11-23 10:24:21 debian.cn

WebAssembly:无需容器的 Docker (上)

,实现 WASI 和 WebAssembly 应用程序的标准化。🚀 快速 —— 它可以通过大多数运行时的 JIT/AOT 力提供类似原生的速度。 与启动 VM 或启动容器不同的是,它没有冷启动。🔒 安全 —— 默认情况下,Wasm 运行时是沙箱化的,允许安全访问内存。 基于力的模确保 Wasm 应用程序只访问得到明确允许的内容。软件供应链更加安全。💼 可移植 —— 几个主要的 Wasm 运行时支持大多数 CPU(x86、ARM、RISC-V)和大多数操作系统,包括 Linux、Windows、macOS、Android、ESXi,甚至非 Posix 操作系统。🔋 高效 —— 最小的内存占用和最低的 CPU 门槛就运行 Wasm 应用程序。🗣️ 支持多语言 ——40 多种编程...阅读全文

博文 2023-01-03 06:35:56 spider

谷歌开源 Pigweed:用于提升嵌入式开发效率

谷歌于 1 月下旬曾向 USPTO(美国专利及商标局)递交了名为 “Pigweed” 的新商标申请。根据申请内容来看,Pigweed 商标涵盖“计算机操作软件”。当时,人们猜测这是一款新的操作系统商标,但并未有任何相关信息提供。 昨日,谷歌毫无征兆地公布并开源了 Pigweed。与之前的猜想不同,这是一个嵌入式库(或模块)的集合。使用 Pigweed 模块可​​以在 32 位微控制器( 即嵌入单电路芯片中的小计算机 )上实现更快、更可靠的开发。 Pigweed 提供的模块可满足嵌入式开发人员的广泛需求。从整个生命周期来看,Pigweed 从设置,到开发,再到代码提交,都够有效提高嵌入式开发的效率。谷歌以上述开发过程为轴,围绕这几个方面分别介绍了 Pigweed 的一些模块。 嵌入式空间...阅读全文

博文 2020-03-22 08:35:14 debian.cn

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

包括:无法准确清晰了解、掌控全局的系统运行架构;无法回答应用之间的连通性是否正确;多语言、多网络调用协议带来埋点成本呈线性增长,且重复埋点 ROI 低,开发一般将这类需求优先级降低,但可观测数据又不得不采集。2、下沉的基础设施力屏蔽实现细,问题定界越发困难基础设施力继续下沉,开发和运维关注点继续分离,分层后彼此屏蔽了实现细,数据方面不好关联了,出现问题后不迅速地定界问题出现在哪一层。开发同学只关注应用是否正常工作,并不关心底层基础设施细,出现问题后需要运维同学协同排查问题。运维同学在问题排查过程中,需要开发同学提供足够的上下游来推进排查,否则只拿到“某某应用延迟高”这么笼统的表述,这很难有进一步结果。所以,开发同学和运维同学之间需要共同语言来提高沟通效率,Kubernetes 的...阅读全文

博文 2022-03-21 09:11:51 joseph

Stackstorm 入门介绍

一句话概况:stackstorm是一个事件驱动的自动化引擎。StackStorm 是一坨功强大的开源自动化平台,可将通过使用插件封装API的方式,将所有应用程序,服务和工作流程连接起来。这里的所有包括了目前我们常用Gitlab、Zabbix、ELK、AWS 等服务。 Stackstorm 具有很好的可扩展性,灵活性,完美支持 ChatOps 和全操作的API实现。通过Stackstorm 可以将您现有的基础架构和应用程序环境联系在一起,以便您可以更轻松地自动化操作该环境。它特别专注于针对事件采取行动。 便利的故障排除 - 触发由Nagios,Sensu,New Relic和其他监控系统捕获的系统故障,在物理点、OpenStack或Amazon实例和应用程序组件上运行一系列诊断检查,并将...阅读全文

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

Kotlin 使用 React.js 创建现代 Web 应用。 使用 create-react-kotlin-app,可让开发者无需费心于项目设置和配置构建这些工作,专注于快速开始客户端应用开发,同时体会到静态类语言的优势以及由 JavaScript 生态系统带来的强大配套资源。详情点此了解。 未来的发展方向 Kotlin 语言的未来发展方向主要是在 Kotlin 支持的平台之间实现更好、更广泛的代码重用。官方表示计划通过使用同一 API 以扩展全部平台上的可用库资源集合,其中涵盖 I/O、网络、序列化以及日期处理等。 编译器方面,1.3 版本仍集中关注内部层面的变更,而不是外部可见的语言特性。内部的改变提高性、改进类推断、为所有目标平台生成更高效的代码,以及带来更好的 IDE 插件响应力...阅读全文

博文 2017-11-05 19:28:14 debian.cn

Memcache UDP反射放大攻击技术分析

60k 服务器可以被利用,并且这些服务器往往拥有较高的带宽资源。 基于以上特点,作者认为该攻击方式可以被利用来发起大规模的DDoS攻击,某些小攻击团队也可因此获得原先没有的大流量攻击力。 在 DDoSMon 上观察到的现网趋势 自批露以来,我们就一直利用 DDoSMon 的统计页面 持续监控Memcache DRDoS在实际现网中的情况。在过去的几个月中,这种类攻击的频率和单次破坏性都不大,但是自2018-02-24开始,这种情况发生了较大变化。 近期,Memcache DRDoS 的攻击频率上升到了平时的10+倍,从每天小于50件,上升到每天300~400件,直到今天的1484件(实际上,离今天结束还有1个小时),如下图所示。 需要指出,当前 Memcache DRDoS 仍然还不是...阅读全文

博文 2018-03-02 09:20:52 debian.cn