InfraPub 为您找到相关结果 352

Kubernetes 1.7 发布,安全强化、StatefulSet 更新及可扩展特性

(canary)和分阶(phased)推出部署(rollout);本地持久卷(Local Persistent Volume)。当前以Alpha版发布,允许用户通过标准的PersistentVolumeClaims/PersistentVolume接口及StatefulSets中的StorageClasses访问本地存储卷;DaemonSets。该特性用于确保给定的Pod对每个节点准确地执行和运行一次,现已添加了rollback和history功能;新提供的StorageOS Volume插件,它可在本地的或附加的节点存储上提供在整个集群范围内高可用的持久卷。 在可扩展性方面,1.7中以Beta版的形式添加了API聚合层,允许用户在他们的集群中添加Kubernetes风格的预先构建的、用户定义的或是第...阅读全文

博文 2017-07-19 12:23:15 debian.cn

Rust 1.37.0 稳定版发布

1.37.0 中,还可以使用 Self : Variable 引用枚举变量: impl Coin { fn value_in_cents(&self) -> u8 { match self { Self::Penny => 1, Self::Nickel => 5, Self::Dime => 10, Self::Quarter => 25, } } } 更确切地说,Rust 现在允许通过“type-relative resolution”来引用枚举变量,>::Variant。 内置 cargo 支持独立依赖关系 cargo vendor 命令集成到 Cargo,该命令获取项目的所有依赖项,将它们解压缩到 vendor/ 目录中,并展示了在构建过程中使用分布式代码所需的配置片...阅读全文

博文 2019-08-17 21:17:23 debian.cn

Facebook 是如何进行大规模代码部署的

过多,以至于无法持续。 这个 CD 系统的关键组件是一种控制方法,即谁将接收变更,以及用于部署和测量的自动化工具。在第一步中,经过一系列自动化测试后,变更就从内部推送到 Facebook 员工。在这一阶发现的任何回归,都会被认为这一进程受阻或者停止。下一步涉及到“ canary deployment ”(金丝雀部署),只推送至生产环境的 2% 。依靠连续的监测来检测问题。如果一切顺利,这些变更将 100% 部署到生产环境中。名为 Flytrap 的工具收集用户报告,并发送任何异常情况的告警。 Facebook 中的 Web 和移动产品遵循两条不同的路径,原生移动变更的部署频率低于 Web 。这两个都由名为 Gatekeeper 的系统控制。除此之外,Gatekeeper 还分离出了部署和发...阅读全文

博文 2017-10-31 14:05:20 debian.cn

使用 tmate 分享你的终端会话

ssh 命令之类的共享信息。 tmate 是怎么工作的? 运行 tmate 时,会通过 libssh 在后台创建一个连接到 tmate.io (由 tmate 开发者维护的后台服务器)的 ssh 连接。 tmate.io 服务器的 ssh 密钥通过 DH 交换进行校验。 客户端通过本地 ssh 密钥进行认证。 连接创建后,本地 tmux 服务器会生成一个 150 位(不可猜测的随机符)会话令牌。 队友能通过用户提供的 SSH 会话 ID 连接到 tmate.io。 使用 tmate 的必备条件 由于 tmate.io 服务器需要通过本地 ssh 密钥来认证客户机,因此其中一个必备条件就是生成 SSH 密钥 key。 记住,每个系统都要有自己的 SSH 密钥。 $ ssh-keygen -t...阅读全文

博文 2017-12-06 10:33:33 debian.cn

如何在 Linux 上安装 Intel 微代码固件

=0x306a9, pf=0x10, revision=0x1c [ 0.952773] microcode: Microcode Update Driver: v2.2. 如何在 Linux 上使用包管理器去安装微码固件更新 对于运行在 x86/amd64 架构的 CPU 上的 Linux 系统,Linux 自带了工具去更改或者部署微码固件。在 Linux 上安装 AMD 或者 Intel 的微码固件的过程如下: 打开终端应用程序 Debian/Ubuntu Linux 用户推输入:sudo apt install intel-microcode CentOS/RHEL Linux 用户输入:sudo yum install microcode_ctl 对于流行的 Linux 发行版,这个包的名一般如...阅读全文

博文 2018-03-07 19:37:47 debian.cn

PostgreSQL 13 正式版发布

