InfraPub 为您找到相关结果 538

总结系统设计中的33个黄金法则

关。 18. 针对单点故障——实施冗余。 19. 为了容错性和持久性——实施数据复制。 20. 对于用户到用户的快速通信 — 使用 Websockets。 21. 分布式系统中的故障检测——实现心跳。 22. 数据完整性——使用校验和算法。 23. 高效的服务器扩展——一致性哈希。 24. 去中心化数据传输——考虑 Gossip 协议。 25. 基于位置的功能 — 使用四叉树、Geohash 等。 26. 避免特定的技术名称 — 使用通用术语。 27. 高可用性和一致性的权衡——最终一致性。 28. 对于IP解析和域名查询——DNS。 29. 处理网络请求中的大数据——实施分页。 30. 缓存删除策略 — 首选...阅读全文

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

口,可以读取以Prometheus支持的格式呈现的指标: $ curl https://IP:6443/api/v1/nodes/k8s-master01/proxy/metrics/cadvisor # HELP cadvisor_version_info A metric with a constant '1' value labeled by kernel version, OS version, docker version, cadvisor version & cadvisor revision. # TYPE cadvisor_version_info gauge cadvisor_version_info{cadvisorRevision="",cadvisorVersion...阅读全文

博文 2020-08-13 20:41:03 debian.cn

Apollo 分布式配置中心详解

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 本文简单从功能特点做介绍,更详细的说明请参考Apollo配置中心介绍。本快速部署可以参考这里。线上的演示环境从这里可以访问到: 106.54.227.205 (账号/密码: apollo/admin) Apollo 配置中心产生背景 大多情况下程序随着功能的复杂,程序的配置也会增多:包括各种功能开关、参数配置、服务信息配置等,同时开发人员对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群的管理配置、权限控制、审核机制等。 在这样的大环境下,传统的通过配置文件、数据库...阅读全文

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

谷歌开源了代码评审规范:好坏代码应这样来判断

健康水平产生影响。 解决冲突 在代码评审中,如果发生了任何冲突,第一步应该是开发者和评审者基于本项目的 CL 指南达成共识。当达成共识非常困难时,开发者与评审者应该面对面交流,而不只是通过审查中的评论来交流。如果开会讨论还解决不了,那么就要扩大会议了,我们可以通过与代码维护人员、工程经理等开发者的交流,达成最终的共识。 如果想要深入了解谷歌的这套代码审核规范,可查看该项目。如下: https://gitee.com/leonard/google-eng-practices...阅读全文

博文 2019-09-10 17:19:13 debian.cn

Chrome浏览器中新增反恶意软件广告功能

谷歌宣布在Chrome浏览器中新增三个安全功能,阻止网站在未经用户或网站所有人同意的情况下悄悄将用户重定向至新的网。 虽然所有的这三个功能都广受欢迎,不过其中有一个功能有可能让一些恶意广告在行进中消逝,而且可能瓦解恶意软件在未来几个月的进展。 Chrome将拦截内嵌框架重定向 这三个安全功能中最重要的一个功能将出现在于2018年1月末官方发布的Chrome64中。 从v64版本开始,Chrome将会拦截由页面内嵌框架内部加载的代码所触发的URL重定向尝试。多数网站所有人在创建自己的站点时并不会使用内嵌框架,而内嵌框架通常会出现在通过广告加载的页面上。 恶意广告将使用加载到这些内嵌框架中的JavaScript代码将用户重定向至恶意网站。通过拦截内嵌框架重定向用户,谷歌会从明年开始拦截恶意广...阅读全文

博文 2017-11-18 09:00:06 debian.cn

AD:为什么说 CoinEx 是一家很有潜力的数字货币交易所?

