InfraPub 为您找到相关结果 152

Rust的模块化系统: 包Packages, 箱Crates, 和模块Modules

(crate)的根节点开始, 箱(crate)的名称, 或crate相对路径, 从当前模块开始, 可以使用self, super// 绝对路径 Absolute path crate::front_of_house::hosting::add_to_waitlist(); // 相对路径 Relative path front_of_house::hosting::add_to_waitlist(); 访问权限所有元素, 函数functions, 方法methods, 结构体structs, 枚举enum, 模块modules, 常量constants, 默认是私有的, 对外公开(public), 需要通过关键字pub明即便是共有的结构体(public structs), 内部的元素(fields...阅读全文

博文 2021-02-20 08:49:51 知乎

不可变基础设施 (immutable infrastructure) - 云原生定义解析

云原生技术的不断发展,2018年,CNCF扩展了云原生技术的定义,以下是云原生技术的新定义:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师们能够轻松地对系统作出频繁和可预测的重大变更。”其中,像容器,微服务等概念早已深入人心,而很多开发人员都对此次提及的“不可变基础设施”这个概念有不少疑惑,下文将对这个概念进行解析。其实不可变基础设施这个概念由来已久,并在不同的场合被很多技术专家已不同的形式提出并讨论过, 例如:“Trash Your Servers and Burn...阅读全文

Netty+Nacos+Disruptor自研企业级API网关

。 TypeScript:TypeScript是JavaScript的超集,它可以增加类型检查、接口明等特性,减少错误和提高可读性。 NestJS:NestJS是一种流行的Node.js框架,它采用面向对象的编程方式,提供了路由、中间件、模块化等丰富的功能。 GraphQL:GraphQL是一款优秀的数据查询和操作语言,它可以帮助我们快速构建API,并减少网络传输的数据量。 功能设计 我们将开发一个电商平台,包含以下主要功能: 用户管理:用户可以注册、登录、修改个人信息等,管理员可以查看用户列表并进行管理。 商品管理:管理员可以添加、修改、删除商品信息,包括商品名称、价格、库存、图片等。 购物车:用户可以将商品加入购物车,并在结算时进行支付。 订单管理:管理员可以查看订单列表、订单详情、订单状态等。 开发流程 下面是全栈开发的开发流...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

三位候选人正进行 2022 Debian 项目负责人选举

2021 年每月(以及之后的双月刊)系列“ Debian 热门话题”(日文)撰写在日本组织一些当地 Debian 活动,尤其是东京。Debian 议程为贡献者和用户提供更好的 Debian “体验”。向用户提供“一些尝试”并听取他们的音,然后在贡献者之间进行讨论。更多的基础设施变化,对 Web、Wiki、BTS、存储库等 Debian 基础架构进行更多更改。知识和技术的更新和转让,与新的贡献者讨论、转移和改进旧的知识体系。此外,Hideki Yamane 还在展示页面中警告“我可能是 DPL 有史以来最差的候选人”:不擅长英语(可以使用 Eng“r”ish ;),所以无法回答一些复杂的问题。没有任何技巧来调解贡献者之间的争吵,只有:保持冷静,保持安全。​...阅读全文

在 Mac OS X 上安装 Nessus 10

学习使用,商业用途请购买许可。 免责明:您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。 参考链接: [1]: https://sysin.org/blog/nessus-unlimited-on-macos/ [2]: https://zhuanlan.zhihu.com/p/431241617 [3]: https://mp.weixin.qq.com/s/U99sFzozv5HAocAWUpqpyA...阅读全文

Go 1.9 的新特性介绍

可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中都存在这个问题,所以go 1.9之前的解决方案是额外绑定一个锁,封装成一个新的struct或者单独使用锁都可以。 群众的呼是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是平均常数时间,可以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当机器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,可能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

树莓派 9 周年:你不知道的树莓派冷知识

实验。尽管 Pis 已经是比较旧的树莓派型号,但最近 Astro Pi 项目组刚刚对它们进行了内存升级,把 32 GB SD 换成了 256 GB 的 microSD 。7.树莓派基金会希望老款的产品也能永远存在尽管 Raspberry Pi B +,Raspberry Pi 2,Raspberry Pi 3 B 和其他一些老款型号的树莓派产品已经发布了很多年,但树莓派基金会仍在继续积极地制造并销售它们。树莓派官方表示不会报废(EOL)产品,因为树莓派低成本的特性,这些老款的树莓派在很多对设备性能要求并不高的工业客户中依然很受欢迎。 树莓派创始人 Upton 在 2019 年接受媒体采访时曾表示:“停产意味着产品的死亡,我们迄今为止仅停产了 5 种产品。”他说,树莓派目前停产的仅有 5...阅读全文