-ahead logs)之前将其删除,现在可在 PostgreSQL 13 中进行调整,以指定要保留的 WAL 文件的最大数量, 有助于避免磁盘空间不足错误。 PostgreSQL 13 还增加了更多让管理员可以监控数据库活动的方法,包括从 EXPLAIN 中查看 WAL 使用情况的统计信息、流式基础备份的进度,以及 ANALYZE 命令的进度。此外,可以使用新的 pg_verifybackup 命令验证 pg_basebackup 命令输出的完整性。 应用开发 PostgreSQL 13 对来自不同数据源的 PostgreSQL 数据类型进行了优化。此版本在其 SQL/JSON 路径支持中增加了datetime()函数,它可以将有效的时间格式(如 ISO 8601 符串)转换为...阅读全文

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

开源简史基础:Linux基金会

Linux创始人Linus Torvalds和GKH(Greg Kroah-Hartman)等人拉赞助,让大神能够安心保证Linux的发展。几乎所有人都知道Linus Torvalds,但是GKH,即使你不知道他的名,但是实际上在Linux相关的开发或运维的技术人员会发现他的身影无所不在。是的,GKH主要负责Linux的stable分支的维护,staging/USB driver core/debugfs/kref/kobject/sysfs kernel/TTY layer/linux-hotplug/Userspace I/O/udev等子系统或者项目中都可以看到他的存在。效力于Linux基金会之前,GKH主要在Novell 的 SUSE Labs工作,下图也是这位帅哥在2011年9月拍摄于纽...阅读全文

bmon:一个强大的网络带宽监视和调试工具

(初学者说明:RX 表示每秒接收数据,TX 表示每秒发送数据): $ bmon bmon - Linux 带宽监视按 d 键可以查看更详细的带宽使用情况的图形化统计信息,参考下面的截图。 bmon - Detailed Bandwidth Statistics按 Shift + ? 可以查看快速指南。再次按 Shift + ? 可以退出(指南)界面。 bmon – 快速指南通过 Up 和 Down 箭头键可以查看特定网卡的统计信息。但是,要监视一个特定的网卡,你也可以像下面这样作为命令行参数指定。 选项 -p 指定了要显示的网卡,在下面的例子中,我们会监视网卡 enp1s0: $ bmon -p enp1s0 bmon – 监控以太网带宽要查看每秒位数而不是每秒节数,可以像下面这样使用 -b...阅读全文

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

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架构师的晋级心得

师之前,应当先成为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

深入理解Golang之context

消,将返回nil。Err 如果Done返回的channel没有关闭,将返回nil;如果Done返回的channel已经关闭,将返回非空的值表示任务结束的原因。如果是context被取消,Err将返回Canceled;如果是context超时,Err将返回DeadlineExceeded。Value 返回context存储的键值对中当前key对应的值,如果没有对应的key,则返回nil。可以看到Done方法返回的channel正是用来传递结束信号以抢占并中断当前任务;Deadline方法指示一时间后当前goroutine是否会被取消;以及一个Err方法,来解释goroutine被取消的原因;而Value则用于获取特定于当前任务树的额外信息。而context所包含的额外信息键值对是如何存储的呢...阅读全文

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

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

、kde4到现在的kde5,一直在折腾。 2008年申请过两次Ubuntu的光盘 收到的或刻录的部分光盘 最大的困难肯定是英语了,到现在也只是能看一些简单的技术文章,大的英文一看就头大,肯定影响深入学习。对新手的建议:英语很重要! 3.您会使用Linux来做与地理或者教学有关的事吗? 答:现在日常使用的就是Linux桌面环境,自然教学工作也是用它。比如多媒体教学,用Linux基本没问题,学生都知道我的操作系统挺特别的。必须要windows系统的场景,一般用虚拟机也就够了。 4.曾经有没有考虑过从事计算机相关行业? 答:现在也算半个程序员吧,写过业余水平的php,也在帮人维护服务器。毕竟不是专业的,许多问题都是知其然而不知其所以然,因此业余时间主要是混QQ群,帮助别人,也提高自己。要说去从事计算机相...阅读全文

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

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

不要光想着价格 QLC 与 TLC 闪存有什么不同

TLC闪存旗鼓相当。 注:每Cell单元存储数据越多,单位面积容量就越高,但同时导致不同电压状态越多,越难控制,导致颗粒稳定性越差,寿命低,利弊都有。 不得不承认,TLC闪存的出现大大提升了SSD的容量,并在一定程度上降低了SSD的价格。不过,依旧没解决SSD价格的难题,大容量SSD仍旧贵。小容量SSD+大容量HDD的存储方案,终究没有单纯大容量SSD来得好。 当QLC 闪存的诞生,也许既廉价又拥有超大容量的SSD,从理想变为现实。 QLC与TLC之间的区别: 1、寿命 前时间,东芝称其QLC NAND拥有多达1000次左右的P/E编程擦写循环,打破100-150次魔咒,可以与TLC闪存颗粒寿命想媲美。如果真的达到这个标准,那么QLC SSD就能够“理直气壮”进入市场了。 1000次寿命,对于...阅读全文