时代已经到来,这也是为什么对应公链的代币,币价一直在稳定增长。 相比于 CoinEx 平台的优势,当前的 CET 虽然比较已有增长,当人处于低估状态。在群雄争霸的币圈江湖里凿出登顶之路。那你们觉得这波牛市中CET会是一个百倍币吗? 快速注册 CoinEx 交易所: [http://cet.im](http://cet.im) (本仅为方便记忆,做跳转用。注意官方网站为 coinex.com 和 coinexweb.com )...阅读全文

Polar Signals 开源 Parca 以优化代码并减少云账单 - OSCHINA

发者仅能上传 UWP 应用之后,如今 Microsoft Store 中的应用数量和类型都逐渐丰富起来了。Visual Studio Code、Zoom、TeamViewer、VLC、Epic Game 等耳熟能详的应用都纷纷登陆应用商店。 近日,Python 软件基金会(Python Software Foundation)将官方的 Python 3.11(Alp... 5 1 Docker 20.10.9 发布 Docker 20.10.9 现已发布。这是一个安全版本,在 CLI、runtime 以及 containerd.io 包和 Go runtime 的更新版本中进行了安全修复。具体更新内容如下: Client CVE-2021-41092 确保默认身份验证配置设置了字段,以防...阅读全文

博文 2021-10-09 12:23:58 中文开源技术交流社区

Go1.16 新特性:一文快速上手 Go embed

" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下创建了 hello.txt 文件,并且写入文本内容 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简单,就是 go:embed 指令声明,外加读取的内容的,可支持相对和绝对路径。 输出结果: 吃煎鱼 读取到静态文件中的内容后自动赋值给了变量 s,并且在主函数中成功输出。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文

博文 2021-02-17 08:44:12 CSDN

MySQL 8 第一个正式版发布:更好的性能

、授权。 参考阅读: 详细更新说明:https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html 官方发布说明:https://blogs.oracle.com/mysql/announcing-general-availability-of-mysql-80 MySQL 8 正式版的新增功能:https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/ MySQL 8 正式版下载: 下载...阅读全文

博文 2018-04-20 10:40:18 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

Linux 进程 PID 编号最大为多少

默认值如下: 可见,虽然是64位系统,但默认也设置了32768,确实如手册中描述一致。通过: echo value > /proc/sys/kernel/pid_max 手动修改,可以设置预期的最大pid数值(2^22以下) 附Linux内核源码: 官网链接:https://www.kernel.org/ git: https://git.kernel.org/ 镜像:https://mirrors.edge.kernel.org/pub/...阅读全文

博文 2021-01-12 11:47:15 debian.cn

个人信息保护新规将出台 消费者被短信轰炸将成为历史

加密项目,预计8月1日起,商家将无法获得订单收获信息中用户的手机号、姓名、收货等信息,这些信息将以加密字符串的形式输出,导出数据也逐步会变成密文。 海豚智库创始人李成东告诉记者,客户信息加密后,商户和快递公司均将无法获取到客户相关信息。这意味着,“双十一”或者“618”前,商户疯狂对客户短信轰炸的局面不会再出现了。 一位TMT领域的专家表示,打击信息泄露、保护用户信息安全是当下互联网平台治理的重点方向。电商平台与其坐等政策干预,还不如主动求变,提前做好准备。...阅读全文

Rancher 2.2.2 发布:优化 Kubernetes 集群运维

Windows 节点正式提供生产级别支持的 Kubernetes 版本。 UI 和 API 的性能提升 Rancher v2.2.2 中,UI 和 API 的性格都得到了大幅优化。项目相关的资源 API 调用(特别是 pod)所需的加载时间大幅减短,页面在极短的时间内即可用。 其他的修复或更新 修复了无法为 AWS 中国区域添加节点模板的问题。出于稳定性考虑,暂时移除了项目级别的监控,将在下一个版本中重新添加;集群级别的监控不受此影响。修复了发布目录模板可能因证书错误而失败的问题。修复了用于与独立 Rancher 服务器通信的自签名证书可能过期的情况。修复了 Rancher 配置集群状态在带有前缀补丁的集群中被错误提取的问题。 更新详情可查阅 RancherLabs 的 发布公告 下载:https...阅读全文

博文 2019-04-22 13:49:38 debian.cn

提问的智慧(精简版)

遇到问题,当然应该大胆提问!但绝对不是随便截个图丢给其他人,等待解决方案。原文请见 提问的智慧 (How To Ask Questions The Smart Way) 。这篇文章对于社区提问给出了很多建议,现作要点精简如下。请你做到完成了 RTFM (Read The Fucking Manual) 和 STFW (Search The Fucking Web) 两个步骤。通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网,而且他们打这些字的时候也正在读着。这些答复意味着回答者认为你需要的信息非常容易获得;你自己去搜索这些信息比灌给你,能让你学到更多。按发生时间先后列出问题症状问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步...阅读全文

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

Golang 中的 channel 通道详解

,dataqsiz 表示缓冲区的大小,对于无缓冲区通道而言 dataqsiz 的值为 0。如果 qcount 和 dataqsiz 的值相同,则表示缓冲区用完了。__buf __缓冲区表示的是一个环形队列 。其中 **sendx 表示下一个发送的,recvx **表示下一个接收的。elemtype 是channel的中存放的具体类型,每一个通道都是一个具体类型的导管,也就是声明channel的时候需要为其指定元素类型。recvq 表示等待接收的 sudog 列表,一个接收语句执行时,如果缓冲区没有数据而且当前没有别的发送者在等待,那么执行者 goroutine 会被挂起,并且将对应的 sudog 对象放到 recvq 中。sendq 类似于 recvq,一个发送语句执行时,如果缓冲区已经满了,而且没...阅读全文

五款流行开源的 HIDS 系统简单介绍

复杂的。一旦它的安装,你需要启动数据库,你可以轻松开始你的支票。如果您需要一个集成良好的Linux入侵检测系统,则开源Triptrip可能是您的最佳选择,但它有一些限制。例如,它不会实时通知您,因此您需要自己查看日志。您还需要在安装操作系统后进行安装,以使其在安装之前不会检测到恶意活动。以下屏幕快照除了其他指示之外,还说明了每个规则和安全级别。​图23. WazuhWazuh是另一个用于完整性监视,事件响应和合规性的开源监视解决方案。撰写本文时,最新版本为3.8.2。如前所述,您可能会在网上看到Wazuh与OSSEC的比较,但这不仅是因为相似的目的,而且是一个共同的起源。Wazuh最初是OSSEC的分支,并且如官方文档所示,它的构建具有更高的可靠性和可伸缩性。除了执行日志分析,完整性检查...阅读全文

博文 2023-01-26 11:07:43 joseph

为什么 Django 能持续统治 Python 开发世界

等数据库都能做到开箱即用。 点击此处了解使用 Django 及其 ORM 进行数据处理的基础知识。 强大的内置模板系统 基于继承系统,Django 的模板允许开发人员通过非常少量的前端代码构建整个动态网站。这得益于使用其他上下文特定元素替换模板的某些元素的选项。 想象一下,你知道你网站的每个页面都会有一个页眉和一个页脚。 现在,您首先需要在网站的基本模板中编写代码。 然后,您可以从应用程序的其他部分动态更改这两个内容之间的组件。 简单可读的网 很难正确阅读在PHP os ASP中开发的URL? 使用 Django,您可以创建简单易读的 URL,这对人和搜索引擎都有好处。 您也可以使用其他框架创建可读 URL,但没有一个与 Django 一样容易进行 URL 构造。 快速容易的创建RSS和...阅读全文

博文 2017-07-21 14:15: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

Debian Jessie、Stretch 下安装配置 PHP7.2

://mirror.xtom.com.hk/sury/php/apt.gpg 注意:这里我们使用了 Sury 的一个镜像网站,以便快速访问。Sury 镜像的原始为: https://packages.sury.org/php/ ,在美国访问比较慢。 安装 apt-transport-https apt-get install apt-transport-https 添加 sury 软件镜像源 echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list 更新软件源缓存: apt-get update 安装软件 安装 PHP7.2: apt install -y...阅读全文

博文 2017-12-16 14:16:25 debian.cn

高性能缓存服务器 Nuster

Nuster 是一个基于 HAProxy 的高性能缓存服务器。Nuster 完全兼容 HAProxy,并且利用 HAProxy 的 ACL 功能来提供非常细致的缓存规则,比如 请求为某某时缓存 请求参数中的 X 为 Y 时缓存 响应头中的 X 为 Y 时缓存 请求速率超过多少时缓存 等等 Nuster 性能评测 非常快, 单进程模式下是 nginx 的 3 倍,多进程下 nginx 的 2 倍,varnish 的 3 倍。详见benchmark 安装 Nuster git clone https://github.com/jiangwenyuan/nuster.git cd nuster make TARGET=linux2628 make install 详情请参照 HAProxy...阅读全文

博文 2017-12-15 22:17:31 debian.cn

Git 介绍与使用详解

分支 4.2远程分支 git remote add 分支名 仓库 // 添加一个新的远程 Git 仓库 git fetch 远程分支 //从远程仓库中获得数据 git push origin master //将master推送到远程仓库 git remote rename test1 test2 //将 test1 重命名为 test2 git remote rm test//移除远程分支test 注意: 1、多人协同开发需要先执行 git pull拉取远程的改动,然后再push,如果拉下来代码有冲突,则需要先修改冲突再提交 2、本至少两个分支,master和develop,master负责线上版本,develop负责开发版本,如果有支线业务,则新建分支,保证不影响主业务。每次发版后...阅读全文

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

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

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

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

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

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

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

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

图工具就能生成 SVG 图片。 上面图片中,最顶层的函数g()占用 CPU 时间最多。d()的宽度最大,但是它直接耗用 CPU 的部分很少。b()和c()没有直接消耗 CPU。因此,如果要调查性能问题,首先应该调查g(),其次是i()。 另外,从图中可知a()有两个分支b()和h(),这表明a()里面可能有一个条件语句,而b()分支消耗的 CPU 大大高于h()。 五、局限 两种情况下,无法画出火焰图,需要修正系统行为。 (1)调用栈不完整 当调用栈过深时,某些系统只返回前面的一部分(比如前10层)。 (2)函数名缺失 有些函数没有名字,编译器只用内存来表示(比如匿名函数)。 六、Node 应用的火焰图 Node 应用的火焰图就是对 Node 进程进行性能抽样,与其他应用的操作是一样的...阅读全文

博文 2022-03-11 10:05:09 博客园

提问的智慧 – 全文

经成为一种趋势,电子邮件交流方式则更多为项目开发者保留。所以,新手一般建议在通过论坛或在线客服寻求与该项目相关的帮助。 【本章注释】 [8]「IRC」全程为Internet Relay Chat,即时聊天工具,在国内常见的是挂在网页内的QQ客服。 [9]也有部分论坛会屏蔽来自搜索引擎的爬虫,所以有时候还得在论坛中搜索。 使用项目组的论坛 当某个项目组设立有开发者论坛[10]时,要向论坛而不是其中的个人成员提问,即使你确信他能为你提供最好的回答。查看一下项目的说明文件和主页,找到论坛并注册使用。采用这种办法有几个很好的理由: 如果向个人开发者提的问题足够好,他的回答也将对整个项目组有益。相反,如果你认为自己的问题对整个项目组来说太白痴,这也不能成为骚扰个人开发者的理由。 向论坛提问可以分...阅读全文

博文 2009-10-01 13:18:00 debian.cn

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

,并帮助你: 匿名使用互联网。所有与 Internet 的连接,都将被强制通过 VPN,然后通过 DNS 加密的 Tor 网络。在你使用的计算机上不会留下任何痕迹,除非你要求保留一些数据痕迹。使用先进的加密和隐私工具加密你的文件,电子邮件和即时消息。 Kodachi 是基于实体 Debian Linux 和 定制 XFCE ,这使得 Kodachi 系统非常的稳定、安全并且独特。 视频: 特点: 连接 VPN 连接 Tor 和 出口节点选择 DNScrypt 服务器运行环境 拥有 Truecrypt 加密 – keepass 密码管理系统- 安全云等 免费开源 随机 Mac 生成 RAM 关闭/重启 时清除 内置 Tor 浏览器 Pidgin 即时通讯 比特币 钱包 Litecoin 钱包...阅读全文

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

Gitlab CI 配置文件 .gitlab

update --init --recursive 注意:如果想要此功能正常工作,子模块必须配置(在.gitmodules)下面中任意一个: 可访问的公共仓库http(s), 在同一个GitLab服务器上有一个可访问到另外的仓库的真实。更多查看Git 子模块文档。 Job stages attempts GitLab引入,要求GItLab Runner v1.9+。 正在执行的job将会按照你设置尝试次数依次执行下面的stages: 变量 描述 GET_SOURCES_ATTEMPTS 获取job源的尝试次数 ARTIFACT_DOWNLOAD_ATTEMPTS 下载artifacts的尝试次数 RESTORE_CACHE_ATTEMPTS 重建缓存的尝试次数 默认是一次尝试。 例如...阅读全文

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

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

。 - 大容量:支持扩展的内存寻功能。 - 支持即插即用:在电脑开机时可以直接插入标准的双列内存插槽,并立刻与同一总线上的DDR内存交互操作。 NVDIMM-P的主要特征: - 与现有DDR通道完全兼容,包括物理接口、电气性能、协议、时钟。 - 保证为下一代CPU插槽增加的针脚尽可能少。 - 协议支持数据读取时的不确定延迟。 - 确保数据在非易失内存中的事务性操作。 - 从NAND到DRAM多种延迟模式的支持(在模块级别)。 - 内存本身具备高可靠性、链路错误保护功能。 事实上,NVDIMM是一个系列标准,除了这里说的NVDIMM-P,还有NVDIMM-F、NVDIMM-N、NVDIMM-H。 NVDIMM-F本质上就是DDR接口的SSD固态盘,只使用NAND闪存,优点是延迟低(纳秒级别)、带宽高...阅读全文

字节跳动开源微服务中间件 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 中文开源技术交流社区

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

将芯片连接起来而形成的模型,在业内被称Chiplet(可译为芯粒、小芯片)模型。多年以来,AMD、英特尔、台积电、Marvell等芯片公司已经推出了一些类似于小芯片的设计,例如,英特尔采用了称之为Foveros的小芯片方法,推出了3D封装的CPU平台,该封装方式将1个10nm的处理器内核和4个22nm的处理器内核封装集成在一起;台积电也正在开发一种被称为集成芯片系统(SoIC)的技术。在这些技术中,裸片对裸片的互连至关重要,即需要将一个裸片与另一个裸片"黏合"在一起,每个裸片都包含一个带有物理接口的IP模块,公共接口能够让两个裸片形成互连。在Chiplet初期的探索中,许多公司开发了具有专有接口的互连,实现自家芯片模型间的互连。由于Chiplet的最终目标是在内部或多个芯片供应商中获得优质且...阅读全文

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

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

、Hyperloglogs等。 Redis具备LRU淘汰、事务实现、以及不同级别的硬盘持久化等能力,并且支持副本集和通过Redis Sentinel实现的高可用方案,同时还支持通过Redis Cluster实现的数据自动分片能力。 Redis的主要功能都基于单线程模型实现,也就是说Redis使用一个线程来服务所有的客户端请求,同时Redis采用了非阻塞式IO,并精细优化各种命令的算法时间复杂度,这些信息意味着: Redis是线程安全的(因为只有一个线程),其所有操作都是原子的,不会因并发产生数据异常 Redis的速度非常快(因为使用非阻塞式IO,且大部分命令的算法时间复杂度都是O(1)) 使用高耗时的Redis命令是很危险的,会占用唯一的一个线程的大量处理时间,导致所有的请求都被拖慢。(例如时间复杂度为O(N)的...阅读全文

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

Gitlab CI 配置文件 .gitlab

不同的stages。jobs在相同的stage时会parallel同时进行。查阅stages更多的用法请查看stages。 only and except only和except是两个参数用分支策略来限制jobs构建: only定义哪些分支和标签的git项目将会被job执行。 except定义哪些分支和标签的git项目将不会被job执行。 下面是refs策略的使用规则: only和except可同时使用。如果only和except在一个job配置中同时存在,则以only为准,跳过except(从下面示例中得出)。 only和except可以使用正则表达式。 only和except允许使用特殊的关键字:branches,tags和triggers。 only和except允许使用指定仓库但...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

Web前端知识体系精简

Web前端技术由html、css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍。目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的方,希望共勉。 JAVASCRIPT 篇 0、基础语法 Javascript基础语法包括:变量定义、数据类型、循环、选择、内置对象等。 数据类型有string,number,boolean,null,undefined,object等。其中,string,number和boolean是基础类型,null...阅读全文

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

DebConf19 敲定在巴西库里奇巴召开 时间未公布

DebConf19 峰会的举办今天正式敲定为巴西的库里奇巴,但是具体的召开时间仍未公布。DebConf是年度Debian开发者和贡献者峰会,首届于2008年在阿根廷马德普拉塔召开,明年是该峰会的第11个年头,团队最终决定重回南美洲区。 在Wiki页面上写道:“距离DebConf上次在南美洲区开会将会有11个年头,所以我们认为是时候让DebConf重新回归了。在巴西区的自由软件社区将会组织多场会议将兴趣相投的人聚集在一起。” 每年DebConf大会都吸引了大量开发者、贡献者和用户到场参加,而今年大会圆满落幕之后Debian社区已经着手筹备明年的大会了。根据Debian Wiki公布的日期,DebConf18将于今年7月29日至8月5日在台湾新竹市的国立交通大学召开举行,而...阅读全文

博文 2018-01-31 10:39:26 debian.cn

CVE-2017

2017 年 5 月 30 日, 国外安全研究人员发现 Linux 环节下,可以通过 sudo 实现本提权漏洞,漏洞编号为 CVE-2017-1000367,该漏洞几乎影响了所有 Linux 系统。详情如下: 漏洞编号: CVE-2017-1000367 漏洞名称: Sudo 本提权漏洞 官方评级: 高危 漏洞描述: 当确定 tty 时,Sudo 没有正确解析/ proc / [pid] / stat 的内容,本攻击者可能会使用此方法来覆盖文件系统上的任何文件,从而绕过预期权限或获取 root shell。 漏洞利用条件和方式: 本利用 漏洞影响范围: Sudo 1.8.6p7 到 1.8.20 Red Hat Enterprise Linux 6 (sudo) Red Hat...阅读全文

博文 2021-01-28 17:50:31 1000367:Sudo 本地提权漏洞

企业制定开源战略的免费指南

大多数使用开源的公司都了解其商业价值,但他们可能缺乏战略性实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大好处是 1)提高了对开源的认识,2)提高了开发周期的速度和灵活性,以及 3)更好的许可证合规性。” 开源指南 运作一个开源计划办公室涉及到创建策略来帮助你定义和实施你的方法,并衡量你的进度。由 Linux 基金会与 TODO Group 合作开发的 企业开源指南基于多年的经验和实践提供了专业开源知识。 最新的指南中, 设置开源战略详细介绍了制定战略和确保成功之路的基本步骤。根据该指南,“你的开源战略将管理、参与和创建开源软件的计划与计划所服务的业务目标联系起来。这可以开辟许多机会并促进创新。”该指南涵盖以下主题: 为什么制定战略?你...阅读全文

