百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年
和对生产系统的访问控制就变成了一个现实可控的问题。明略科技曾经在接受采访时表示: 对于运维人员的审核,最好对每个运维线上的操作都能“操作前有审批”、“操作中有记录”、“操作后有核对”,在数据备份方面要做到权责分离。 当然,这不失为一个好办法,但对于运维员工自身来说,保持基本的职业操守或许更为重要。...阅读全文
和对生产系统的访问控制就变成了一个现实可控的问题。明略科技曾经在接受采访时表示: 对于运维人员的审核,最好对每个运维线上的操作都能“操作前有审批”、“操作中有记录”、“操作后有核对”,在数据备份方面要做到权责分离。 当然,这不失为一个好办法,但对于运维员工自身来说,保持基本的职业操守或许更为重要。...阅读全文
!版权声明:本博客内容均均为原创,每篇博文作为知识积累,写博不易,转载请注明出处。 目录[-] 参考地址: Nacos 官方文档 系统环境: Nacos 版本:1.4.1 Mysql 版本:8.0.19 Kubernetes 版本:1.20.1 项目示例地址: Kubernetes 中部署 Nacos 的部署文件 Kubernetes 中部署 Mysql 数据库部署文件 如果该文章对你有帮助,别忘了 Github 帮忙点颗星哦~ 一、什么是 Nacos Nacos 是阿里开源的服务注册中心与配置中心组件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理。同时能够与 SpringCloud、Kubernetes、Dubbo 等开源生态无缝集成。 Nacos 支持如下核心特...阅读全文
(@Deprecated修饰)的方法时。 创建你自己的注释 创建自己的注释是有可能的。注释被定义在它们自己的文件中,就像Java中的类或接口一样。下面是一个例子: @interface MyAnnotation { String value(); String name(); int age(); String[] newNames(); } 这个例子定义了一个包含四个元素的叫MyAnnotation的注释。 注意,每个元素的定义都很像接口中的方法定义。你可以使用原始数据类型定义元素的数据类型,你也可以使用数组定义元素的数据类型。但是不能使用复合对象(Complex Object定义元素的数据类型。 要使用上面自定义的注释,可以这样做: @MyAnnotation( value="123", name...阅读全文
。 Netpoll Netpoll 是字节跳动内部的 Golang 高性能、I/O 非阻塞的网络库,专注于 RPC 场景。 RPC 通常有较重的处理逻辑(业务逻辑、编解码),耗时长,不能像 Redis 一样采用串行处理(必须异步)。而 Go 的标准库 net 设计了 BIO(Blocking I/O) 模式的 API,为了保证异步处理,RPC 框架设计上需要为每个连接都分配一个 goroutine,这在空闲连接较多时,产生大量的空闲 goroutine,增加调度开销。此外,net.Conn 没有提供检查连接活性的 API,很难设计出高效的连接池,池中的失效连接无法及时清理,复用低效。开源社区目前缺少专注于 RPC 方案的 Go 网络库。类似的项目如:evio、gnet 等,均面向 Redis、Haproxy...阅读全文
语言可以编译成 Wasm,有现代的、不断改进的工具链。服务器平台发展的下一步是什么?也许你已经看过 Solomon Hykes (Docker 的创始人之一) 这句话:如果在 2008 年已经有了 WASM + WASI,我们根本不需要创建 Docker。 Wasm 就有这么重要。 服务端的 WebAssembly 是计算的未来。事实上,WASM+WASI 似乎的确是服务端软件基础设施发展的下一步。最早,我们有物理硬件可以使用。 我们会给机房里每个服务器精心安装操作系统和应用程序,并一一维护。然后随着 VMware 开创的 VM 的采用,一切变得更容易了。 人们可以跨硬件机器复制、克隆和移动虚拟机。 但这仍然需要在 VM 中安装操作系统和应用程序。随后出现了由 Docker 推广的容器,这使...阅读全文
,在进行分支切换之前,一定要先保存修改。2. 切换分支要保证分支版本库状态干净在进行分支切换操作之前,我们需要保证代码分支版本库的状态是干净的,即没有未提交的修改。否则,分支操作可能会导致一些未提交的修改全部丢失。3. 切换分支要保证源分支和目标分支都在同一版本库中SVN是针对版本库来进行代码管理的,所以在进行分支切换时,源分支和目标分支都必须在同一个版本库中。否则,你就需要进行多库协同编程,难度会增加很多。4. 将切换分支操作单独进行为避免出现一些问题,一般我们建议将分支切换操作独立出来,不要和其他代码操作混在一起。这样做可以使我们的代码更加清晰,也可以有效地避免出现一些不必要的操作。5. 多人协作时切换分支需要谨慎当多人协作时,任何一个人都可能进行分支切换的操作,这时每个人都应该非常谨慎...阅读全文
文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指定 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这样就不需要显式为每个 Pod 提供所有信息,简化...阅读全文
的并满足以下一个或多个条件[9]: (a) 年度总收入超过2,500万美元; (b) 每年独自或与他人联合,为商业目的购买、出售、分享不少于50,000个消费者、家庭或设备的个人信息; (c) 有不少于50%的年收入来自于出售消费者个人信息;或 (d) 是处理个人信息的服务供应商。 其中,“加州消费者”的定义参照加州税法的规定。该法规定“居民”包括“以非临时目的居住在加州境内的自然人”以及“以临时目的居住在加州境外的加州居民”。[10] 与GDPR不同的是,CCPA明文指出了不受CCPA管辖的情况——即如果企业的商业行为每个方面完全在加州以外进行,则不受CCPA的管辖。 这里的“商业行为每个方面”,包括“消费者所在地”、“个人信息出售行为发生地”等方面。我们应针对这些方面对个案综合判断企业是...阅读全文
,并且相信已经覆盖到了大部分的使用场景。 接下来会主要介绍Apollo的cluster管理(集群)、namespace管理(命名空间)和对应的配置获取规则。 4.1 Core Concepts 在介绍高级特性前,我们有必要先来了解一下Apollo中的几个核心概念: application (应用) 这个很好理解,就是实际使用配置的应用,Apollo客户端在运行时需要知道当前应用是谁,从而可以去获取对应的配置每个应用都需要有唯一的身份标识 - appId,我们认为应用身份是跟着代码走的,所以需要在代码中配置,具体信息请参见Java客户端使用指南。environment (环境) 配置对应的环境,Apollo客户端在运行时需要知道当前应用处于哪个环境,从而可以去获取应用的配置我们认为环境和代码无关...阅读全文
需要观测时没有数据。eBPF 执行引擎可通过动态加载执行 eBPF 脚本来采集可观测性数据,举个具体例子,假设原本的 K8S 系统并没有做进程相关的监测,有一天发现了某个恶意进程(如挖矿程序)在疯狂地占用 CPU,这时候我们会发现这类恶意的进程创建应该被监测起来,这时候我们可以通过集成开源的进程事件检测库来是实现,但这往往需要打包、测试、发布这一整套流程,全部走完可能一个月就过去了。相比之下,eBPF 的方式显得更为高效快捷,由于 eBPF 支持动态地加载到内核监听进程创建的事件,所以我们可以将 eBPF 脚本抽象成一个子模块,采集客户端每次只需要加载这个子模块里的脚本完成数据采集,再通过统一的数据通道将数据推送到后端。这样我们就省去了改代码、打包、测试、发布的繁琐流程,通过无侵入的方式动态...阅读全文
)。像 HTTP/2 一样,它始于 Google 的一项成果,并且现在已经被 IETF 接纳作为一个 HTTP-over-UDP 的初始用例,其目标是在 2018 年底成为一个标准。然而,因为 Google 已经在 Chrome 浏览器及其网站上部署了 QUIC,它已经占有了超过 7% 的互联网通讯份额。 阅读 关于 QUIC 的答疑 除了大量的通讯从 TCP 到 UDP 的转变(以及隐含的可能的网络调整)之外,Google QUIC(gQUIC)和 IETF QUIC(iQUIC)都要求全程加密;并没有非加密的 QUIC。 iQUIC 使用 TLS 1.3 来为会话建立密钥,然后使用它去加密每个数据包。然而,由于它是基于 UDP 的,许多 TCP 中公开的会话信息和元数据在 QUIC 中被加密...阅读全文
Dragonwell JDK 尽快在生产环境中可用。该版本同步了 OpenJDK 上游社区 jdk8u212-b04 的最新更新,并通过了阿里巴巴内部生产环境测试。该项目最初开源时,阿里云智能基础产品事业部资深技术专家李三红在接受 InfoQ 独家专访时反复强调一个观点: Alibaba Dragonwell 一定是 OpenJDK 的下游,每个 Alibaba Dragonwell 发行版都会同步上游最新更新,并经过阿里巴巴内部大规模的应用集群测试。同时,阿里巴巴也会积极将 AJDK 上的技术积累贡献到 OpenJDK,积极参与社区的项目更新和维护。 除了同步上游社区,Dragonwell 8.0.0 还修复了一些在阿里巴巴场景下发现的重要 Bug。同时,该版本提供了默认安全证书,并会随时更新维护。 此外...阅读全文
开源社区是个独特的存在。它虽然结构松散但却又切实有效,为社会提供便利好用的产品却不以利益为目的,将志趣相同的人们聚集在一起但又完整地保存了每一个个体的独特性...... 这些开源社区就像是一场场风格迥异的社会实验。 其中,Debian 社区是一个典型代表。作为 Linux 最早的发行版本之一,诞生于1993年的 Debian 可以算是开源社区中的“活化石”。这也令 Debian 在机制、行事和文化等方面都体现出了一定的“古典”特质。 最近,Debian 社区正在酝酿一件大事 —— 改革自己的决策机制。一直以来,Debian 的决策机制都饱受诟病,不少优秀的开发者因此离开,这样的变革或许不可避免。 01 离开 “长久以来,Debian 都难以作出改变。” 2014年的时候,Joey Hess...阅读全文