博文 2021-03-11 17:03:55 diablo4

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

库提供商,将那台Redis最近一周的命令全部调用出来,最后发现,在那个时间点运行了一条keys *...*命令。公司的一个工程师执行keys模糊的匹配命令是为了清理没用的键,但是没有考虑到keys *进行模糊匹配引发Redis锁,造成Redis锁住,CPU飙升,引起了所有调用链路的超时并且住,等Redis锁的那几秒结束,所有的请求流量全部请求到RDS数据库中,使数据库产生了雪崩,使数据库宕机。 改进方案 所有线上操作,全部要经过运维通过后方可执行,运维部门逐步快速收回各项权限 新增Redis实例,进行分离 如果有使用类似keys正则命令需求,使用scan命令代替 总结 该事件中出现的两次事故,完全是由于人为操作引起的,如果那位工程师,看过Redis的开发规范,会发现是建议禁用keys命令的...阅读全文

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

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

随着企业的逐步成熟,他们会开发更多工具。在Google,我们持续创建新的外部和内部服务,以及支持这些服务的基础架构。 从2013年起,我们开始放弃之前用来更新和维护服务的简单的自动化工作流。每个服务都要求复杂的更新逻辑,并且还需要适应基础架构的变化,经常性的集群的启动关闭等等。配置多个,互相交互的服务的工作流变得难以维护。 我们需要一种全新的方案来适应业务的增长以及所涉及到的配置的复杂性。为此,我们开发了明式的自动化系统,作为统一的控制层,并且取代了工作流。这个系统包括两个主要的工具:Podspec,描述服务基础架构的工具,和Annealing,更新生产环境来匹配Prodspec输出的工具。本文讨论我们解决过的问题,以及我们所选择的架构。 Prodspec和Annealing有一个根本共...阅读全文

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

域名与商标: 如何防止域名被仲裁

,域名权与商标权、商号权、名称权不可避免地会产生冲突。这类情况相对比较复杂和不确定性,理论上,任何一个域名都有产生权利冲突的可能性。 在权利冲突上,仲裁机构还是会充分尊重域名作为独立知识产权的权利和它的先得原则。也就是说,如果域名的注册时间先于商标、商号或名称的启用时间,或者域名的使用区别于现有商标、商号或名称的经营范围的,域名所有权将不受影响。举个例子,alichat域名,阿里巴巴为何不通过仲裁而是出钱收购,就是因为alichat域名在阿里的Chat业务启动前就已经存在,阿里即使仲裁,也不会被支持。 对于权利冲突类域名,经咨询相关法律专业人士,认为一般有以下争议解决办法: 1、注册在先,即域名的先得原则2、否认明,在域名对应的网站上,明自已域名的使用范围和商品类别,或者明自已的域名与他...阅读全文

博文 2019-01-18 14:59:59 debian.cn

全民HTTPS时代:盘点免费SSL证书那些事儿

去当个活雷锋了。但是,不可避免地,这样的活雷锋是当不了多久的。一般其下场会因为滥用被 SingleHop 给关闭账户。 值得注意的是,如果你申请了这个 SSL 证书,就要有 SSL 证书随时可能被吊销的觉悟。 详情始末的参考网址:https://www.lowendtalk.com/discussion/comment/2306096/#Comment_2306096 在线申请网址:https://en.assl.space/ 尾: 自从 Let’s encrypt 开始提供免费DV SSL后,SSL 证书市场就已经开始洗牌了。 值得一提的是 StarCom 原本是一家以色列的证书商,提供免费和收费的 SSL 证书,后被国内公司 360 收购。曾在 CA 市场也有一席之地,StartCom...阅读全文

Java 12 / JDK 12 正式发布

取“半年发布一次版本”的模式。 可访问 http://openjdk.java.net/projects/jdk/13/ 查看 JDK 13 的相关信息。 讨论 留意到不少开发者对 Raw String Literals 特性情有独钟,该特性类似于 JavaScript ES6 语法中的模板字符串,使用它基本可以告别丑陋的字符串拼接。特性详见 http://openjdk.java.net/jeps/326。 该特性原计划于 JDK 12 发布,可惜最后还是被取消了,详见:http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html 可能是因为业界呼太高,最近委员会又把这个特性拿出来重新讨论了:https...阅读全文

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

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

Cortex-M33 CPU 开始使用。这将使得 Arm 客户能够向基于 Cortex-M 的 IoT CPU 添加自定义指令,以针对特定市场量身定制芯片。 Dirvin 说到:“例如,有些数学算法是重复的。如果我们要使用一块硅存储片来维护它,那么拥有一条指令将会非常好。但这与 Arm 想要的不符。不过现在使用自定义指令后,我们的合作伙伴将能够针对该市场专门对芯片进行优化。” 为此,许多行业从业者和分析家将 Arm 的这些明视为对 RISC-V 日益严峻挑战的回应。由于 RISC-V 具有相当吸引人的优势 —— 高度的自由性、轻量级和可扩展性,它已引起 NVIDIA 和 Qualcomm 等技术巨头的广泛关注。 Dirvin 则强调,即使没有 RISC-V 的兴起,Arm 也会推出其政策变更。“创新...阅读全文

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

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