博文 2018-12-17 13:05:32 debian.cn

如何在Debian和Ubuntu下重新打包Deb文件

本文将会为 Ubuntu、Linux Mint 和 Debian GUN/Linux 用户讲述,如何在它们基于Debian的Linux操作系统上轻松的解压和重新打包.deb文件。 有时候你在生活中会碰到这样的问题,你想要修改.deb文件的部分内容,然后重新打包。下面的例子是刚发生在我身上的真实经历。一位Linux开发者为一个软件构建了一个Debian包(.deb),我也成功将它安装在我的装载Ubuntu的电脑上。 当我试图从一个Git库中检索一些文件时,它总是卡顿,很显然,该软件并没有正常工作。我知道安装的文件在哪里(/opt目录),所以,我搜查了代码并适当将部分问题修复。之后,当程序试图检索需要的包时不再卡顿。 所以长话短说,我要将.deb文件解包,替换上我的补丁文件,然后再重新打包...阅读全文

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

Kong发布新项目Kuma 通用的服务网格

Kong 发布了新的开源项目 Kuma,一个通用的现代服务网格控制平面。Kuma 基于 Envoy 构建,Envoy 是一个为云原生应用设计的强大的代理软件。Envoy 是业内最领先的边车代理;而随着监控、安全和可靠性对大规模微服务应用变得更加重要,服务网格也在成为云原生生态系统的重要组成部分。 “看到技术社区快速接纳 Envoy 让我非常高兴;同时我也对 Kong 的 ‘Kuma’ 项目充满期待。” Envoy 的创始人 Matt Klein 表示,“Kuma 扩展了 Envoy 的使用场景,使得企业在服务网格中创建云原生应用更加快速,更加便捷。” Kuma 解决了第一代服务网格技术中的缺陷,使得无缝管理网络中包括四层和七层流量、微服务和 API 在内的任意服务成为可能。Kuma 高效...阅读全文

