InfraPub 为您找到相关结果 549

Debian 9 Stretch 安装配置 Caddy Server

] ... Environment=CADDYPATH=/etc/ssl/caddy + Environment=CLOUDFLARE_EMAIL=xxx + Environment=CLOUDFLARE_API_KEY=xxx ... 写完配置后输入 sudo systemctl start caddy.service 启动 Caddy。输入 journalctl --boot -u caddy.service 可以查看日志。 启用 QUIC 关于 QUIC 的介绍,可以看一下这篇文章,一句话概况呢就是减少 TLS 握手次数,加快网站速。 修改 /etc/systemd/system/caddy.service ,在 ExecStart=/usr/local/bin/caddy -log stdout -agree...阅读全文

博文 2017-12-24 10:18:33 debian.cn

Angular 6.0 即将发布 承诺更小更快更易用

本月早些时候,Angular 团队发布了 6.0 的第五版候选版本 ,其中包括一些错误修复以及添加令牌标记和支持配置导航网址。 根据 Angular 的开发者支持者 Stephen Fluin 的说法,RC 意味着团队已经在一定程上实现了正式版的稳定性,并且已经完成了添加功能和更改 API。 Fluin 还解释说,该团队有两个发布曲目。 首先,他们向公众发布了新闻稿,其中包括团队对 Angular 所做的每一项变更,并将其合并到主分支中。 第二个是谷歌将所有的 Angular 源代码放在一个存储库中,这意味着 Angular 的每一个变化都已经在谷歌的超过 500 种产品中使用。 6.0 版本的关键功能是将所有版本的框架结合起来,这意味着核心路由器,平台浏览器,CLI,Angular...阅读全文

博文 2018-04-24 09:41:33 debian.cn

Flatpak 1.0正式版发布:Linux 应用沙盒开发里程碑

序创建沙箱并重新启动自己,更多的主安装和更新速,支持将应用程序标记为EOL(生命周期结束) ,以及一个新的权限验证模型。 Flatpak 1.0可以公开主机的TLS(传输层安全)证书到沙箱应用程序,支持最新的OCI捆绑包规范,允许沙箱应用程序请求访问主机的SSH(Secure Shell)代理,以安全访问Git存储库或远程服务器,并允许应用程序访问蓝牙设备。 此外,通过USB闪存驱动器或本地网络安装Flatpak应用程序的P2P安装方法现在默认启用,并且在所有版本中都得到支持。在Flatpak 1.0中实现了一个新的后备X11权限,允许X11访问在X11会话中运行的Flatpaks应用程序。 Flatpak 1.0还引入了一个名为flatpak-spawn的新工具,可用于运行主机命令并从应...阅读全文

博文 2018-08-22 20:26:05 debian.cn

Ceph 基金会正式成立 接受 Linux 基金会的管理

2018年11月12日,北京时间16:00,Linux基金会在德国柏林“Ceph Day”上正式宣布成立“Ceph基金会”来支持Ceph开源项目。Ceph基金会接受Linux基金会的管理,它的成立将为Ceph社区的合作和成长提供一个中立的机构。高级会员和一般会员每年缴纳会员费,准会员是教育机构或政府组织,并被邀请免费加入。 理事会由所有高级成员,普通成员代表,准成员代表和Ceph领导团队(技术治理机构)代表组成。董事会负责: 建立并批准用于支持Ceph项目的年预算 建立特设委员会以满足项目的当前需求 协调外展或营销 定期开会讨论基金会活动,Ceph项目的现状以及整体项目战略 在董事会面前对任何决定或事项进行投票 Ceph基金会董事会不对Ceph的技术治理负责,也没有任何直接控制权。开发和...阅读全文

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

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

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

Facebook 开源的一组 Linux 内核组件与工具

近日,Facebook 开源了一套解决重要计算集群管理问题的 Linux 内核组件和相关工具,这些项目覆盖了资源控制、资源利用、工作负载隔离、负载均衡、测量和监控等方面:BPF、Btrfs、Netconsd、Cgroup2、PSI、Oomd。 Facebook 表示这些项目现在已大规模用于其所有基础设施生产环境中,并用于其它许多企业组织的环境中。 BPF:https://facebookmicrosites.github.io/bpf/ BPF 是 Linux 内核中一种高灵活、高效率的代码执行引擎,可以让字节码在各个 hook 点运行,以使用自定义代码。虽然 BPF 已广泛用于数据包过滤,但是 BPF 的指令集具有很强的通用性和灵活性,足以支持和允许除网络之外的众多使用场合,比如跟踪和...阅读全文

