健康学习到150岁 - 人体系统调优不完全指南
去年 5 月曾经写了一篇文章介绍了下 [Lex Fridman 大佬的日常生活安排](https://zhuanlan.zhihu.com/p/371254789) ,后续我也根据他的方法对自己的日常生活做了一系列规范和改进。这一年整体实行下来,效果还是非常显著的,本文的最后会对我的一些实践以及借助的工具做一些分享。...阅读全文
去年 5 月曾经写了一篇文章介绍了下 [Lex Fridman 大佬的日常生活安排](https://zhuanlan.zhihu.com/p/371254789) ,后续我也根据他的方法对自己的日常生活做了一系列规范和改进。这一年整体实行下来,效果还是非常显著的,本文的最后会对我的一些实践以及借助的工具做一些分享。...阅读全文
大多数使用开源的公司都了解其商业价值,但他们可能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大好处是 1)提高了对开源的认识,2)提高了开发周期的速度和灵活性,以及 3)更好的许可证合规性。” 开源指南 运作一个开源计划办公室涉及到创建策略来帮助你定义和实施你的方法,并衡量你的进度。由 Linux 基金会与 TODO Group 合作开发的 企业开源指南基于多年的经验和实践提供了专业开源知识。 最新的指南中, 设置开源战略详细介绍了制定战略和确保成功之路的基本步骤。根据该指南,“你的开源战略将管理、参与和创建开源软件的计划与计划所服务的业务目标联系起来。这可以开辟许多机会并促进创新。”该指南涵盖以下主题: 为什么制定战略?你...阅读全文
本文翻译自 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 宣...阅读全文
定创建一个 C++ 生态系统技术报告 ,该 报告 将描述新模块化 C++ 世界中工具(构建系统等)的最佳实践和最新技术。...阅读全文
器去年就已实现了对 WebAuthn 的支持。自去年 12 月以来,苹果就在 Safari 的预览版中支持 WebAuthn。 W3C CEO Jeff Jaffe 表示:“现在是时候让服务提供商和企业采用 WebAuthn 了。它可以帮助避免密码被攻击和泄漏风险,从而提升 Web 用户在线体验的安全性。W3C 这一标准建立了 Web 范围的互操作性指导,为 Web 用户和他们访问的站点设定了一致的期望。W3C 正致力于在自己的站点上实现这一最佳实践。” WebAuthn 目前已经在 Dropbox、Facebook、Github、Salesforce、Stripe 和 Twitter 等网站上实现了。W3C 希望其他网站也能加入采用 WebAuthn,从而在整个网络上实现更多的无密码登录。...阅读全文
统的实现,深度参与到社区的创新和实践。除标准组件外,此次openEuler社区还孵化了A-Tune和iSula两个开源子项目:A-Tune是智能性能优化系统软件,即通过机器学习引擎对业务应用建立精准模型,再根据业务负载智能匹配最佳操作系统配置参数组合,实现系统整体运行效率提升;iSula是一种云原生轻量级容器解决方案,可通过统一、灵活的架构满足ICT领域端、边、云场景的多种需求。 开发者可以通过访问如下链接,获得相关代码和文档,供参考学习、了解openEuler操作系统的架构和源代码, https://gitee.com/openeulerhttps://gitee.com/src-openeuler...阅读全文
2022年1月18日,全球企业级开源解决方案领导者SUSE宣布:NeuVector代码库现已在GitHub上向开源社区开放。将之前的专有技术全部开源是对SUSE开源文化的传承,也践行了SUSE向合作伙伴和客户提供开放、互操作性和创新的解决方案的承诺。基于本次发布,NeuVector成为了业界首个端到端的开源容器安全平台,唯一为容器化工作负载提供企业级零信任安全的解决方案。 三个月前,SUSE完成了对NeuVector的收购;此后,SUSE一直在考虑将这一云原生容器安全平台开源所涉及的技术和法律问题。NeuVector是业界领先的安全和合规解决方案,已被全球知名企业广泛采用;其代码库的开源不仅使NeuVector成为开源社区的首选技术,还为受严格监管的客户(包括政企、金融)提供了更可靠...阅读全文
ListBucket 操作,它将返回有关存储段中项目的信息。任何您没有显式允许的操作都将被拒绝。 资源:您允许对哪些资源执行操作。例如,您将允许用户对哪些特定 Amazon S3 存储段执行ListBucket 操作?用户不能访问任何您没有显式授予许可的任何资源。 效果:当用户请求访问权限时将产生什么效果(允许或拒绝)。因为默认设置为拒绝用户访问资源,因此您通常需要指定您将允许用户访问资源。 AWS IAM 最佳实践 隐藏您的 AWS 账户根用户 访问密钥创建单独的 IAM 用户使用组向 IAM 用户分配权限授予最低权限利用 AWS 托管策略开始使用权限使用客户托管策略而不是内联策略使用访问权限级别查看 IAM 权限为您的用户配置强密码策略为特权用户启用 MFA针对在 Amazon EC2 实例上运行的应用程...阅读全文
的资助和支持。” 据悉,目前已确定将成为 ACT 的一部分的四个项目为: FOSSology:开源许可证合规性软件系统和工具包,允许用户从命令行运行许可证,版权和导出控制扫描。 QMSTR:该工具创建了一个集成的开源工具链,可实现许可证合规性管理的行业最佳实践。QMSTR 集成到构建系统中,以了解软件产品及其来源和依赖性。开发者可在本地运行 QMSTR 以验证结果,查看问题并生成合规性报告。 SPDX Tools:软件包数据交换(SPDX)是用于传达软件物料清单信息的开放标准,包括组件、许可证、版权和安全参考。 Tern: 这是一款检查工具,用于查找容器映像中安装的软件包的元数据。它可以更深入地了解容器的物料清单,从而可以更好地决定基于容器的基础架构、集成和部署策略。...阅读全文
帮助他们采用和适应分布式架构,同时提升开发的质量和速度。 Insnia Designer 的诞生是为了让用户能够模仿团队的工作方式来构建工作流。Insomnia Designer 以 DevOps、CI/CD 和 GitOps 最佳实践为基础构建,能够自动生成 Kubernetes 和 Kong 的声明式配置,使繁琐的流程自动化,并将配置飘移(Configuration Drift)的风险降到最低。 同时,为了提高可视化效果以及协作性,Insomnia Designer 提供了一个文档列表,用于查看和管理 API 规范。此外还提供了用于 API 设计的详细消息以及关于它们的整个 Git 历史记录(已集成 Git)。这样的好处在于用户可以确保对所有 REST 和 GraphQL API 规范文...阅读全文
验。 目前,将Kubernetes作为IAAS平台的底层服务管理平台是一个趋势,例如OpenStack的Kolla项目,VMware的Tanzu,以及基于Kubernetes的虚拟化方案KubeVirt。Cloudpods顺应此趋势,早在2019年下半年开始基于Kubernetes构建Cloudpods的服务组件基础设施。理论上,Cloudpods站在了巨人的肩膀上。有了Kubernetes的加持,我们基于Operator管理CRD(Custom Resource Definition)机制做到了更优雅的服务自动化部署,符合IaC(Infrastructure as code)实践的服务升级和回滚,服务的自动高可用部署等等。但在实际效果上,我们基于Kubernetes,获得了一些便利...阅读全文
9 月 8 日,字节跳动正式宣布开源 CloudWeGo。这是一套以 Go 语言为核心、专注于微服务通信与治理的中间件集合,具有高性能、可扩展、高可靠的特点。 据介绍,作为项目维护方,字节跳动基础架构团队已推进项目以 CloudWeGo 开源库为主进行迭代,未来团队将坚持内外维护一套代码,统一迭代演进,并逐步分享更多内部微服务最佳实践。 项目地址:https://github.com/cloudwego 项目官网:www.cloudwego.io CloudWeGo 第一批开源了四个项目,以 RPC 框架 Kitex 和网络库 Netpoll 为主。 Kitex Kitex 是一个 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点。 字节跳动使用 Golang 作为主要业务开...阅读全文
前言 在 DevOps 实践中,基础设施即代码如何落地是一个绕不开的话题。像 Chef,Puppet 等成熟的配置管理工具,都能够满足一定程度的需求,但有没有更友好的工具能够满足我们绝大多数的需求?笔者认为 Terraform 是一个很有潜力的工具,目前各大云平台也都支持的不错,尤其是使用起来简单明了。本文会简单的介绍一下 Terraform 相关的概念,然后通过一个小 demo 带大家一起进入 Terraform 的世界。说明:本文的演示环境为 ubuntu 16.04。 Terraform 是什么? Terraform 是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是 "Write, Plan, and create...阅读全文
本文翻译自 Jack Roper 的文章 Kubernetes Best Practice。译者:文章中作者从应用程序开发、治理和集群配置三个方面给出了一些 Kubernetes 的最佳实践,同时翻译过程中也加入了我过往的一些使用经验。有误的地方,也欢迎大家指正。在这篇文章中,我将介绍一些使用 Kubernetes (K8s) 时的最佳实践。作为最流行的容器编排系统,K8s 是现代云工程师掌握的事实标准。众所周知,不管使用还是维护 K8s 复杂的系统,因此很好地掌握它应该做什么和不应该做什么,并知道什么是可能的,将是一个好的开局。这些建议包含 3 大类中的常见问题,即应用程序开发、治理和集群配置。最佳实践目录使用命名空间使用就绪和存活探针(译者注:还有启动探针)使用自动缩放使用资源请求和约...阅读全文
时,不应该告诉他们所有事情,先让他们实践一下,然后再慢慢增加内容。在一开始需要教会他们的事情:如何提供反馈以及如何成为一个好的导师;建立起学习和发展情商的文化氛围——了解自己和团队,要管理好别人首先要管好自己。 培训并不是培养经理人唯一的手段。他们可以从其他经理人那里学习。应该鼓励他们互相交流和学习。另外,收集反馈是一种有效的评估手段。 把对经理人的反馈告诉他们。Calderon说,谷歌每年都会向员工收集反馈,让他们填写有关上司表现的问卷调查。这些信息会被反馈给经理人,帮助他们评价自己,并从中得到成长。先明确优秀经理人的定义,然后再引导他们朝这个目标努力。谷歌关于优秀经理人的特点清单可以在这个指南中找到。 除了经理人应该具备的行为特征,Calderon还提到:经理人应该要融入团队,不要只做微...阅读全文
依赖项的版本。 根据 Fluin 的说法,它可以执行代码修改和转换,使代码符合最新的最佳实践。 “我们想回到平衡稳定性和创新的核心理念上,因此,要在这些工具的工作方式和更新代码方面突破界限。”Fluin 说。 该团队还添加了 ng add 命令 ,可以执行诸如将应用程序转变为 Progressive Web App 或将 NativeScript 添加到现有项目等功能。 版本 6 的另一个预期功能是用于 Angular Material 和 Component Dev Kit 的树组件。 除了 6.0 版之外,该团队正在重写视图引擎并增加对 Bazel 的支持。...阅读全文
状态,从而导致不可预知的问题。随着,虚拟化技术以及建立在这之上的云计算基础设施的引入,极大的降低了获取标准化基础设施的成本。同时,容器技术的引入也让我们可以方便的打包构建应用及其运行时的依赖环境,这样我们就可以方便的构建不可变的,可版本化管理的服务(这里包括了标准化实例,运行环境及应用服务)。在构建云原生时,要实现不变基础设施我们实践以下几点:使用云端虚拟化基础设施作为构建基础通过容器技术来打包及整体构建服务运行环境实现容器镜像的自动化构建及版本化管理通过持续部署系统,进行自动化部署...阅读全文
前段时间,笔者参加了 UCloud 在京举办的 TIC 2019 大会,适逢 UCloud 实验室负责人叶理灯的演讲结束,就容器计算方面和他进行了短暂沟通。叶理灯是国内在云计算方面有深入研究和实践的资深专家,我觉得他的一些观点和看法值得分享给大家了解。 UCloud 实验室负责人 叶理灯 叶理灯现负责 UCloud 创新产品研发,专注面向企业的云计算产品的研发及运营。叶理灯拥有 10 年以上丰富的互联网研发经验,先后任职于腾讯、盛大云等互联网公司,从事海量分布式后台系统研发及运营工作。 定制违背了 K8S 初衷,提供原生 K8S 产品 记者:在官方的 K8S 发行版之上,各方云厂商提供 K8S 服务时都有一些自己的定制和调整,今天大会上提及的 UCloud 的 K8S 发行版 UK8S 主...阅读全文
的最细粒度的身份验证和授权。虽然服务网格可以提供帮助,但 Kubernetes 安全性仍然是一个复杂而微妙的话题,需要从多个层次进行了解。零信任是一种位于现代安全实践前沿的强大的安全模型。这也是一个容易引起轰动和炒作的术语,因此很难消除噪音。那么,究竟什么是零信任,对于 Kubernetes,它究竟意味着什么?在本文中,我们将从工程的角度探讨什么是零信任,并构建一个基本框架来理解它对 Kubernetes 运维和安全团队等的影响。介绍如果你正在构建现代云软件,无论是采用 Kubernetes 还是其他软件,可能都听说过“零信任”一词。零信任的安全模式变得如此重要,以至于美国联邦政府已经注意到:白宫最近发布了一份联邦零信任战略的备忘录,要求所有美国联邦机构在年底前满足特定的零信任安全标准...阅读全文
助力中国企业出海,注册账号就能享受亚马逊1年全免费的云服务器、数据库产品!免费12个月免费出海云计算服务: https://www.amazonaws.cn/campaign/?sc_channel=seo&sc_campaign=acquisition_CN&sc_medium=backlink&sc_content=foreigntrade亚马逊云计算Amazon Web Services (AWS) 服务始于2006年,成立以来在云计算领域一直保持了领头羊的国际地位。亚马逊云计算拥有比竞争对手更强的计算能力—来自美国摩根士丹利和国际知名调研机构Gartner。亚马逊云科技中国团队全程支持中国企业的出海业务:专业的出海合规规范、专业的技术支持、数百万海外用户的运营实践、7*24小时中文...阅读全文
解决这个问题之前,我们依赖于传统的工作流引擎。比如,一个工作流列出部署新二进制文件的步骤:在集群X上做金丝雀测试,然后将N部署到集群Y和Z上,运行测试等等。 创建工作流本身就需要大量工作,因此我们只为经常需要做的事情创建工作流,比如二进制文件的版本更新。我们通常手动处理不那么常见的情况,比如重启。已有的脚本经常会过期而不再适用。 对于运维人员来说,这些工作流很容易实现:做X,然后Y。想要添加压力测试?只需要添加一个步骤。但是随着工作流使用规模的扩大,它的问题也显露出来。 首先,扩展工作流会造成很多重复。每个服务都有很好的理由要求一些特殊逻辑,这意味着需要定制化的实现。尝试了几次整合工作流的实现,但是只有适用于某个特定模型的服务才能使用。这样导致的重复让服务变得不一致。最佳实践,比如跨集群的有...阅读全文
展。去年我们与华为、中国移动宣布了一个开源项目,后来有中国电信和中国联通的加入;再后来又有国际运营商 AT&T、Orange 和中国一些企业共同联手合作,希望能够建立世界上最大的开源的电信类基础设施。由此可以看到现在中国也有一些高质量的开源项目。” 最后,Jim 寄语 LC3 活动: “我们之所以举办 LC3 大会是希望全世界顶尖的开发者和中国的企业、顶尖开发者共聚一堂,分享最佳实践,我们相信未来中国会有更多的自主的开源的项目。 届时,Linux 创始人 Linus Torvalds 将来到中国,和中国开源的开发者进行交流,希望能够推动中国的开源项目不断地发展和扩展。 大会还邀请到开源项目和技术方面的有 OpenStack 项目执行董事、Kubernetes 项目负责人...阅读全文
表的不同部分,都会有不同的评审者进行细致的审查。当然如果是结对编程,且你的队友能进行高质量的代码评审,那么这样写的代码一般可以视为已经过评审了。此外,我们也可以进行面对面的评审,评审者会问开发者一些问题。 根据谷歌的项目描述,代码审核规范为两套独立文档组成,代表了两方面内容的最佳实践: 代码评审者的指南CL 作者指南 在其中一些文档中使用了一些术语,如下: CL:表示“变更列表 (changelist)”,意思是已经提交到版本控制或正在进行代码检查的一个独立的更改。其他组织通常称为“改变”或“补丁”LGTM:意思是“在我看来不错 (Looks Good to Me)”,这是代码审阅者在批准 CL 时说的 接下来我们来看看两份文档分别的主要内容是什么: 1. 代码评审者的指南——如何进行代码评...阅读全文
/winehq.key sudo apt-key add winehq.key 添加winehq源 然后在/etc/apt/sources.list添加源 deb https://dl.winehq.org/wine-builds/debian/ buster main 更新源 sudo apt update 正式安装wine sudo apt install --install-recommends winehq-stable 按上面先添加FAudio源再添加winehq源顺序,笔者在这步install中没有依赖问题一步安装成功。而实践中反过来则会有很多依赖问题,需要注意顺序不能反。 附注:卸载wine则用 sudo apt --purge autoremove --install-recommends...阅读全文
对象,并且包含新的证书。 总结 本文主要讲解了如何利用 Cert Manager 在 Apache APISIX Ingress Controller 中进行证书的创建和管理。想了解更多关于 Apache APISIX Ingress 的介绍与内容,可参考本篇文章 或者参与 Apache APISIX Ingress 项目每两周举行的线上讨论,分享当下项目进度、最佳实践及设计思路等多个话题,可查看具体 issue 了解更多。...阅读全文
CentOS 的构建和分发做出贡献。CERN 帮助 CentOS 提供基础架构,他们还组织了 CentOS DoJo 活动(LCTT 译者注:CentOS Dojo 是为期一日的活动,汇聚来自 CentOS 社群的人分享系统管理、最佳实践及新兴科技。),工程师可以汇聚在此共同改进 CentOS 的封装。除了 OpenStack 和 CentOS 之外,CERN 还是其他开源项目的深度用户,包括用于配置管理的 Puppet、用于监控的 Grafana 和 InfluxDB,等等。“我们与全球约 170 个实验室合作。因此,每当我们发现一个开源项目的改进之处,其他实验室便可以很容易地采纳使用。”Bell 说,“与此同时,我们也向其他项目学习。当像 eBay 和 Rackspace 这样大规模的装机量提高了...阅读全文
无意触怒任何为Debian做出了贡献的人,我只是想表达我对Debian太过于失望而决定放手的原因。 到目前为止,Debian出现在我的生命中已经超过10年了。 几个星期前,我在苏黎世Debian聚会上遇见了一些多年未见的老朋友。在骑自行车回家的路上,我突然发现我们讨论的主题与我们上次的讨论大致相同。出于对开源社区的尊敬,我们绕了个圈子先探讨了systemd的好处,然后回到了Debian的讨论,最后兴致所至还谈到了Debian的民主以及他们在理论和实践上的失败。诚然,最后一个话题有点像瑞士。 我说这些不是对Debian聚会有异议,而是因为通过这次聚会我开始反思最近对Debian的感觉,还有它是否适合我。 最终,我做出了一个本应在很久以前就已经做出的决定:我会将有关Debian的工作减到最少...阅读全文
本文翻译自 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。本篇文章将更具实践性,将以 PHP 为例带领大家实践 Docker + Wasm。上篇文章我们了解了服务端 Wasm 为什么有着重要的作用、什么是 WasmEdge 以及如何让解释型语言编写的程序在 Wasm 里运行,这篇文章,我们将通过动手示例了...阅读全文
欧盟一般数据保护条例(GDPR)和加州消费者隐私法案(CCPA)是欧美两大经济体所出台的两部具有代表意义的个人数据保护方面的法规,代表欧美监管机关对于个人数据保护两种不同的管控取向。 本文选取了“个人数据或信息的类型与范围界定”、“法律的管辖范围”、“数据跨境传输管控”、“儿童数据的保护”、“数据主体的反对权和被遗忘权”等关键概念,对GDPR和CCPA的部分要点进行比较分析。 1. “个人数据”或“个人信息”的范围界定 1.1 GDPR对个人数据的定义——侧重用抽象概念定义,实践中存在很大解释空间 除了对少数“特殊种类个人数据”(如宗教信仰、种族、工会成员信息、健康状况等)进行了零星列举以外,《欧盟一般个人数据保护条例》(GDPR)主要用抽象概念对其所管辖的“个人数据”的范围进行界定。 根...阅读全文
解释,否则错误很容易产生,事情很容易被拖延。 以下是在选择框架时的一些设计考虑因素: 强类型 - 消息是否是强类型的?如果通过服务边界发送的消息清晰可见,那么可以消除由于类型而造成的设计和运行时错误。 打开解释 - 能够直接从服务API规范生成客户端库,减少了误解的问题。错误条件 - 有一套明确定义的错误代码可以更容易一致地交流问题。 文档 - 服务API应该是易读易懂的。定义服务API的格式应该尽可能清楚,准确地描述端点。 版本控制 - 更改是不可避免的,这是一个很好的选择,在某些时候,服务API将需要修改。所使用的消息传递格式和服务定义可以影响修改API并将其部署到生产的容易程度。是否有明确的路径来增加版本及其相应的库,并推出更改? 微服务最佳实践,为什么可扩展性是重要的 除了上面列出的...阅读全文
两种集成测试,一种是一个 jenkins job,会不断调用 API 接口,确保API是按照预想的在工作,另一种是一个 Spinnaker 的 pipeline,用来执行日常任务(比如创建镜像,部署环境等)。当发现未知的失败是,首先执行回滚操作,直到这个问题被修复。 总结 Netflix 是一个优秀的企业,有着自由的精神和先进的技术,崇尚 DevOps 文化。而 Spinnaker 是他们在践行 DevOps 文化时创造出的优秀工具,通过这些工具我们能窥见他们对微服务和敏捷开发的深刻理解,希望能够给国内的开发者一些启发和帮助。 pipeline stage 目录...阅读全文
或bpftrace等项目间接使用eBPF,这些项目在eBPF之上提供了抽象,并且不需要直接编写程序,而是提供了指定基于意图的定义的功能,然后使用eBPF实施。 如果不存在更高级别的抽象,则需要直接编写程序。 Linux内核希望eBPF程序以字节码的形式加载。虽然当然可以直接编写字节码,但更常见的开发实践是利用LLVM之类的编译器套件将伪C代码编译为eBPF字节码。 在编写eBPF程序之前,需要简单了解几个概念。 1)map(映射) :BPF最令人着迷的方面之一是,内核上运行的代码和加载了该代码的程序可以在运行时使用消息传递相互通信。 BPF映射是驻留在内核中的键/值存储。任何BPF程序都可以访问它们。在用户态中运行的程序也可以使用文件描述符访问这些映射。只要事先正确指定数据大小,就可以在映射...阅读全文
、Kubernetes 方面有着丰富且极具深度的实践,我们将这些宝贵生产实践归纳、转化成产品能力,以帮助用户更有效、更快捷地定位生产环境问题。使用这个排查全景图可以通过以下方法:大体结构上是以服务和 Deployment(应用)为入口,大多数开发只需要关注这一层就行了。重点关注服务和应用是否错慢,服务是否连通,副本数是否符合预期等再往下一层是提供真正工作负载能力的 Pod。Pod 重点关注是否有错慢请求,是否健康,资源是否充裕,下游依赖是否健康等最底下一层是节点,节点为 Pod 和服务提供运行环境和资源。重点关注节点是否健康,是否处于可调度状态,资源是否充裕等。常见问题排查一、网络问题网络是 Kubernetes 中最棘手、最常见的问题,因为以下几个原因给我们定位生产环境网络问题带来麻烦:Kubernetes...阅读全文
态。这时,虽然 Java 能够对外提供服务,但服务质量较差,如果该阶段的用户并发较高,那么就会造成服务质量降级乃至服务崩溃。 为了优化这一过程,通常的工业实践会在 Java 启动后引入 " 预热 "(warmup) 步骤,通过人为导入数据来让应用提前加热。在预热完成之前,用户请求通过网络控制不让它发送到 Java 进程,在预热完成之后才打开流量限制让 Java 真正提供服务。这个做法可以部分缓解上述问题,但是该方案在很多场景下会有一些局限性,在很多情况下,获取一份高质量的预热数据是很困难的。而预热数据的正确性直接影响预热效果,与实际情况相符的数据可以提高编译质量,如果不一致,有时反而会造成反面效果,比如一种常见的情况是预热时漏掉重要方法调用。更糟糕的情况是由于和实际情况不一致,导致 JVM...阅读全文
容器要求。换句话说,即使有一个未使用的节点可以在其中运行应用程序容器,但如果初始化容器具有该节点可以处理的更高资源先决条件,则Pod也不会部署到该节点。因此,在定义初始化容器的请求和限制时,您应尽可能严格。最佳做法是,除非绝对必要,否则请勿将这些参数设置为高于应用程序容器的值。 标准容器和Sidecar容器 在k8s1.18 之前,这两种容器从k8s管理的角度来看,并没有什么区别。只不过人为从功能上做了区分。 使用sidecar容器(模块化)具有的优点 加速应用程序开发,因为容器可以在团队甚至更大的社区之间重复使用 整理专家知识,因为每个人都在一个容器化的实现上进行协作,该实现反映了最佳实践,而不是无数种功能大致相同的自家生产的不同容器 启用敏捷团队,因为容器边界是自然边界,是团队职责的契约...阅读全文
group是允许访问Monit的Web界面的组名称 只读用户 最后,可以将一些用户定义为只读。只读用户可以读取Monit网页,但无法访问按钮,并且无法从Web界面更改服务。 set httpd port 2812 allow admin:password allow hauk:password read-only allow @admins allow @users read-only 通过在 username:password 后使用只读关键字将用户设置为只读。在上述示例中,用户hauk被定义为只读用户,而admin用户具有所有访问权限。 实践 监听Nginx、php-fpm及API接口 /etc/monit.d/http # check nginx process check process...阅读全文
些多年未见的老朋友,在这场谈话中,他们谈到了一个话题—— Debian 的民主以及他们在理论和实践上的失败。 作为最古老的 Linux 发行版本之一,Debian 系几乎占据 Linux 系统家族里的半壁江山;作为老牌的开源社区,Debian 运行了近30年依旧香火不断;但是,作为一个统筹几百个开发者协作的社会组织,Debian 为什么却让这些人失望了? 01 不吃香的 DPL Bruce Perens 走后,DPL(Debian Project Leader)这个词被 Debian 章程定义了出来。DPL 由 Debian 社区选举出来,一年一届,每年春天都会有一个 Debian 开发者竞选成功,接受这个组织的“加冕”。 2019年的春天,Debian 的这一选举却“轮空”了。3月11日...阅读全文
GitLab 是基于 Web 的 DevOps 生命周期工具。它提供了一个 Git 存储库管理器,使用由 GitLab Inc. 开发的开源许可证来提供 Wiki、问题跟踪和 CI/CD 管道功能。 GitLab 提供了一些工具用来在实践中规划事务,还可以用来查看工作的范围。 Tasktop Tasktop 可以将所有这些工具添加到 Tasktop 支持的全套敏捷和应用程序生命周期管理(ALM)、PPM 和 ITSM 工具中,从而在整个生命周期中提供前所未有的可视化特性。 CollabNet VersionOne VersionOne 支持 Scrum、看板、XP、SAFe 和混合开发方法,简化了跨所有团队、程序、软件产品组合和企业的计划、跟踪和报告工作。 Pivotal Tracker 全球各地开发...阅读全文
开源的 Pinpoint,近几年 Uber 公司开源的 Jaeger,以及我们国内吴晟开源的 SkyWalking。 有人说,这些其实都归功于 Google 在 2010 年基于其内部大规模分布式链路追踪系统 Dapper 实践而发表的论文,它的设计理念是一切分布式调用链追踪系统的始祖,但其实早在二十年前(2002年),当年世界上最大的电商平台 eBay 就已拥有了调用链追踪系统 CAL(Centralized Application Logging)。2011 年,原eBay的中国研发中心的资深架构师吴其敏跳槽至大众点评,并且深入吸收消化了 CAL 的设计思想,主导研发并开源了CAT(Centralized Application Tracking)。 CAT 作为国人主导的开源系统,其本...阅读全文
,消费消息也是一个道理,一次拉取一批次的消息进行消费。并且Producer、Broker、Consumer都使用了优化后的压缩算法,发送和消息消息使用压缩节省了网络传输的开销,Broker存储使用压缩则降低了磁盘存储的空间。参考资料:1.《深入理解Kafka:核心设计实践原理》2.状态机程序设计套路3.raft算法源码4.https://www.bbsmax.com/A/QW5Y3kaBzm/ 作者简介屈志平腾讯数据研发工程师腾讯数据研发工程师,目前负责QQ浏览器、搜狗小说、搜狗浏览器、bingo等多款产品的数据建设。有丰富的数据治理、数仓建设、数据平台平台相关的经验。参考阅读:BIGO RTC如何低成本实现高画质一文读懂 Web3:互联网发展的新时代还是骗局?解析分布式系统的缓存设计日志中台...阅读全文
,你要给出一个可操作的详细的操作步骤。 让你所在的社区或论坛也从学习中获益。当回复一个好问题时,问问自己「如何修改相关文件或FAQ文档以免再次解答同样的问题?」,接着再向社区或论坛维护者发一份补充说明。 如果你的答案是在研究一番后得出的,请展现你的解题技巧而不是直接端出结果,毕竟「授人以鱼,不如授人以渔」。 相关资源 如果需要个人电脑、Unix和互联网如何工作的基础知识,参阅Unix和互联网工作的基本原理。 当你发布软件或补丁,试着按软件发布实践手册操作。 鸣谢 Evelyn Mitchell 贡献了一些愚蠢问题例子并启发了我编写「如何更好地回答问题」这一章节 Mikhail Ramendik 贡献了一些特别有价值的建议和改进意见。 附:知乎对「如何提问题?」的答案总结 认真:认真对待你的提问...阅读全文