Debian 9.3上安装和配置 Observium 监控平台

装了UFW,使用以下命令启用UFW: ufw enable 接下来,使用以下命令通过UFW防火墙允许端口80: ufw allow 80 一旦配置了防火墙,打开您的网络浏览器并键入你的访问,您应该看到以下页面: 在这里,输入您的管理员用户名和密码,然后点击登录按钮,您应该看到Observium默认仪表板。接下来,您将需要创建一个cron作业来轮询和发现来自网络的设备。 你可以通过在/etc/cron.d目录下创建一个cron文件来完成这个工作: nano /etc/cron.d/observium 添加以下行: # Run a complete discovery of all devices once every 2 hours 25 */2 * * * root /var/www...阅读全文

博文 2017-12-30 11:35:21 debian.cn

监控告警Keep

Keep是一款功能强大的开源告警管理和AIOps平台,它专注于帮助开发和运维团队更高效处理告警问题。该平台提供了集中式的仪表板界面,支持与Prometheus、Grafana、Datadog、Slack等主流监控工具和通信平台的双向集成。 平台的一大特色是支持通过YAML文件声明式定义工作流,用户可以轻松配置告警的触发条件、处理步骤和响应动作,实现告警处理的自动化。同时,Keep采用API优先的设计理念,开发者可以直接通过代码管理工作流,便于与现有系统无缝集成。 值得一提的是,Keep正在积极开发AI关联和AI摘要等智能化功能,未来将进一步提升告警处理的智能化水平,帮助团队更好降低告警噪音,提升运维效率。这些特性使Keep成为一个极具前景的开源运维工具。...阅读全文