博文 2018-11-24 09:27:14 debian.cn

Harbor项目发布v1.7 2018圆满收官

2018年,Harbor开源镜像仓库项目取得了长足的进步,硕果累累:全年共发布了5个大版本,28 个小版本,社区代码贡献者超过110名,Github 上的星星从年初 3000+ 增至 6400+。全球范围内,将 Harbor 应用于生产系统的用户更是数以千计。 Harbor 开源项目于今年8月捐献给云原生计算基金会(CNCF),成为首个源创于中国的CNCF项目。 不久前,Harbor在中国首届 KubeCon + CloudNativeCon 上,再晋级,成为 CNCF 第19个孵化级(incubating)项目,项目团队还登上大会主场舞台,和用户分享这一激动人心的历史时刻。于此同时,该大会上,Harbor 社区还联合 CNCF 举办了 Harbor 社区线下活动,并为 Harbor 项...阅读全文

博文 2018-12-30 09:35:15 debian.cn

NVDIMM-P非易失内存标准公布:断电不丢数据、兼容DDR4

我们知道,传统的DDR DIMM内存是易失性的,也就是必须维持通电才能保持数据,一旦断电就都没了。 Intel创造了Optane傲腾持久内存,做到了非易失性,也兼容DDR DIMM,但仅用于数据中心,和普通用户无关。 现在,JEDEC固态技术标准协会发布了DDR4 NVDIMM-P非易失内存标准规范,序列编号JESD304-4.01,也可以在断电后不丢失数据,而且完全兼容DDR4内存标准。 根据规范,这种新内存兼容普通的DIMM内存标准、固件,可以最大程减少对于现有设备、平台的更改,同时为新内存提供了低延迟接口,提高了易用性,未来也会兼容支持DDR5。 NVDIMM-P的新功能: - 持久性:操作系统能够低延迟、高带宽访问非易失内存。 - 虚拟化的内存:在DDR通道启用尽可能多的内存容量...阅读全文

2022年云原生服务网格展露的五大趋势

性能问题。四是 无 Sidecar 模式的服务网格可供选择。Istio 推出了 Ambient 部署模式,这是一种新的 Istio 数据平面模式,旨在简化操作、扩大应用兼容性并降低基础设施成本。用户可以选择将 Ambient Mesh 集成到其基础设施的网格数据平面,放弃 sidecar 代理,同时保持 Istio 的零信任安全、遥测和流量管理等核心功能。五是 WebAssembly 崛起。WebAssembly 正在发展成为云原生环境中跨平台、多语言的沙箱环境,甚至可以替代容器运行时,在 Kubernetes 中编排调。 WasmEdge、KubeEdge、Istio 等项目可以从控制平面无缝编排 Wasm 工作负载。...阅读全文

Google 关于 Go 2 的讨论

语化的标识符或添加二进制整型字面量”等轻微改变,因为“这些改变很容易实现”。 Cox谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只读值类型,添加某种形式的泛型或其他尚未被建议的重要主题。” 从Google的角来看,Go 2的主要目标是“解决Go在可扩展性方面的重要不足”。Cox提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大量的开发人员在一个较大的代码库上并行协作)。 大部分主题是介绍和解释用于修改Go的五个步骤: 有关此过程的更多详细信息,我们建议您阅读博客文章Toward Go 2。有兴趣为Go 2推荐新功能的用户请参考GitHub上的关于该语言的Wiki。 查看英文原文:Google Discusses Go 2 感谢张卫滨对本文的审校。...阅读全文

博文 2017-07-20 10:03:13 debian.cn

Linux 5.11窗口合并期今天结束 引入大量新特性