Twitter确认接受440亿美元收购提议 埃隆·马斯克将完全控制该公司

Twitter公司今天在一份新闻稿中宣布,该公司已经接受了埃隆·马斯克以440亿美元收购该公司的提议。最终结果是马斯克以每股54.20美元的价格收购了该公司,这与他本月早些时候提出的初始报价中的价格相同。 Twitter是最著名的社交媒体平台之一,现在正式成为埃隆-马斯克不断扩张的商业帝国的一部分。 新闻稿明指出: "根据协议条款,在拟议的交易完成后,Twitter股东将为他们拥有的每一股Twitter普通股获得54.20美元的现金。该收购价格比2022年4月1日Twitter的收盘价溢价38%,这也是马斯克先生披露他在Twitter约9%的股份之前的最后一个交易日。" 正如我们在过去几天里广泛报道的那样,这个传奇故事始于4月初,当时马斯克披露了他在Twitter...阅读全文

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

欺负项目成员3 月 8 日,外媒通过电子邮件联系了现任领导人 Jonathan Carter,就他对 Preining 问题的看法进行咨询,但没有收到任何回复。而据报道,目前 2022 Debian 项目负责人选举已开启,三位候选人:Felix Lechner、Hideki Yamane 和 Jonathan Carter 正在竞选。3 月 9 日,发送给 Carter 的邮件被转到 Debian 新闻团队和项目负责人手中 ,新闻团队的一位发言人回应说:“目前我们没有关于 Norbert Preining 的明。”Preining 表示,基本上发生的事情是 DAM 认为他在欺负该项目的成员。DAM 是 Debian 客户经理团队,可以批准和开除项目成员。“我猜他们指的是我与 Martina...阅读全文

Go 1.16 即将发布,这些变更你需要知道

-bindata/go-bindata 这类第三方开源库来实现。 而从 Go1.16 起,通过 go:embed 就可以快速实现这个功能: import _ "embed" //go:embed hello.txt var s string print(s) 通过对变量 s 明 go:embed 指令,使其在编译时读取当前目录下的 hello.txt 文件。 最终变量 s 就会输出 hello.txt 文件中的字符串内容。 新增 io/fs 的支持 新增了标准库 io/fs,正式将文件系统相关的基础接口抽象到了该标准库中。 以前的话大多是在 os 标准库中,这一步抽离更进一步的抽象了文件树的接口。在后续的版本中,大家可以优先考虑使用 io/fs 标准库。 调整切片扩容策略 Go1.16 以前的...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

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

Spring Cloud:Eureka注册中心,Ribbon集成REST实现负载均衡,OpenFeign明式服务调用,Hystrix实现服务限流熔断降级和数据监控,Zuul实现微服网关,Config分布式统一配置中心,分布式链路跟踪,集成Spring Cloud实现统一整合方案虚拟化容器Docker:Docker环境搭建和使用,搭建Docker私有仓库,Docker分布式集群部署,Kubernetes简介 4. 分布式 Java并发编程和网络编程:Java线程状态,线程池,线程通信,线程安全,Netty高性能原理分布式开发框架:分布式系统口调用技术:RPC,Apache分布式系统Zookeeper原理与应用,阿里Dubbo设计思想与应用分布式中间件:分布式服务器治理,分布式消息通信,分布式数据缓存...阅读全文

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

Dubbo 2.7.0发布 分布式RPC服务框架

Dubbo 2.7.0 发布。Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。 据开源中国对 Dubbo 的项目负责人北纬的采访 Dubbo 重启维护一年多,现在还活着吗?,新版本的更新亮点有: Dubbo 2.7.0 添加了社区呼很高的 异步化支持 、以及 注册中心与配置中心分离 这两个特性。与 2.6 及以前的版本相比, 异步化支持 不再局限于基于 Future 接口的异步,也不再仅仅局限于只能在客户端异步。具体来说,Dubbo 2.7.0 版本全面拥抱 JDK8,在客户端开始支持基于 CompletableFuture 的异步编程范式,在服务端支持基于 AsyncContext...阅读全文

博文 2019-01-18 09:43:16 debian.cn

为保护隐私而生 反取证操作系统:Kodachi