开源项目 2024-12-09 09:31:00

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

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。TurnOff.us 是一个极客漫画网站,作者 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫画的全貌! Inside the Linux Kernel 这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。 基 作为一个房子,最重要的莫过于其基,在这个图片里,我们也从最下面的基开始看起: Filesystem 基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企...阅读全文

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

深入理解Golang之context

:= srv.newConn(rw) c.setState(c.rwc, StateNew) // before Serve can return go c.serve(ctx) } } 2、建立连接之后会基于传入的context创建一个valueCtx用于存储本信息,之后在此基础上又创建了一个cancelCtx,然后开始从当前连接中读取网络请求,每当读取到一个请求则会将该cancelCtx传入,用以传递取消信号。一旦连接断开,即可发送取消信号,取消所有进行中的网络请求。func (c *conn) serve(ctx context.Context) { c.remoteAddr = c.rwc.RemoteAddr().String() ctx = context.WithValue(ctx...阅读全文

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

GitLab 12.5 稳定版发布:支持EKS集群、多云托管和环境面板等

GitLab 于上周发布了 12.5 新版本,官方在发布说明中介绍到,为了尽可能高效交付高质量的软件,企业会经常需要跨多云以支持广泛的基础架构,因此新版带来了 EKS 集群和环境面板等功能以支持跨各种配置的项目配置,更方便监控和管理。 轻松创建并部署 EKS 集群 在新版本中 GitLab 添加了 EKS 集成,因此我们可以在 GitLab 集群页面中选择 EKS 作为选项,然后系统会提示进行身份验证以使用 AWS 账户。一旦通过身份验证,只需为集群指定所需的参数,GitLab 将负责完成其余的工作。因此在新版本中,我们只需单击几下就可以在 Amazon 的 EKS 上创建 Kubernetes 集群。 使用 Crossplane 配置多云托管服务 在 GitLab 12.5 中,我们可...阅读全文