博文 2017-08-01 09:52:54 debian.cn

Debian 10 Buster 正式版即将发布

8.0。现在在 Debian Buster 里我们已经升级为 OpenJDK 11.0,并且会有一个团队维护新的版本。 AppArmor 默认启用 在 Debian Buster 中是默认启用 AppArmor 的。这是一个好事,谨慎是系统管理员必须采取的正确策略。这仅仅是第一步,并且可能需要修复很多对用户觉得有用的脚本。 Nodejs 10.15.2 在很长一时间里 Debian 在仓库中都只有 Nodejs 4.8。在这个周期里 Debian 已经移到 Nodejs 10.15.2。事实上,Debian Buster 有很多 javascript 库例如 yarnpkg(一个 nmp 的替代品)等等。 NFtables 替代了 iptables Debian Buster 提供了...阅读全文

博文 2019-04-29 11:04:15 debian.cn

玩转 AWS 的必备工具

/free/? sc_channel=seo&sc_campaign=acquisition_CN&sc_medium=backlink&sc_content=developer 一般我们在AWS上建立了一个集群服务器,则很有可能我们要对这种这一群集的全部服务器虚拟机统一的实际操作,例如安裝一个程序包,运行某一服务项目,布署某一文档这些。倘若大家假如仅有一台网络服务器,那全部流程非常简单,立即根据ssh登陆到网络服务器,并手动式实行一系列的指令就可以。但要是使用的另一半是成千上万的网站服务器的情况下,大家就必须一个能完成群集实际操作(collectiveoperation)的专用工具了。现阶这种的专用工具许多,包含Ansible,Chef,Fabric,Puppet,Saltstack,文中...阅读全文

Kubernetes 1.7:安全加固、有状态应用更新等

谢庞大的开放社区让这次发布成为可能。仅仅在三年时间内就完成了超过5万次提交,这还只是 Kubernetes 主要仓库的数量。 其他对于 Kubernetes 贡献到相关的仓库的扩展,提升了项目整体的稳定性。是速度让 Kubernetes 成为史上发展最快的开源项目之一。 世界的每一个角落都能发现 Kubernetes 的采用案例。从社区收集到的近期案例有: GolfNow,一个 NBC Sports Group 成员,在把应用迁移到 Kubernetes 后,获得了更好的资源利用率,基础设施的开销砍掉一半。 Bitmovin,一个视频基础设施解决方案提供商,向我们展示了他们在云环境和就地部署环境中如何实施多阶金丝雀部署。 Ocado,世界最大的在线超市,使用 Kubernetes 为他们的...阅读全文

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

玩转 AWS 的必备工具

/? sc_channel=seo&sc_campaign=acquisition_CN&sc_medium=backlink&sc_content=developer 一般我们在AWS上建立了一个集群服务器,则很有可能我们要对这种这一群集的全部服务器虚拟机统一的实际操作,例如安裝一个程序包,运行某一服务项目,布署某一文档这些。倘若大家假如仅有一台网络服务器,那全部流程非常简单,立即根据ssh登陆到网络服务器,并手动式实行一系列的指令就可以。但要是使用的另一半是成千上万的网站服务器的情况下,大家就必须一个能完成群集实际操作(collectiveoperation)的专用工具了。现阶这种的专用工具许多,包含Ansible,Chef,Fabric,Puppet,Saltstack,文中主要详细介绍Ansible和...阅读全文

Apollo 分布式配置中心详解

。 版本发布管理 所有的配置发布都有版本概念,从而可以方便地支持配置的回滚。 灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一时间没问题后再推给所有应用实例。 权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题。 客户端配置信息监控 可以在界面上方便地看到配置在被哪些实例使用。 部署简单 配置中心作为基础服务,可用性要求非常高,这就要求 Apollo 对外部依赖尽可能地少,目前唯一的外部依赖是 MySQL,所以部署简单,只要安装好 Java 和 MySQL 就可以让 Apollo 跑起来。 Apollo 配置中心适用范围 既然 Apollo 定位...阅读全文

博文 2020-04-12 12:16:26 debian.cn

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