Kodachi Linux 是一款基于 Debian 8.6 的操作系统。它是专为保护用户隐私而设计的,因此具有高度的安全及匿名性,并具备反调查取证的特点。 Kodachi 的使用也非常方便简单,你可以通过 USB 驱动来在你的 PC 上启动它。当你完全启动 Kodachi 操作系统后,你将会建立一个 VPN+Tor+DNScry 服务器的运行环境。你不需要特别了解或学习 Linux 的知识,Kodachi 都为你准备好了你所需要的!整个操作系统都活动在你的临时内存 RAM 下。因此,你一旦你关机,任何的操作痕迹都会被清除,避免你的隐私泄露及被追踪调查。 Kodachi 是一个实时的操作系统,你可以从几乎任何计算机上来启动它。例如:从 DVD,U盘 或 SD等。它旨在保护你的隐私及匿名性...阅读全文

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

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

我们将介绍,如何在三个树莓派上,创建出一套 Kubernetes 集群并正常使用。在这种场景下,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时性能会有折扣,想做升级也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量级的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器优化,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上创建 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始创建 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 和电源网线,普通...阅读全文

博文 2020-04-12 16:30:23 debian.cn

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

numa相关信息如下:#lscpu用于查看当前cpu相关信息 > lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 32 #共32个逻辑核数 On-line CPU(s) list: 0-31 Thread(s) per core: 2 #每个核心支持2个物理线程 Core(s) per socket: 8 #每个槽有8个核心 Socket(s): 2 #共2个槽,总共16个核心 NUMA node(s): 2 #共2个numa节点 ... ... L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache...阅读全文

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

六个开源软件开发的潜规则

代码、撰写文档、修正错误。所有的这些不受待见的任务在一个健康的社区中都是必要的。 为什么要在优雅地写代码前做这些呢?这是一种信任,更重要的是,不要只关注自己开发的功能,而是要关注整个社区的动向。 博闻强识,敦善不怠 当你在某个社区中建立起自己的望,那么很有必要全面了解该项目和代码。不要停留于任务状态上,而是要去钻研项目本身,理解那些超出你擅长范围之外的知识。不要只把自己的理解局限于开发者,这样会让你着眼于让你的代码有更大的影响,而不只是你那一亩三分地。 打个比方,你已经完成了一个网络模块的测试版本。你测试了一下,觉得不错。然后你把它开放到社区,想要更多的人测试。结果发现,当它以特定的方式部署时,有可能会破坏安全设置,还可能导致主存储泄露。如果你将代码视为一个整体时问题就可以迎刃而解,而不是...阅读全文

博文 2017-05-20 10:27:11 debian.cn

2016年Linux领域的十条大新闻,你关注了吗?

)。 Fedora 25选择Wayland的作法受到用户的热烈好评。有人将此事件誉为Linux在使用systemd之后最重大的一次变革,且这一转换的无缝化效果又远优于systemd。Wayland支持下的GNOME得到显著改进,容器打开速度更快且桌面的稳定性也得到提升。 3. 微软拥抱Linux 过去几年来,微软公司一改积极打击Linux及开源运动的态度,转而公开向这位曾经不共戴天的敌人示好。而在2016年中,微软更是以一系列举动震惊世人——微软作为白金会员加入Linux基金会。另外,PowerShell与SQL Server 2016如今也开始支持Linux,而Windows 10则支持bash shell。 这些举措在得到群众欢迎的同时,也引发了质疑之。有人认为微软的平台将能够更好地与Linux及开源...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

Debian 和 Ubuntu 是有史以来最具有影响力的两大 Linux 发行版。在大约285个活跃发行版当中,有132个源自Debian (也包括Ubuntu本身),另有67个直接源自Ubuntu。不过在Ubuntu和Debian之间作一个选择并非易事。说到底,选择Ubuntu还是选择Debian用来制定业务战略,取决于你在平台支持、用户控制级别、易用性及另外一些关键问题方面的使用偏好。 如果要求你解释一下 Debian和Ubuntu 之间的区别,大多数会这样回答:Ubuntu是面向新手的发行版,而Debian是面向专家的发行版。这样的描述部分正确,但同时夸大其辞。Debian的誉建立在10多年前的状态;如今,允许每个用户可以选择众多的实际控制特性。 同样,从设计概念来看,Ubuntu...阅读全文

博文 2017-12-22 23:41:07 debian.cn

WebAssembly:无需容器的 Docker (下)

然地,为了让 php-wasmedge-aot 能够读取 index.php 文件,我们必须明确地向 WasmEdge 明我们想要预先打开 images/php/docroot 以便在 Wasm 应用程序的上下文中作为 /docroot 进行访问。这显而易见展示了 Wasm 除了可移植性之外的最大优势之一。 我们得到了更佳的安全性,因为除非明确说明,否则无法访问任何内容。$ wasmedge --dir /docroot:$(pwd)/images/php/docroot \ build-output/php/php-7.4.32/bin/php-wasmedge-aot -f /docroot/index.php