Kubernetes 1.14 发布,31 项功能增强

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

Ryzen发布两周:AMD 称表现达到预期 四月发布更新

在被英特尔碾压多年之后,AMD 终于“平一声惊雷”般推出了可之平起平坐的首批 Ryzen 系列高端处理器。尽管不少人对 Ryzen 的超线程(SMT)、互联、Windows 调度、以及较小的动态频率等方面的表现存有疑虑,但 AMD 证实 Ryzen 已经达到了预期。在发布两周之后,AMD 表示 Ryzen 在大多数情况下的表现良好,且无需 Windows 等方面进行太大的调整以充分发挥其性能。 显然,AMD 留意到了有些人在对比测试 Ryzen 在 Windows 7 / 10 系统中的表现。该公司表示其已意识到这件事,所以会与开发者携手给软件带来“针对性的优化”,以更好发挥新处理器的潜力。 此外,在许多情况下,可以通过微小改动来提升 Ryzen 在特定应用程序中的性能。调查发现,只...阅读全文

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

最全的 DevOps 工具集合

用 Marathon 的 Apache Mesos 架构,©AdrianMouat 如图所见,集群中有四个元素。ZooKeeper 帮助 Marathon 查找 Mesos master 的,可以使用多个实例来处理故障。 Marathon 负责启动、监视并扩展容器。Mesos master 将分配给节点的任务发送给 Marathon,并在节点具有一些可用的 CPU/RAM 时向 Marathon 提出要约。Mesos slaves 负责运行容器并提交自身可用资源的列表。 Kubernetes Kubernetes 是用于 Docker 容器的编排系统,使用标签和 pods 的概念将容器分为许多逻辑单元。Pod 是 Kubernetes 与其他两种解决方案之间的主要区别所在——它们是位于同...阅读全文

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

使用 Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为 其他人 也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。 安全 个人而言,你和我或许完全有能力在 C 中编写程序,既不会泄漏内存,也不会不安全重复使用内存。然而,整体上,即使有超过40年的经验,用 C 的程序员也无法可靠这样做。 尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,程序员根本无法安全管理自己的内存。现在是离开 C 的时候了。 Go 不需要程序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检查边界。它肯...阅读全文

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