kubelet_server_expiration_renew_errors kubelet_certificate_manager_client_ttl_seconds kubelet_certificate_manager_server_ttl_seconds 监控效果 对应的 Prometheus 告警规则如下: 方案三: 使用 enix 的 x509-certificate-exporter 监控手 该 Exporter 是通过监控集群所有node的指定目录或 path 下的证书文件以及 kubeconfig 文件来获取证书信息. 如果是使用 kubeadm 搭建的 Kubernetes 集群, 则可以监控如下包含证书的文件和 kubeconfig: watchFiles: - /var/lib/kubelet/pki/kubelet-client...阅读全文

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

2017 年会是 Serverless 爆发之年吗

Serverless 框架之一。该服务最迟支持 Node.js,现在也支持 Java 和 Python。它与 Alexa Skills Kit(软件开发工具包)紧密集成,亚马逊提供交互式控制台和命令行工具,以便上传和管理代码片。 Google Cloud Functions Google 是为服务架构的最前沿公司,除了推动 Kubernetes,Google 还投资了 Cloud Functions,该架构可以在其公共云基础设施上运行。 Iron.io Iron.io 最初是为企业级应用提供微服务。Iron.io 是用 Go 语言编写的,用于处理高并发、高性能计算服务,并已经集成 Docker 服务,提供一种完整的微服务平台。 IBM OpenWhisk 2016 年 2 月的 InterConnect 大...阅读全文

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

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

阻止器 这款应用程序对我来说不可或缺。我的密码很长,每当我离开Ubuntu电脑一时间,Ubuntu锁屏就会锁住屏幕。 但有时正当我起劲地在BuzzFeed上读一篇长文或者观看YouTube视频时,它也会锁住屏幕。这种情况下,我不想锁屏来干扰我,此时可以使用caffeine。 Caffeine提供了一种快速抑制(阻止)屏幕保护程序或锁屏的方法。只要你在需要它时启用它,不需要它时禁用它! 7. KdenLive视频编辑器 你需要在上传到YouTube之前修饰一个视频片?想为长长的视频播客增添漂亮的转场和炫酷的效果?那么,你应该使用Kdenlive。 Kdenlive是一款非线性视频编辑器,它很出色:用起来不仅很容易,还很可靠(其他Linux视频编辑器容易崩溃)。 替代方案:Flowblade...阅读全文

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

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

1.新的问题influxdb目前支持内存型索引inmem及文件型索引tsi1。之前追踪篇将influxd索引修改为tsi1之后,经过一时间的运行,从监控观察到,由于调用方采用异步队列+批处理的方案将数据写入influxdb,会在某些时刻调用方内部出现数据堆积,指标如图:横坐标: 时间轴,从12-29 00:00 到 12-30 00:00纵坐标: 队列中数据堆积长度,坐标最大值250k,即最大25w个数据堆积从上图可以看到,当天监控出现数次堆积,上午7:00-10:00尤为严重。在堆积时,登录influxdb服务器,查看机器状态如下:top - 09:40:58 up 120 days, 19:18, 1 user, load average: 32.29, 32.32, 29.82...阅读全文

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

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

复制。有三个Prometheus配置文件。它们具有外部标签,在执行远程写入时将标签添加到所有指标。Prometheus1和Prometheus3容器写入Cortex1,而Prometheus2容器写入Cortex2。我们将在Cortex3上运行查询。以下代码片显示了三个Prometheus实例的配置差异。# Prometheus one global: # ... external_labels: cluster: two # ... remote_write: - url: http://cortex2:9009/api/prom/push # Prometheus two global: # ... external_labels: cluster: two...阅读全文

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

如何在 Debian 上添加和删除用户

提供了一个更熟悉的文编辑体验。使用箭头键移动光标,并搜索如下所示的线: / etc / sudoers root ALL=(ALL:ALL) ALL 在这行下面,复制你在这里看到的格式,只改变单词“root”来引用你想给sudo权限的新用户: / etc / sudoers root ALL=(ALL:ALL) ALL sammy ALL=(ALL:ALL) ALL 你应该为每个应该给予完全sudo权限的用户添加一个这样的新行。当你完成,你可以保存并通过点击关闭文件CTRL-X其次是Y ,然后ENTER确认。 如何删除用户 如果您不再需要用户,最好删除旧帐户。 您可以删除用户本身,而不删除任何他们的文件,通过键入作为根用户: deluser sammy 如果您以具有sudo权限的其他非...阅读全文

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

Tmux 快速教程:快捷键和配置