成合并.- AMD Energy 驱动中支持 Zen 3 EPYC .- 合并The AMD SB-TSI 传感器驱动,用于AMD新服务器平台上的边带温传感器接口。- 为 Zen 2 或更高版本提供 AND Frequency Invariance 支持 .- The AMD SoC PMC 驱动 已经 mainlined ,帮助移动/嵌入式硬件的电源管理。- 全新的英特尔驱动 Intel IGEN6 driver 用于带内ECC与新的客户端SoC,初步支持 Elkhart Lake / Atom x6000E。- 另一个新的英特尔驱动是 RFIM code for Radio Frequency Interference Mitigation ,在选定的SoC上调整集成电压常规和DDR频...阅读全文

博文 2020-12-28 10:14:35 debian.cn

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

去年7月,Go 语言官博就曾透露 Go 2 开发计划,并表示 Go 2 的目标就是解决 Go 1.x 在规模化方面做的还不够好的地方。随着时间的推进,开发团队已着手准备 2.0 版本的开发工作,并公布了设计草案,供社区讨论和反馈,以促进最终的语言设计。 设计草案包含三个方面,错误处理、错误值和泛型,并针对各个方面进行了详细的概述和改进草案。大致总结如下: 一、错误处理(Error handling) 为扩展至大型代码库,Go 程序必须是轻量级的,不会过重复,且具备稳健性,能够优雅地处理出现的错误。 目前 Go 检查错误的代码太多,但处理这些错误的代码却严重不足。对于 Go 2,开发团队希望错误检查更加轻量级,减少用于错误检查的 Go 程序的文本量。此外,还能更加方便地编写错误处理程序,提...阅读全文

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

Debian 10 Buster 国内常用镜像源

随着 Debian Buster 10.3 的发布,Debian Buster 日趋稳定。如果在生产上使用了 Debian 9 的系统,现在是可以安全的,灰升级到 Debian Buster 做前期验证了。这里我们整理一下国内较知名的镜像站点,共大家在生产环境中使用。 如何更新系统安装源 一般我们修改 /etc/apt/sources.list 文件,将 Debian 的默认源地址改成新的地址即可,比如将 http://deb.debian.org 改成 https://mirrors.163.com,可使用以下这条命令: sed -i 's#http://deb.debian.org#https://mirrors.163.com#g' /etc/apt/sources.list 注意...阅读全文

博文 2020-02-22 21:35:25 debian.cn

Go 泛型的括号选择:[ ] or ( )

( ) 和 [ ] 可供选择。然而缺少修饰的方括号会在数组和 slice 的类型声明中造成歧义,在解析索引表达式时也会引起小程的歧义。因此在设计之初他们决定使用小括号,因为小括号似乎更符合 Go 语言的风格,而且看起来问题最少。 为了使小括号正常工作,并且为了向后兼容,他们表示不得不在类型参数列表中引入type关键字。最后,他们在参数列表、复合字面量和嵌入类型中发现了额外的解析歧义,而这些歧义需要嵌套更多的小括号来解决。不过即便如此,他们还是决定继续使用小括号,因为当时还有更重要的设计问题需要解决。 现在他们决定重新考虑这个最初的决定。如果仅使用方括号声明类型参数,那么声明数组的方式如下所示: type A [N]E 不过这就无法与泛型的声明进行区分: type A[N] E 但如果能接受额外的...阅读全文

博文 2020-07-16 10:38:01 debian.cn

高性能日志采集工具 logpipe 简单介绍

日志文件增长,某些应用会在目标目录下产生多个日志文件甚至现在不能确定将来的日志文件名,架构上要支持多输入多输出流式日志采集传输,为了达成以上需求,我研究了所需技术,评估实现难并不高,就自研了 logpipe。 logpipe 是一个分布式、高可用的用于采集、传输、对接落地的日志工具,采用了插件风格的框架结构设计,支持多输入多输出按需配置组件用于流式日志收集架构,无第三方依赖。 logpipe 的一种用法是能异步实时监控集群里的所有日志目录,一旦有文件新增或追加写,立即采集并传输到大存储上以相同日志文件名合并落地,或者写入 HDFS。异步意味着不影响应用输出日志的性能,实时意味着一有日志立即采集,很多日志采集工具如 flume-ng、logstash 介绍文档通篇不提采集方式是否实时还是周期...阅读全文

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