Hello from PHP...阅读全文

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

HTML 5.1 — 14 项新增特性及使用案例

500w, clicks/medium-res.jpg 1000w, clicks/high-res.jpg 1600w" > 在这里, sizes 属性定义了在视窗大于 25 em 时图像宽度为视窗宽度的 100%,或者在小于等于 25em 时为视图宽度的 60%。 picture 元素 picture 元素让你可以针对不同的屏幕尺寸明图片。这个可以通过用 元素封装 ,并且描述多个 子元素来实现。 标记单独使用并不会显示任何东西。你已经被假定会明默认的图像来源作为 src 属性的取值,而可选的图像来源则会放在 scrset 属性之中,如下所示: 阅读全文

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

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

应该是“元宇宙如何融入AI新世界”,而不是“AI如何融入元宇宙”。当然,这仅代表我个人的观点。 Audience Member:AI工具已经可以辅助人类进行创造性工作,AI什么时候会从创作者的辅助工具发展为具有独立创作力的智能体? Sam Altman:作为创作辅助工具,AI既有用也很受欢迎,但目前来看,AI在大部分的创造性任务上的能力都有待提高,未来很长一段时间内都不能代替人类创作者。可能到100年之后,AI才可以独立完成创造性工作。 十年前,大部分人都认为AI取代人类工作的次序是:蓝领工作(车司机等)→低技能的白领工作→高技能的白领工作(程序员等),最后才会(也许永远不会)取代创造性工作。现在的事实证明,AI最有可能先取代的反而是创造性工作。 这也说明,预测未来是很难的,还说明人类可能...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

分布式任务调度平台 XXL

任务,”CommandJobHandler”);业务方只需要提供命令行即可; 6、任务状态优化,仅运行状态”NORMAL” 任务关联至 quartz,降低 quartz 底层数据存储与调度压力; 7、任务状态规范:新增任务默认停止状态,任务更新时保持任务状态不变; 8、IP 获取逻辑优化,优先遍历网来获取可用 IP ; 9、任务新增的 API 服务接口返回任务 ID,方便调用方实用; 10、组件化优化,移除对 spring 的依赖:非 spring 应用选用 “XxlJobExecutor” 、spring 应用选用 “XxlJobSpringExecutor” 作为执行器组件; 11、任务 RollingLog 展示逻辑优化,修复超时任务无法查看的问题; 12、多项 UI 组件升级到最新...阅读全文

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

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

。比如它的线程优先级太低,而高优先级的线程不断抢占它所需的资源,导致低优先级资源无法工作。 3、活锁的情况是线程一种非常有趣的情况,在生活中我们可能会碰到这样的情况,那就是出门的时候可能会遇到有人要进门,你打算让他先进门,他又打算让你先出门,结果,两个人都互相退后了,然后你打算先出门时对方也向前一步,来来回回就一直在门口。当然,这种事情正常人很快就能解决,但如果是线程碰到就没那么幸运了。 如果两个线程占用着公共的资源,并且秉承着 “谦让” 的原则,主动把资源让给他人使用,你让我也让,这样就造成资源在两个线程间不断跳动但线程之间都拿不到资源的情况,这样的情况就是活锁了。 线程安全 线程安全指的是多线程的安全。如果一段程序可以保证被多线程访问后仍能保持正确性,那么程序就是线程安全的。一般来说,线...阅读全文

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

Linux系统诊断-内存基础

swap的方式临时缓解内存不足的问题,但一般不能直接作在线减少swap的操作,很有可能导致进程的crash。具体swap配置方式见5.1swap相关配置。OOM=======1.What is OOM?Out Of Memory Killer 是 Linux 的一种系统保护机制,在系统内存紧张时,kill掉某些进程防止系统死。系统通过打分机制,来实施对进程的杀死操作。默认机制是通过扫描所有进程的内存占用,cpu占用等因素,然后打分  (badness),分数越高,进程被kill的优先级就越高。2.哪些行为会让系统对进程进行打分?进程使用fork(2)调用,创建众多子进程时,会加分(+)进程已经运行了很长时间,或者和使用了大量的CPU时间,会减分(-)进程的nice值如果比较低,会加分(+)进程如...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

的方式希望能够达到更加精细的资源管理和资源的使用率。 五、Table / SQL / Python API 1. Table API / SQL Window Table-Valued Function 支持更多算子与窗口类型 ,可以看如下表格的对比: 从表格中可以看出对于原有的三个窗口类型进行加强,同时新增 Session 窗口类型,目前支持 Aggregate 的操作。 ■ 1.1 支持明式注册 Source/Sink Table API 支持使用明式的方式注册 Source / Sink 功能对齐 SQL DDL; 同时支持 FLIP-27 新的 Source 接口; new Source 替代旧的 connect() 接口。 ■ 1.2 全新代码生成器 解决了大家在生成代码超过...阅读全文

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