示当前的时间 ctrl + z 挂起当前会话 窗口操作 c 创建新窗口 & 关闭当前窗口 [0-9] 数键切换到指定窗口 p 切换至上一窗口 n 切换至下一窗口 l 前后窗口间互相切换 w 通过窗口列表切换窗口 , 重命名当前窗口,便于识别 . 修改当前窗口编号,相当于重新排序 f 在所有窗口中查找关键词,便于窗口多了切换 面板操作 " 将当前面板上下分屏(我自己改成了 |) % 将当前面板左右分屏(我自己改成了 -) x 关闭当前分屏 ! 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板 ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小 alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小 q 显示面板编号 o 选择当前窗口中下一个面板 方向键 移动光标选择...阅读全文

博文 2017-11-07 15:17:49 debian.cn

本田 40GB 数据险遭泄漏 因云端数据库未设密

田全球各地员工机器、网络相关的数据,而这些数据清楚表明了本田内部在使用哪家端点安全供应商,哪些设备在使用最新的安全防护软件,哪些设备依旧在运行旧版操作系统。 此外,这些数据包含了清楚的标记,可以非常容易地识别出 CEO、CFO 以及 CSO 等级别对应的电脑,本田 CEO 的完整电子邮件、全名、MAC 位置、Windows 操作系统版本、IP 及设备类型均可查到,甚至一些符提供的信息与本田在日本的办事处位置相对应。 在研究人员提交该漏洞后,本田方面迅速封闭了该漏洞,并回复称:“非常感谢您指出漏洞。您发现的安全问题可能允许外部各方访问本田的一些基于云的数据,这些数据包括与员工及其计算机相关的信息。我们调查了系统的访问日志,发现没有任何第三方下载数据的迹象。目前,没有证据表明数据泄露,不包括您...阅读全文

nsenter 及 Linux命名空间 简介