4月1日,腾讯公司发布了一段短片,跟大家开了个愚人节玩笑。腾讯宣布,筹备近两年的“AI生态鹅厂”已在贵州贵安新区完成项目主体建设,预计于年内投产运行。由于企鹅所需饲养条件较高,目前腾讯将先以贵州平坝灰鹅作为试点,未来或考虑引入天鹅和企鹅。据说还有鹅脸识别、鹅语翻译、觅影治鹅、鹅屎咖啡等技术。 今天腾讯宣布,养鹅是不存在的,但贵州贵安新区的那个山洞却是真正存在的。它叫腾讯贵安七星数据中心,是一个特高等级数据中心。 2017年10月,腾讯贵安七星数据中心工程正式进入项目建设施工阶段,项目主体为五横一竖共六个隧道。工程建成后,整个数据中心的工作、电力等设备将全部置于其中。 腾讯表示,它具有高安全,高隐蔽、高防护的特点,将用来放置腾讯业务最核心的数据,代表着腾讯在数据产业的前瞻战略。 数据中心是...阅读全文

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

提问的智慧(精简版)

用替换一幅图片的色码(color table)成自己选定的色码,我现在知道的唯一方法是编辑每个色码区块(table slot), 但却无法从某绘图程序的颜色选择器取得十六进制的 RGB 值。问题解决后,加个简短的补充说明补充说明不必很长或是很深入。简单的一句 你好,原来是网线出了问题!谢谢大家。 比什么也不说要来的好。事实上,除非结论真的很有技术含量,一句话就够了:说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。对于有深的问题,张贴调试记录的摘要是有帮助的。但请记住,先描述问题的最终状态,说明是什么解决了问题,在此之后才指明踩坑的地方。在即时聊天软件里问问题为了避免重复答疑,你应该在群里询问常见问题。由于部分聊天软件没有话题串的功能(或着实现很差),同时群里还可能有多个同时讨论的...阅读全文

博文 2023-10-07 15:02:42 infras

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

Docker 核心原理

Cgroups 来达到上述目的。 CGroup 全称 Linux Control Group, 是 Linux 内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU、内存、磁盘输入输出等) 一组按照某种标准划分的进程,其表示了某进程组,Cgroups 中的资源控制都是以控制组为单实现,一个进程可以加入到某个控制组。而资源的限制是定义在这个组上,简单点说,cgroup 的呈现就是一个目录带一系列的可配置文件。 理解 cgroups 的几个关键字 cgroup 进程组 进程按照某种标准组织成一个控制组,资源的控制定义在这个组上,新加入的进程就继承该组的配置。比如 docker 启动的容器都加入 docker 这个进程组 subsystem 子系统 cgroups 为每种可以控制的资源定义了一个...阅读全文

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

如何校验 Debian 软件包的 MD5

apt install debsums 现在可以了解如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的读取权限。 此外,来自debsums命令的输出在左边显示了文件置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更换。 如果你不用任何选项来运行,debsums会对照常规的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文

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

漫画赏析:Linux 内核到底长啥样

鹅,它表示着 PID 为 421 的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。在右下角有一只小狗,它是看门狗,这代表对文件系统的监控。 一层(地面层) floor 看完了地基,接下来我们来看地基上面的一层,都有哪些东西。 Process Table 在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅在围着着桌子坐着。这个垫子的区域代表进程表。 左上角有一个小企鹅,站着,仿佛在说些什么这显然是一家长式的人物,不过看起来周围坐的那些小企鹅不是很听话——你看有好多走神、自顾自聊天的——“喂喂,说你呢,哇塞娃(171),转过身来”。它代表着 Linux 内核中的初始化(init)进程,也就是我们常说的 PID 为 1 的进程。桌子上坐的小企鹅都在等待状态中,等待工...阅读全文

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

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 思否

开源社区的运作模式:Debian Vs. Ubuntu