Debian Live 项目的剧变

Learmonth 要求为他的包换一个不同的名字的时候,他得到了一个「有趣」的回复: 应该注意到, live-build 不是一个 Debian 项目,它是一个称自己是官方 Debian 项目的外部项目,这是一个需要我们解决的问题。 这不是命名空间的问题,我们要将以目前维护的 live-config 和 live-boot 包为基础,把它们加入到 Debian 的本地项目。如果迫不得已的话,这将会有很多分支,但是我希望它不要发生,这样的话我们就可以把这些包整合到 Debian 中并继续以一种协作的方式去开发。 live-build 已经被 debian-cd 放弃,live-build-ng 将会取代它。至少在一个精简的 Debian 环境中,live-build 会被放弃。我们(开发团队)正在与...阅读全文

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

基于thanos搭建分布式prometheus

: path: /data/thanos-receive-data type: DirectoryOrCreate - name: thanos-receive-config configMap: name: thanos-receive-config 细节大家可以自己慢慢看,我讲一下关键: 用statefulset部署集群,因为这是一个有状态的存储集群,不能随便漂移。 因为是分布式存储集群,要通过POD亲和性避免2个POD跑到1个Node上。 核心配置是明receive集群的地址列表,这里利用headless service可以直接拿到每个POD的dns name,是有规则的。 每个thanos receive实例的启动参数中指定replica标签唯一标识它。 thanos-receive集群的...阅读全文

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

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

一、当 Kubernetes 成为云原生事实标准,可观测性挑战随之而来当前,云原生技术以容器技术为基础,通过标准可扩展的调度、网络、存储、容器运行时接口来提供基础设施。同时,通过标准可扩展的明式资源和控制器来提供运维能力,两层标准化推动了开发与运维关注点分离,各领域进一步提升规模化和专业化,达到成本、效率、稳定性的全面优化。在这样的大技术背景下,越来越多的公司引入了云原生技术来开发、运维业务应用。正因为云原生技术带来了越发纷繁复杂的可能性,业务应用出现了微服务众多、多语言开发、多通信协议的鲜明特征。同时,云原生技术本身将复杂度下移,给可观测性带来了更多挑战:​1、混沌的微服务架构,多语言和多网络协议混杂业务架构因为分工问题,容易出现服务数量多,调用协议和关系非常复杂的现象,导致的常见问题...阅读全文

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

最全的 DevOps 工具集合

Groovy 的领域特定语言,替代 Apache Maven 使用的 XML 格式来明项目配置。 MSBuild Microsoft Build Engine(通常称为 MSBuild)是用来托管代码及原生 C++ 代码的免费开源构建工具集,它之前是.NET Framework 的一部分。Visual Studio 依赖 MSBuild(反之则不然)。 Rake Rake 是一个软件任务管理和自动化构建工具。它允许用户指定任务并描述依赖关系。你也可以对命名空间中的组任务执行这些操作。 JFrog Artifactory JFrog Artifactory 这款工具可用来存储构建过程的二进制输出,以备分发和部署之用。Artifactory 支持许多软件包格式,如 Maven、Debian、npm...阅读全文

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

Web前端知识体系精简

,但Javascript在函数Function对象中建立了原型对象prototype,并以Function对象为主线,从上至下,在内部构建了一条原型链。 简单来说就是建立了变量查找机制,当访问一个对象的属性时,先查找对象本身是否存在,如果不存在就去该对象所在的原型连上去找,直到Object对象为止,如果都没有找到该属性才会返回undefined。 因此我们经常会利用函数的原型机制来实现JS继承。关于函数原型链可参考博客:JS原型对象和原型链 2、函数作用域 函数作用域就是变量在明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。在JS中没有会块级作用域,只有函数作用域,因此JS中还存在着另外一种怪异现象,那就是变量提升。关于作用域的介绍请参考博客:函数的作用域和作用域链 3、函数指针...阅读全文

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

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

DPDK 全称为 Data Plane Development Kit ,是近年来在高速网络通信行业中炙手可热的一种网络报文处理加速框架。DPDK 从十年前诞生直至发展到今天已经可以支持业界主流的高端网以及各类加速硬件设备,同时也支持主流的各个CPU 体系结构(可以运行于 X86, Arm, Power 等平台)。同时也可以运行于 Linux/FreeBsd/Windows 等主流操作系统之上。DPDK因为其优异的性能指标被广泛的应用于网关/负载均衡/SDN/虚拟交换的各个场景。 本文主要介绍 DPDK 中的 libgraph 设计思想以及实现,libgraph 的设计思想源自于开源项目 Vector Packet Processor(VPP)。VPP 中的向量包处理优化方案是...阅读全文

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

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