nsenter 是一个可以在指定进程的命令空间下,运行程序的命令,它位于 util-linux 包中。 nsenter 用途 nsenter 的一个典型用途是进入容器的网络名空间,进行网络相关的排障。大多数容器,为了保持轻量,没有包含较为基础的命令,比如说 ip,ping,telnet,ss,tcpdump等,这就给容器内的网络调试带来困扰。这时就可以使用 nsenter 命令仅进入到容器的网络命名空间,使用宿主机的相关命令调试容器网络。 此外,nsenter也可以进入 mnt, uts, ipc, pid, user 命令空间,以及指定根目录和工作目录。 nsenter 使用 首先看下nsenter命令的语法: nsenter [options] [program [arguments...阅读全文

博文 2020-12-15 11:22:44 debian.cn

改善 Debian Linux 软件包管理的七款工具

,Aptitude也很有用。实用的功能特性包括why命令和why-not命令,前者显示依赖某软件包的其他软件包,后者显示什么软件包与某个指定软件包冲突。此外,Resolver菜单列出了可能解决破损软件包的方法,从破坏性最小的那种方法开始。 6. apt-cache apt-cache搜索已安装软件包数据库,寻找信息。它能显示关于单个软件包、依赖项和冲突等方面的信息,以及其他众多信息。 一个特别有用的命令是apt-cache search,它可搜索数据库中的文本符串。使用这个命令,你就能找到软件包的具体名称,那样可以安装它,还可以找到想要安装的相关软件包。在Debian中,它必不可少,所以默认情况下已安装。 5. dpkg-reconfigure dpkg-reconfigure可改变安装软件包的方法。比如...阅读全文

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

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

。事实上,Linux出色的可靠性与灵活性使它成为关键性基础设施内不可或缺的核心要素。 那么究竟是什么神奇的力量让Linux这样一位“私生子”变成世界的主宰?根据VAR Guy网站的总结,Linux成功的原因包括分布式开发方法、务实的意识形态、切实可行的内核设计以及庞大且活跃的Linux社区。 2. Fedora 25成为首款默认使用Wayland的Linux发行版 Fedora 25将Wyland作为它兼容机上的默认显示协议。为什么选择Wayland?Fedora开发者Matthias Clasen表示它能够实现客户端间彼此隔离、更适合现代显示系统(不包含不必要的核心体或核心渲染等‘累赘’)且能够实现原有X系统无法实现的多种功能(例如输入转换以及在合并桌面与全屏客户端之间进行顺畅过渡...阅读全文

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

Debian 成为主流 Linux 操作系统的七个原因

求包容方面所做的工作与其技术素养一样出名。 主流发行版 一些人可能反对Debian,因为发布速度很慢,连最新的软件包也常常不太先进。然而,如果你在安装一台服务器,关注的方面主要是稳定性,这种劣势反而是一种优势。此外,除非你坚持始终拥有最新的版本,否则大多数主要的免费软件足够成熟,必不可少的新功能特性现在已很少见。你常常可以等上几个月,如果你在虚拟机中运行其他发行版以满足好奇心,更是如此。 还是让数为它说话吧!如今,三分之二的活跃Linux发行版基于Debian;这几年来,Distrowatch网站上页面浏览量四大发行版中三个是Debian及其最受欢迎的衍生版:Linux Mint和Ubuntu。从许多方面来看,Debian已成为其他上游来源的上游来源。 Debian也许是历史最悠久的发行版...阅读全文

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

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

CPU,由于它是单线程作业所以很容易跑满一个逻辑CPU,可以使用redis代理或者是分布式方案来提升redis的CPU使用率。 3.存储的Key一定要设置超时时间 如果应用将Redis定位为缓存Cache使用,对于存放的Key一定要设置超时时间!因为若不设置,这些Key会一直占用内存不释放,造成极大的浪费,而且随着时间的推移会导致内存占用越来越大,直到达到服务器内存上限!另外Key的超时长短要根据业务综合评估,而不是越长越好! 4.对于必须要存储的大文本数据一定要压缩后存储 对于大文本【+超过500节】写入到Redis时,一定要压缩后存储!大文本数据存入Redis,除了带来极大的内存占用外,在访问量高时,很容易就会将网卡流量占满,进而造成整个服务器上的所有服务不可用,并引发雪崩效应,造成各个系...阅读全文

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

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

:Leader选举日志复制安全性其中Leader选举和日志复制是Raft协议当中最为重要的。Raft协议要求系统当中,任意一个时刻,只有一个leader,正常工作期间,只有Leader和Follower角色,并且Raft协议采用了类似网络租期的方式来进行管理维护整个集群,Raft协议将时间分为一个个的时间(term),也叫作任期,每一个任期都会选举一个Leader来管理维护整个集群,如果这个时间的Leader宕机,那么这一个任期结束,继续重新选举leader。Raft算法将时间划分成为任意不同长度的任期(term)。任期用连续的数进行表示。每一个任期的开始都是一次选举(election),一个或多个候选人会试图成为领导人。如果一个候选人赢得了选举,它就会在该任期的剩余时间担任领导人。在某些情况下...阅读全文

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

Sam Altman的成功学|OneFlow

你想明白了该做什么,就不要犹豫,快速行动起来去完成优先事项。毕竟成功人士就没有执行力弱的。 7 努力工作 通过运用自己的聪明才智或者勤奋努力,一个人可以达成工作领域里百分之九十的成就,能做到这一点已经很不错了。但是要想尽量做到完美,达成百分之九十九的成就,那就必须要兼顾聪明与勤奋,因为这一阶你的竞争者往往是两者兼备的人。 有付出才有收获,付出越多收获也就越大。努力工作可能会造成工作与生活失衡,我完全可以理解有的人选择去更好地平衡工作与生活,在工作中不那么拼命。但是拼命工作确实有很多好处,在多数情况下,努力工作会产生叠加效应,越是成功的人就越能成功。 这通常很有趣。生活中最大的乐趣之一就是找到你的目标,并且有所建树,然后你会发现你在这件事上的影响力比你自己本身更重要。一位YC创始人表示:他在...阅读全文

Spinnaker 介绍 – Netflix 的持续交付平台

用 docker,则打包过程就交由 docker build 完成。Deploy:用 Bake 中创建的镜像部署成一台虚拟机。Jenkins: 执行一个 Jenkins 的 job。Manual Judgment : 暂停,等待用户的许可后再继续。Pipeline : 执行另外一个 pipeline。Script :执行任意的脚本。Wait : 等待一时间。 从 pipeline 的定义看,Spinnaker 和 Jenkins 有几分相似,不过两者的设计出发点的不同,stackoverflow上有相关的讨论。总结来看,jenkins 偏向 CI,产出物是软件包;Spinnaker 是 CD,将软件包分发到服务器/虚拟机上,保持软件正常运行,它的目标只是让“部署”的过程更容易更可扩展。有一...阅读全文

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

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

2020 年末推出,是树莓派系列中的第一台独立计算机,包含输入和输出设备。这款 Pi 400 不同于以往发布的裸开发板,其外壳集成了一块键盘,可以与鼠标、电源、电缆、显示器配套使用。 ​▲ 自带键盘和输入输出接口的 Raspberry Pi 400此外,前时间刚刚发布的 Raspberry Pi Pico 也是一种与以往的产品完全不同的树莓派类型,该款产品是一种微控制器板。3. 售价最低的树莓派​▲ Raspberry Pi PicoRaspberry Pi Pico 于 2021 年 1 月发布,是树莓派系列的首款微控制器,同时也标志着其首款定制芯片 RP2040 CPU 的首次亮相。以往的每一款树莓派通常都可以安装 Linux 操作系统成为一台功能齐全的计算机,但售价仅 4 美元的 Pico...阅读全文

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

Linux系统诊断-内存基础

-cachedfree: 未使用的内存 memFree & swapFree in /proc/meminfoshared: tmpfs使用的内存 shmem in /proc/meminfobuffers:被内核缓冲去使用的内存cached: 被页缓存和slabs使用的内存buffers/cache: 表示buffers和cache的总和swap: 交换分区的使用量2.3 buffer和cache会使用内存吗?答案是肯定的,先来了解下buffer和cache。cache(缓存)官方定义是用来弥补高速设备和低速设备之间的访问速度不匹配而预留的一空间,用来加快资源的访问。 简单讲就是读的更快。buffer(缓冲)是为了做资源写入整形,计算机遇到大量的“小规模IO”时,会将其整形为少量的“大规模IO”,降低写入次...阅读全文

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

基于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 鱼儿的博客

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

月)。 而在为期3个月的开发周期中(2019年2月至5月),被选择的提案将会被实现,每位使用者都可以体验新功能并进行反馈(评估流程的第4步)。最后,在短暂的冻结期后(2019年5月1日),Go 开发团队会最终决定是否永久保留新功能(并保证这些功能与 Go 1 兼容),或是放弃这些功能(评估流程的最后一步)。 Go 开发团队表示这是首次采用这一流程,因此在冻结阶将会是反思这个流程,并在必要时进行调整的好机会。我们也不妨拭目以待吧!...阅读全文

Java Annotations详解

三个编译注释,你可以使用它们来给编译器发送指令。这些注释会在稍后再做更详细的介绍。 Java注释可以在编译时(build-time)时使用,当你编译你的工程时。编译过程包括生成源代码,编译资源文件,生成XML文件(如:部署表述文件),以及将编译好的代码或文件打包成一个jar文件等。编译过程通常是由诸如Apache Ant或Apache Maven之类的编译工具自动完成的。编译工具会浏览你代码中的特定注释,并基于这些注释生成源代码或其他文件。 通常情况下,Java注释在代码编译完成后就变得不可见了。但是存在这种可能,你可以定义自己的注释,并使它们在运行时仍然可见。之后可以通过反射机制来访问这些注释来影响你的程序。 注释的基本知识 注释的最简单形式如下: @Entity 符@告诉编译器这是一个...阅读全文

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

WebAssembly:无需容器的 Docker (上)

本文翻译自 Wasm Labs @ VMware OCTO 的 blog: WebAssembly: Docker without container,已获得授权这是 Wasm Labs 在 2022 年 12 月 15 日在冬季 Docker Community All Hands 7 的关于 Docker+WebAssembly 的演讲的文版。作者:Asen Alexandrov,Wasm Labs 工程师文中的我们均指作者或 Wasm Labs。由于文章内容翔实、篇幅较长我们将分成上下两篇分享,上篇将注重在概念阐释,如 Wasm 是什么,Wasm 与 Docker 的关系是什么。下篇文章将更具实践性,将以 PHP 为例带领大家实践 Docker + Wasm。最近,Docker 宣...阅读全文

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

Golang 中的 channel 通道详解

发送和接收操作将导致两个goroutine做一次同步操作。 因为这个原因,无缓存Channels有时候也被称为同步Channels 。当通过一个无缓存Channels发送数据时,接收者收到数据发生在再次唤醒发送者goroutine之前。单向channel当一个channel作为一个函数参数时,它一般总是被专门用于只发送或者只接收。为了表明这种意图并防止被滥用,Go语言的类型系统提供了单方向的channel类型,分别用于只发送或只接收的channel。类型 chan<- int 表示一个只发送int的channel,只能发送不能接收。相反,类型<-chan int 表示一个只接收int的channel,只能接收不能发送。(箭头<-和关键chan的相对位置表明了channel的方向 。)这种限...阅读全文

Apollo 配置中心简单介绍

盖配置修改实时生效(热发布) 用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序版本发布管理 所有的配置发布都有版本概念,从而可以方便地支持配置的回滚灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一时间没问题后再推给所有应用实例权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题客户端配置信息监控 可以在界面上方便地看到配置在被哪些实例使用提供Java和.Net原生客户端 提供了Java和.Net的原生客户端,方便应用集成支持Spring Placeholder, Annotation和Spring...阅读全文

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

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

应用性能监测的可观测性解决思路。​要采集容器、节点运行环境、应用、网络各个维度的数据挑战非常大,云原生社区针对不同需求给出了 cAdvisor、node exporter、kube-state-metics 等多种方式,但仍然无法满足全部需求。维护众多采集器的成本也不容小觑,引发的一个思考是能否有一种对应用无侵入的、支持动态扩展的数据采集方案?目前最好的答案是 eBPF。数据采集(eBPF 超能力)1、eBPF 的超能力​eBPF 相当于在内核中构建了一个执行引擎,通过内核调用将这程序 attach 到某个内核事件上,实现监听内核事件。有了事件我们就能进一步做协议推导,筛选出感兴趣的协议,对事件进一步处理后放到 ringbuffer 或者 eBPF 自带的数据结构 Map 中,供用户态进程...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

序。Ubuntu的标准安装程序被设计成主要为了要求尽量少的用户输入,以便确保安装简单、速度尽可能快。要是你遇到任何问题,可以试试专家模式安装程序,这是Debian安装程序稍稍改头换面的版本。 Debian安装程序显然有其他优先事项。比如说,其图形化版本是GUI,这有别于主要在工具包中的基于文本的安装程序:除了让害怕使用命令行的那些用户感到安心外,没有任何优势可言。 相比之下,Debian之前的声誉是,只要按照在线操作说明,此外每个阶接受默认设置,通常就可以安装Debian。然而,如果你决定亲自选择,可以在安装过程的每一步选择每个设置,这大大增加了安装所需的时间。Debian安装程序并不是迎合没有经验的用户,而是兼顾所有不同水平的用户。它不是很漂亮,但是不用编译自己的程序包,所以你不可能找到...阅读全文

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

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

你搭建起整个文档的框架。 - WHEN: 明确文档的创建、Review和更新日期。因为文档也有时效性,明确相关日期可以避免阅读者踩坑。 - WHERE: 文档应该放在哪! 建议一个组织或者团队有统一的永久文档存放地址,并且有版本控制。最好是方便查找、使用和分享。 - WHY: 为什么要写这篇文档, 你期望读者读完后从文档中获得什么! ### 三式写作 ### 写文章一般都会有三个部分,专业写作者也讲究凤头、猪肚、豹尾,这三个词概括出了好文章三部分应有的特点。技术文档也算是文章的一种,所以一般也都会有这三部分,每个部分有其自己的作用,比如第一部分阐述问题,中间部分介绍具体的解决方案,第三部分总结要点。 但这也并不以为着文档应该有三个部分,如果文档内容比较多,可以将其做更细致的拆解,可以适当增...阅读全文

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

译:Kubernetes 最佳实践

览我之前翻译的Kubernetes 的自动伸缩你用对了吗?;HPA 除了可以基于 CPU 指标伸缩,还可以基于内存,或者自定义指标,可以浏览Kubernetes HPA 基于 Prometheus 自定义指标的可控弹性伸缩。使用资源请求和约束应设置资源请求和约束(可在容器中使用的最小和最大资源量)以避免容器在未分配所需资源的情况下启动,或集群用尽可用资源。在没有限制的情况下,Pod 可以使用比所需更多的资源,从而导致可用资源总量减少,这可能会导致集群上的其他应用程序出现问题。节点可能会崩溃,并且调度程序可能无法正确调度新的 pod。如果没有请求,无法为应用程序分配足够的资源,它可能会在尝试启动或执行异常时失败。资源请求和限制以毫核和兆节为单位定义可用的 CPU 和内存。请注意,如果进程超出...阅读全文

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

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的语言运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?简要来说:运行时是程序运行依赖的执行环境。以.NET 程序运行时CLR为例,它为.NET应用程序提供了一个托管的代码执行环境负责应用程序在整个执行期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

Git 介绍与使用详解

checkout -b branch_name tag_name //将tag拷贝到新分支上修改 建议:在每次发版后当标签,方便后面线上有问题能及时修改 6.储藏(stash) 当修改了代码后发现自己改错分支了。或者,不想将修改的东西提交上去,则可以储藏起来,到合适时候恢复 git stash //会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录,当前的工作目录就干净了。 git stash pop //重新应用缓存的stash,将缓存堆栈中的第一个stash删除,慎用 git stash apply //将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝 git stash list //查看现有stash git stash drop+名...阅读全文

博文 2017-02-25 09:00:27 程序员