了这个身份后才可以参与Ubuntu社区委员会的选举,也才有机会参与Planet Ubuntu计划(注:这是一个类似于集体博客的计划),此外,还可以获得一个@ubuntu.com邮件别名。 对于开发人员,情况更复杂:Wiki页面列出了不少于5种身份。最初,开发人员分为Ubuntu核心开发人员(UCD)和Ubuntu宇宙大师(MOTU),后者负责universe/multiverse部分的归档,而前者则有main/restricted部分的上传权限。不过,受到Debian维护人员角色的启发以及在归档方面面临的一些具体问题,Ubuntu修改了底层结构,以提供更细粒的包上传控制。(注:Ubuntu主要分为四大组件:Main,Restricted,Universe,以及Multiverse。Main...阅读全文

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

分布式运行时 Dapr 知多少

了答案。 从单机到分布式,是追求更快和更高的性能,但也带来了更多的不确定性。比如,不确定计算机何时异常,不确定磁盘何时损坏,不确定网络通信的延迟,也不确定消息是否被正常消费。这些不确定性构成了分布式应用的挑战,简而言之: 异构的机器与网络:稳定性问题普遍的节点故障:可靠性问题不可靠的网络:一致性问题 面对这些挑战,业界提出了诸多的分布式理论、协议,如CAP定理,BASE理论,一致性协议2PC/3PC/ZAB,来保证系统的正常运行。虽然问题貌似是有了解决方案,但是应用的复杂升高了。应用除了需要实现业务需求,还要兼顾非业务需求,集成诸如服务发现、负载均衡、失效转移、动态扩容、数据分片、调用链路监控等分布式系统的核心功能,对应用有很强的侵入性,这就是以Spring Cloud为代表的微服务框架的...阅读全文

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

本。所以最好的方式,来一个请求就拉一个函数服务一下,这就很节省成本。 这是按需的,但它不是完整的替换,相当于说 IT 领域里面不同的场景其实是使用不同的服务。我们推出这个服务的原因,背后的动力还是成本和效率,在某个场景上用某个解决方案它的成本更低、效率更高,而不是说新的东西会替换老的,因为不同场景需求是不一样的。K8S 接受的用户比 FaaS 的用户更多,因为 K8S 的面更广,它覆盖的场景更多,但是它不是替换的。 记者:目前,国内客户对 Serverless 和 PaaS 的接受和普及程是怎么样的? 叶理灯:我觉得在国内还是处于起步和用户教育阶段。2014 年 Lambda 推出的时候,它的渗透率是 72%,什么原因呢?有 72% 的人用的 Lambda,我们有个 Serverless...阅读全文

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

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

初始化容器,该容器要等到API准备好后才能成功退出。只有在初始化容器成功完成其工作之后,应用程序容器才会启动。 初始化容器不能像应用程序容器那样使用运行状况和就绪探针。原因是它们要成功启动和退出,就像Jobs和CronJobs的行为一样。 同一Pod上的所有容器共享相同的卷和网络。您可以利用此功能在应用程序及其初始化容器之间共享数据。 正如我们刚刚讨论的那样,init容器总是比同一个Pod上的其他应用程序容器先启动。结果,调程序对init容器的资源和限制赋予了更高的优先级。必须仔细考虑这种行为,因为这可能会导致不良后果。例如,如果您有一个初始化容器和一个应用程序容器,并且将初始化容器的资源和限制设置为高于应用程序容器的资源和限制,那么只有在有一个可用节点满足初始化的情况下,才调整个Pod...阅读全文

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

在 Kubernetes 上扩展 TensorFlow 模型

由于人工智能 / 机器学习日益集成到应用和业务流程中,因此生产级机器学习模型需要更多可扩展的基础设施和计算能力,以用于训练和部署。 现代机器学习算法在大量数据上进行训练,并且需要数十亿次迭代才能使成本函数最小化。这类模型的垂直扩展会遇到操作系统级别的瓶颈,包括可提供的 CPU、GPU 和存储的数量,而且对于这种类型的模型,已经证明效率并不高。更为高效的并行处理算法,例如异步训练和 allreduce 式训练,需要一个分布式集群系统,由不同的 worker (工作器)以协调的方式同时学习。 可扩展性对于在生产环境中服务深学习模型也非常重要。将单个 API 请求处理到模型预测端点可能会触发复杂的处理逻辑,这将花费大量时间。由于更多用户访问模型的端点,为了有效地处理客户端请求,需要更多服务实例...阅读全文

最全 MongoDB 基础教程

否唯一。指定为true创建唯一索引。默认值为false name string 索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称 dropDups Boolean 3.0+版本已废弃。在建立唯一索引时是否删除重复记录,指定 true 创建唯一索引。默认值为 false sparse Boolean 对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为 false expireAfterSeconds integer 指定一个以秒为单的数值,完成 TTL设定,设定集合的生存时间 v index version 索引的版本号。默认的索引版本取决于mongod创建索引时运行的...阅读全文

博文 2021-02-22 07:45:45 OSChina

Linux 27周年:这27件有趣的事实你可能不知道

咬伤。 7、Linux 完全统治超级计算机。截至2018年,世界上最快的 500 个超级计算机 100% 运行 Linux 。 8、Linux 开发社区非常活跃。据统计,在过去 15 个月里,Linux Kernel 以平均每小时 7.8 个补丁的速被合并。 9、 Linux 早期以 MINIX 操作系统为原型,导致 Linus 采用类似于 Minix 的文件系统布局来实现他的新兴项目。之后由于被证明效率低下,Linus 采用“扩展文件系统”(ext)取代它,至今仍在使用。 10、Linux 1.0 于1994年3月14日发布,共包含 176,250 行代码。2.0 版本紧随其后,于1996年发布。 11、Linux 正运行在从智能手机到服务器,再到潜艇和太空火箭等大量事物上。 12、乔布...阅读全文

AWS省钱攻略:预留实例怎么玩

实例的合并,必须在相同的时间过期,换句话说,也就是该批实例必须是同期采购的相同期限的RI。 可转换RI(CRI) CRI在灵活匹配与合并拆分的基础上增加了更多维可转换属性:实例类型、操作系统、租期、付款选项,当然价格可能可能上浮10个点左右。可以说CRI提供了最高的灵活可变性,几乎可满足所有的更变需求。唯一的限制: 新可转换预留实例的总价值(预付价格 + 每小时价格 * 剩余小时数)必须大于等于当前总价值! 换句话说客户只能在现有基础上加价,这种也是有道理,AWS 总不能因为您换了小规格实例给你退钱吧。 AWS RI使用的一些建议 如果没有容量预留的需求不要选择可用区RI,否则将失去灵活匹配优势针对业务计算需求增加需要调整实例类型机型(非license ) ,无需调整已购买的RI,只需要考...阅读全文

博文 2019-08-18 18:26:19 debian.cn

Linux 中使用 Fio 测评硬盘性能

Fio(Flexible I/O Tester) 是一款由 Jens Axboe 开发的用于测评和压力/硬件验证的自由开源的软件。它支持 19 种不同类型的 I/O 引擎 (sync、mmap、libaio、posixaio、SG v3、splice、null、network、 syslet、guasi、solarisaio,以及更多), I/O 优先级(针对较新的 Linux 内核),I/O 速,fork 的任务或线程任务等等。它能够在块设备和文件上工作。 Fio 接受一种非常简单易于理解的文本格式的任务描述。软件默认包含了几个示例任务文件。 Fio 展示了所有类型的 I/O 性能信息,包括完整的 IO 延迟和百分比。 它被广泛的应用在非常多的地方,包括测评、QA,以及验证用途。它支持...阅读全文

博文 2018-08-15 19:18:24 debian.cn

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

Java 架构师是什么?是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维的扩展,为目标客户提供更为全面的需求清单。 所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面。 架构师在软件开发的整个过程中起着很重要的作用。 架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。 在成为Java架构...阅读全文

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

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

xxx ( 加上 -q 选项 ),则在传输文件时不显示进条。-y 覆盖模式trz -y 或 tsz -y xxx ( 加上 -y 选项 ),如果存在相同文件名的文件就直接覆盖。-b 二进制模式trz -b 或 tsz -b xxx ( 加上 -b 选项 ),二进制传输模式,对于压缩包、图片、影音等较快。-e 转义控制字符二进制模式时,控制字符可能会导致失败,trz -eb 或 tsz -eb xxx ( 加上 -e 选项 ) 转义所有已知的控制字符。-d 传输文件夹trz -d 或 tsz -d xxx ( 加上 -d 选项 ),则可以上传或下载指定文件夹和文件。-B 缓冲区上限trz -B 20m 或 tsz -B 2M xxx 等,设置最大缓冲区上限 ( 默认 10M )。会自动根据网速选...阅读全文

linux下查看系统socket读写缓冲区_eyucham的专栏

(int argc,char **argv) { int err = -1; /* 返回值 */ int s = -1; /* socket描述符 */ int snd_size = 0; /* 发送缓冲区大小 */ int rcv_size = 0; /* 接收缓冲区大小 */ socklen_t optlen; /* 选项值长 */ /* * 建立一个TCP套接字 */ s = socket(PF_INET,SOCK_STREAM,0); if( s == -1){ printf("建立套接字错误\n"); return -1; } /* * 先读取缓冲区设置的情况 * 获得原始发送缓冲区大小 */ optlen = sizeof(snd_size); err = getsockopt(s...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

Golang 中的 channel 通道详解

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

Golang Context 探究

context.Todo 一般起到占的作用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 type emptyCtx int func (*emptyCtx) Deadline() (deadline time.Time, ok bool) { return } func (*emptyCtx) Done() <-chan struct{} { return nil } func (*emptyCtx) Err() error { return nil } func (*emptyCtx) Value(key interface{}) interface{} { return nil } 取消的实现 如果 context 实现了下面的这个接口,则是能取消的 context...阅读全文

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

Jono Bacon: GPL 没落了吗?

论使用的协议会发生怎样的变化,技术确实变得更加开放,可以接触,人人都能使用。 作者简介:Jono Bacon - Jono Bacon 是一领袖级的社区管理者、演讲者、作者和播客主。他是 Jono Bacon 咨询公司的创始人,提供社区战略和执行、开发者流程和其它的服务。他之前任职于 GitHub、Canonical 和 XPRIZE、OpenAdvantage 的社区总监,并为大量的组织提供咨询和顾问服务。...阅读全文

博文 2017-08-04 08:03:43 debian.cn

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

称SIG)都在继续立足所在层面交付用户们最为需要的功能。感兴趣的朋友可以点击说明[7]查看发行版说明中的完整功能列表。 发布时间 Kubernetes 1.9目前已经可通过GitHub[8]下载。若需要马上开始使用Kubernetes,请参阅相关交互教程[9]。 发行团队 此次发行版的推出,源自数百名技术与非技术参与者们的共同努力。这里特别感谢谷歌公司软件工程师Anthony Yeh领导的发行团队。该发行团队中的14名成员一直在努力协调发行工作中的方方面面,包括说明文档、测试、验证以及功能完整性等等。 随着Kubernetes社区的不断发展,我们的发行流程也已经成为开源软件开发合作领域的一大标志性产物。Kubernetes继续以惊人的速吸引到更多新用户的参与。这种增长创造出更为积极的反馈周...阅读全文

博文 2017-12-17 01:00:00 debian.cn

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具体自行百。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

Terraform 学习总结 — Terraform 简介

前言 在 DevOps 实践中,基础设施即代码如何落地是一个绕不开的话题。像 Chef,Puppet 等成熟的配置管理工具,都能够满足一定程的需求,但有没有更友好的工具能够满足我们绝大多数的需求?笔者认为 Terraform 是一个很有潜力的工具,目前各大云平台也都支持的不错,尤其是使用起来简单明了。本文会简单的介绍一下 Terraform 相关的概念,然后通过一个小 demo 带大家一起进入 Terraform 的世界。说明:本文的演示环境为 ubuntu 16.04。 Terraform 是什么? Terraform 是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是 "Write, Plan, and create...阅读全文

APISIX Ingress 如何使用 Cert Manager 管理证书

对象,并且包含新的证书。 总结 本文主要讲解了如何利用 Cert Manager 在 Apache APISIX Ingress Controller 中进行证书的创建和管理。想了解更多关于 Apache APISIX Ingress 的介绍与内容,可参考本篇文章 或者参与 Apache APISIX Ingress 项目每两周举行的线上讨论,分享当下项目进、最佳实践及设计思路等多个话题,可查看具体 issue 了解更多。...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

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

正如体育界不成文的规定一样,这些规则基本上不会出现在官方文档和正式记录上。比如说,在棒球运动中,从比分领先时不要盗垒,到跑垒员跑了第一时也不要放弃四坏球保送。对于圈外人来讲,这些东西很难懂,甚至觉得没什么意义。但是对于那些想成为 MVP 的队员来说,这些都是理所当然的。 软件开发,特别是开源软件开发中,也有一套不成文的规定。和其它的团队运动一样,这些规定很大程上决定了开源社区如何看待一名开发者,特别是新加入社区的开发者。 按部就班,循序渐进 在参与社区之前,比如开放源代码或者其它什么的,你需要做一些基本工作。对于有眼界的开源贡献者,这意味这你需要理解社区的目标,并学习应该从哪里起步。人人都想贡献源代码,但是只有少量的人做过准备,并且乐意、同时也有能力完成这项艰苦卓绝的工作:测试补丁、复审...阅读全文

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

Kubernetes v1.21 新特性预览

IPv4 和 IPv6 两个地址。注意,如果使用了 CNI 插件和云服务商扩展(Cloud Provider),CNI 插件和云服务商扩展也需要支持 IPv4/IPv6 双栈。CSIVolumeHealth Alpha 和 CSIStorageCapacity Beta从 v1.21 开始,Kubernetes 支持 CSI 存储插件的 Volume 健康检查(Alpha 版),CSI 插件需要实现外部健康监控控制器。当 Volume 或者 Node 出现异常时,该控制器会向 Volume 所属的 PVC 以及使用该 PVC 的 Pod 发送一个异常事件。CSIStorageCapacity 用于跟踪 CSI 存储容量并确保 Pod 调到足够存储容量的节点上。该特性从 v1.21 开始进入...阅读全文

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

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

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

博文 2018-09-06 10:50:29 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

基于thanos搭建分布式prometheus

prometheus存在单点问题,具体痛点可以这么描述: prometheus单机存储和抓取能力都有上限,容易单点故障。 虽然有一种方式是通过部署N个prometheus分别抓取不同的target来分摊压力的,但是grafana就要为不同的图表配置不同的prometheus地址,复杂程比较棘手。 thanos+prometheus可以解决这个问题,它提供了一个核心能力: 1,thanos querier组件可以反向代理到N个prometheus,然后grafana直接指向thanos querier即可,thanos querier会从N个prometheus同时查询数据,返回满足Promql的数据结果; 2,如果N个prometheus抓取的数据存在重复的,那么thanos...阅读全文

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

SVN切换分支用法汇总

,在进行分支切换之前,一定要先保存修改。2. 切换分支要保证分支版本库状态干净在进行分支切换操作之前,我们需要保证代码分支版本库的状态是干净的,即没有未提交的修改。否则,分支操作可能会导致一些未提交的修改全部丢失。3. 切换分支要保证源分支和目标分支都在同一版本库中SVN是针对版本库来进行代码管理的,所以在进行分支切换时,源分支和目标分支都必须在同一个版本库中。否则,你就需要进行多库协同编程,难会增加很多。4. 将切换分支操作单独进行为避免出现一些问题,一般我们建议将分支切换操作独立出来,不要和其他代码操作混在一起。这样做可以使我们的代码更加清晰,也可以有效地避免出现一些不必要的操作。5. 多人协作时切换分支需要谨慎当多人协作时,任何一个人都可能进行分支切换的操作,这时每个人都应该非常谨慎...阅读全文

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

Gitlab CI 配置文件 .gitlab

: variables: GET_SOURCES_ATTEMPTS: 3 你可以在全局variables模块中设置,也可以在单个job的variables模块中设置。 Shallow cloning GitLab 8.9 以实验性功能引入。在将来的版本中有可能改变或者完全移除。 你可以通过GIT_DEPTH来指定抓取或克隆的深。它可浅层的克隆仓库,这可以显著加速具有大量提交和旧的大型二进制文件的仓库的克隆。这个设置的值会传递给git fetch和git clone。 注意:如果设置depth=1,并且有一个jobs队列或者是重试jobs,则jobs可能会失败。 由于Git抓取和克隆是基于一个REF,例如分支的名称,所以Runner不能指定克隆一个commit SHA。如果队列中有多个jobs,或者您正在重试旧...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

深入理解Golang之context

Server、Connection、Request,不仅将上游的信息共享给下游任务,同时实现了上游可发送取消信号取消所有下游任务,而下游任务自行取消不会影响上游任务。总结context主要用于父子任务之间的同步取消信号,本质上是一种协程调的方式。另外在使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下游任务的执行,由下游任务自行决定后续的处理操作,也就是说context的取消操作是无侵入的;context是线程安全的,因为context本身是不可变的(immutable),因此可以放心地在多个协程中传递使用。参考资料1、Package context2、Go Concurrency Patterns: Context3...阅读全文

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