也是吸引用户的关键因素之一。 开发一个新版本就必定会面临新的编程难题。不过 Murdock 自有他的「秘密武器」: 我倒是无知者无畏,因为不了解自己将会面对什么,于是也就无所畏惧。我只知道我的目标和方向,但我当时完全不知道这一路会有多艰难。除此之外,Debian 的「分散式」定位就是用户可以随时参与开发过程前来帮忙。Debian 是开放式的,因此有些我不精通的地方我可以向公众寻求帮助。比如我有个 2400 波特的调制解调器,但是我这辈子都没用过以太网,所以关于这方面我实在了解不多;但是有人肯定比我精通,可以帮我们忙。 Murdock 指出,Debian 的这个优势其实也同样是 Linux 和其他所有免费软件的最大武器。 这就是为什么 Linux 这样的软件质量会如此之高,因为它并不是单单为...阅读全文

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

21款必不可少的Ubuntu桌面应用程序

. Etcher USB映像刻录器 如果你经常试用新的Linux发行版,就知道拥有一款可靠、易于使用的映像刻录器有多重要――Etcher就是这样一款映像刻录器。 它是一款完全开源的应用程序,由Resin.io的人员开发。简单的界面让你可以轻松完成将ISO或IMG映像文件刻录到USB或SD的过程。 你可以从Etcher官方网站下载这款应用程序的最新Linux版本。 11. Atom文本编辑器 虽然它不是Linux上唯一可选择的文本编辑器(有好多文本编辑器),但是Github的Atom无疑是比较受欢迎的选择之一。 作为一款开源文本编辑器,Atom让你能够定制它的几乎每一项功能,可以手动定制,也可以通过安装其他Atom用户开发的程序包、插件和主题来定制。 你可以从其在Github的项目页面下载最新版本的...阅读全文

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

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

"} prometheus_tsdb_head_samples_appended_total{cluster="one"} Cleanupkubectl delete -f k8s/ helm delete --purge prom-one helm delete --purge grafana ingester pods将在终止阶段。这是设计使然的,因为ingester是半状态的,并且将在终止之前尝试将其数据刷新到其他ingester。这使得升级和回滚成为可能,同时避免了数据丢失。在这种情况下,我们只是尝试一下,而不关心数据,因此我们可以使用以下命令强制将其删除:kubectl delete pod -l name=ingester --grace-period=0 --force 具有数据去重功能的HA Prometheus设置此设置与上一个非常相似。主要区别在于我们正在部...阅读全文

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

三个技巧 大幅减少 Docker 镜像体积

因为如果攻击者利用你的应用程序获得对容器的访问权限将无法像访问 shell 那样造成太多破坏。换句话说,更少的二进制文件意味着更小的体积和更高的安全性,不过这是以痛苦的调试为代价的。 或许你不应在生产环境中 attach 和调试容器,而应该使用日志和监控。 但如果你确实需要调试,又想保持小体积该怎么办? 3. 小体积的 Alpine 基础镜像 你可以使用 Alpine 基础镜像替换 distroless 基础镜像。 Alpine Linux 是: 一个基于 musl libc 和 busybox 的面向安全的轻量级 Linux 发行版。 换句话说,它是一个体积更小也更安全的 Linux 发行版。不过你不应该理所当然地认为他们称的就一定是事实,让我们来看看它的镜像是否更小。 先修改...阅读全文

博文 2018-09-06 10:50:29 debian.cn

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

去管资源问题。这需要我们去提供一个海量的集群去跑客户的应用,这就存在一个问题,多个客户的应用可能跑在一个节点上,考虑 Docker 本身的隔离问题,我们需要类似虚拟化容器的计算方式去做隔离,同时又希望拥有 Docker 本身轻量级快速启动的效率,现在看来,虚拟化容器是比较符合这个需求的。 尾 通过和叶理灯的交谈,梳理了我对云计算、容器技术和 Serverless 等方面的一些认识,作为一个几年来亲自践行云计算发展,并有深入探讨和研究的专家,他的观点和认识或许值得从业云计算行业的技术人员参考。...阅读全文

博文 2019-06-14 08:28:49 debian.cn

Debian 向左:或将迎来根本性改革 - OSCHINA

Debian 的不舍和热爱。 “如果说我在 Debian 的18年有什么遗憾的话,那就是在 Debian 章程最初制定的时候,尽管感觉到了不妥,但我没有发。” 同样地,当初 Michael Stapelberg 离开 Debian 也没有“脱粉回踩”,他只是希望自己的文章能激励 Debian 做出改变,继而改进开发者参与维护的体验。 因此,他在博客中苦口婆心地列举出 Debian 的问题(包括包的上传问题、bug追踪问题、邮件列表归档问题等等),然后再给出自己的解决方案。比如他认为,项目应该努力实现更多的统一;Debian 文化需要从“这个包归我管,你不能碰”转变为共同的所有权意识等等。 1993年9月15日,Debian 0.01版发布至今,Debian 已经经历了近三十个春秋。一个完全没有盈利组...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

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

优势的角度来看,尽管AMD、英特尔已经证明了多芯片架构具有一定的经济性,但实际上,与微缩晶体管相比,芯片万能胶并不是在所有时候都能带来最大的成本优势。清华大学交叉院博士研究生冯寅潇和清华大学交叉院助理教授马恺发表了一篇有关Chiplet成本计算的论文,通过建立Chiplet精算师的成本模型对多芯片集成系统的成本效益进行精准评估。结果发现,现阶段的Chiplets方案只有在800平方毫米的大芯片上才真正有收益,且工艺制程越先进,收益效果越明显。对于5nm芯片系统,当产量达到2千万时,多芯片架构才开始带来回报。戴伟民也表示,不是所有芯片都适合用chiplet的方式,不要为了拆分而拆分,不少情况下单颗集成的系统芯片(SoC), 如基于FD-SOI工艺集成射频无线连接功能的物联网系统芯片,更有价值...阅读全文

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

如何写好技术文档 — 来自十多年的文档经验总结

本文大部分内容翻译总结自《Software Engineering at Google》 第10章节 Documentation。 另外,该书电子版近日已经可以免费下载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以下载翻阅下。 首先明,本问所说的文档不仅限于纯文本文档,还包含代码注释(注释也是一种特殊形式的文档)。 ## 文档的重要性 ## 高质量的文档对于一个组织或团队来说有非常多的益处,比如让代码和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些手工操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入…… 写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错...阅读全文

博文 2021-07-30 16:15:13 joseph

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

-apiserver 的角度来看,它已经验证了我们的身份并且赋予了相应的权限允许我们继续,但对于 Kubernetes 而言,其他组件对于应不应该允许发生的事情还是很有意见的。所以这个请求还需要通过 Admission Controller 所控制的一个 准入控制链 的层层考验,官方标准的 “关” 有近十个之多,而且还能自定义扩展! 虽然授权的重点是回答用户是否有权限,但准入控制器会拦截请求以确保它符合集群的更广泛的期望和规则。它们是资源对象保存到 etcd 之前的最后一个堡垒,封装了一系列额外的检查以确保操作不会产生意外或负面结果。不同于授权和认证只关心请求的用户和操作,准入控制还处理请求的内容,并且仅对创建、更新、删除或连接(如代理)等有效,而对读操作无效。 Note 准入控制器的工作方式与授权者和验证...阅读全文

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

”,那么这些信息也受CCPA的管辖。 (3) 在CCPA的列举部分,针对个人信息的大类,将一些GDPR适用过程中易产生争议的数据类型明确列举进CCPA的管辖范围。如“音频、视觉、热、嗅觉或类似信息”、“包括意图或实际购买商品或服务的记录、消费历史记录或消费趋势”等等。[4] (4) 在CCPA的列举部分,针对个人信息的小类进行了更加细致的列举式说明:例如CCPA对生物信息的内涵做了如下说明:“包括个体的DNA……虹膜、视网膜、……静脉图案成像、录音图像……面部印记、纹、以及包含识别信息的击键模式、节奏、步态模式或节奏”等等。 1.3 小结 针对个人数据或个人信息的界定,与GDPR以抽象概念定义模式相比,CCPA结合抽象定义与不完全列举两种方式,一方面通过抽象定义对个人信息的管辖范围划定边界,另...阅读全文

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

的监控: RPC 调用排障,调用方除了拥有下游接口信息,也可溯源自身触发该调用的接口。 接口高耗时分析,根据指标,可还原出单位时间窗口的耗时分解图快速查看耗时组件。 3.2 关于选型的疑问 你可能会问,链路监控领域在业内有现成的 APM 产品,比如 Zipkin, Pinpoint, SkyWalking 等,为什么当时会选择 OpenTracing + Prometheus 自行埋点?主要有两大因素: 第一,在当时,CAT 无法满足全链路监控和一些定制化的报表分析,而得物交易链路五彩石项目交付也趋于尾,贸然去集成外部一款庞大的 APM 产品在没有充分的验证下,会给服务带来稳定性风险,在极其有限的时间周期内不是个理智的选择。 第二,监控组件是随着统一的基础框架来发布,同时,由另一团队牵头开...阅读全文

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