InfraPub 为您找到相关结果 236

一位五年工作经验架构师的感悟

眼光羡慕别人。 于是在工作一年半的时候,选着了裸辞,其实还是很佩服自己,因为多数人都是骑驴找马。多数时候是招聘 3、5、8 年经验的人。但是,当你顾虑越多的时候,越容易失败。 所以,找到你的追求,然后就去追去。 失败不可怕,需要对自己、未来充满信心 当时的我真的很弱,但是我就是想找个地方提升自己的技术,提升自己的价值。 刚好有个朋友是阿里 B2B 的,当时也没有太多关注阿里,也不知道阿里到底有哪些子公司。但是,我的朋友,热心的说:“要不要我帮你内推试试?”,我就是抱着试一试的心态,想去尝试下,知道阿里的技术,但是到不到阿里的要求。 于是开启了我奇葩的入职阿里经历。 第一次面试,阿里 B2B 的岗位,就有很多知识不知道,面试官问了一致性 hash,那个年代的我,哪里知道。不过面试官还是和我聊...阅读全文

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

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

"} prometheus_tsdb_head_samples_appended_total{cluster="one"} Cleanupkubectl delete -f k8s/ helm delete --purge prom-one helm delete --purge grafana ingester pods将卡在终止阶段。这是设计使然的,因为ingester是半状态的,并且将在终止之前尝试将其数据刷新到其他ingester。这使得升级和回滚成为可能,同时避免了数据丢失。在这种情况下,我们只是尝试一下,而不关心数据,因此我们可以使用以下命令制将其删除:kubectl delete pod -l name=ingester --grace-period=0 --force 具有数据去重功能的HA Prometheus设置此设置与上一个非常相似。主要区别在于我们正在部...阅读全文

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

谷歌公开了内部管理Infra层的两个工具的Paper

。 配置Gap 从基础架构提供者的角度看,给定服务的配置很容易有很多冗余。在Shakespeare服务里,所有东西都是用相同的用户完成的,因此给每个前端job指定用户就是多余的。但是,因为基础架构需要运行很多服务的job,配置上仍然必须为每个job指定用户。 基础架构提供者的简单解决方案是提供更为大的配置界面——比如,一种模版语言。但是,从服务的角度来看,这样的方案并没有根本性地消除冗余。服务需要配置多个提供者,这些提供者的一些信息通常是一样的。比如,数据库名字对于使用它的job(计算提供者)和配置数据库的job(数据库提供者)都是需要的。 在这些场景里,配置系统都很有用。不管谁维护服务,都可以创建这些服务的高层级描述(比如,在集群x,y,z里运行N任务),并且配置系统将这些描述扩展成更适合每...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

Web前端知识体系精简

和undefined是JS中的两个特殊类型,object是引用类型。 Javascript可以通过typeof来判断基础数据类型,但不能够准确判断引用类型, 因此需要用到另外一个方法,那就是Object的toString,关于数据类型及其判断可以参考以下博客:数据类型详解 和 判断JS数据类型的四种方法 JS常用的内置对象有Date、Array、JSON,RegExp等。 一般来讲,Date和Array用的最频繁,JSON可以对对象和数组进行序列化和反序列化,还有一个作用就是实现对象的深拷贝。 RegExp即正则表达式,是处理字符串的利器。 关于数据类型和正则表达式的介绍可以参考博客:ES5对数组增的9个API 和 JS正则表达式精简 1、函数原型链 Javascript虽然没有继承概念...阅读全文

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

议》时就条款与附件达成一致,甚至导致主合同交易因此被中止。 GDPR及其相关解释至今未给出完整的穷尽式列举,即便是第29工作组对“个人数据”的概念进行了解释,但也并未采取列举式的定义[3]。 1.2 CCPA对个人信息的定义——抽象定义与实例列举两种方式结合 相比GDPR而言,《加州消费者隐私法案》(CCPA)第1798.145节对消费者“个人信息”进行了更为具体的规定,用“定义+不完全列举”的方式明确了哪些个人信息受CCPA的管辖。在GDPR的基础上,CCPA所列举的”个人信息”的范围更加广泛: (1) 与GDPR关注“特定个人”的信息不同,CCPA将“特定家庭的信息”也纳入管辖范围; (2) 与GDPR调数据对“特定个人”的指向性不同,按照CCPA规定:如果一些信息可以直接指向”设备...阅读全文

最全的 DevOps 工具集合

种付费计划,并提供了开源的免费方案。TravisPro 提供了在客户自己的硬件上定制化部署专有版本的能力。 Concourse Concourse 是用 Go 编写的自动化系统。人们经常将它用于 CI/CD,其卖点是大的可伸缩性,可以提供很简单或者很复杂的自动化管道。 AWS CodePipeline AWS CodePipeline 是一项完全托管的 CD 服务,可帮助你自动化发布管道,以实现快速、可靠的应用程序和基础架构更新流程。 每当你更改代码时,CodePipeline 都会根据你定义的发布模型自动执行发布流程中的构建、测试和部署阶段。这使你能够快速可靠地交付功能和更新。 你可以轻松地将 AWS CodePipeline 与第三方服务(例如 GitHub)或你自己的自制插件集成。使...阅读全文

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

aptitude 与 apt

alias acs='apt-cache search' alias agu='sudo apt-get update' alias agg='sudo apt-get upgrade' alias agd='sudo apt-get dist-upgrade' alias agi='sudo apt-get install' alias agr='sudo apt-get remove' 或者使用前面介绍的aptitude命令,如, alias agi='sudo aptitude install' aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

什么是线程安全,以及并发需要知道的几个概念

的资源一直不释放的话,那么其他阻塞的线程就都不能工作了。 非阻塞则相反,调的是线程之间并不互相妨碍,所有的线程都会不断尝试向前执行。 死锁、饥饿和活锁这三种情况表示的是多线程间的活跃状态,对于线程来说,以上的情况都是 “非友好” 的状态。 1、死锁一般是指两个或者两个以上的线程互相持有对方所需的资源,并且永远在等待对方释放的一种阻塞状态。例如有两个线程A和B同时共享临界区的资源C,当A占用C时,B处于阻塞状态,然而A的释放需要用到B的资源,这样一来,就变成了A一直在等待B,B也一直在等待A,互相之间永远在等待对方释放的状态。 一般来说,死锁的发生是由于程序的设计不合理导致,而且死锁很难解决,最好的方式就是预防。 2、饥饿是指某一个或者多个线程因为种种原因无法获得所需的资源,导致一直无法执行...阅读全文

博文 2018-12-31 20:44:06 debian.cn

技术部门的 SEO 规范

遵守的SEO规范,开发网站或修改网站时,即使不与SEO部门协同,也至少不能违反SEO规范,以防产生灾难性的后果。以前为客户写过一些技术部门SEO规范,现在简单整理更新一下,分享给大家,希望对其它公司也有帮助。 技术部门SEO规范 本SEO规范适用于公司所有新建网站及对现有网站的更新、改版。本SEO规范不是建议,是制性规定。编程、前端、运维等技术相关部门务必遵守。 对本SEO规范中的内容有疑义时,请与SEO部门沟通,不可自行解释有疑义部分。 域名及服务器相关 只解析公司因业务需要决定开通的子域名。未开通子域名一律不解析。不要使用泛解析(以通配符*代替子域名)。不能有两个或两个以上域名显示同样网站内容(无论以哪种方式实现,如解析至相同根目录、上传同样文件和数据库)。用于测试的子域名使用...阅读全文

博文 2019-03-28 13:58:51 debian.cn

成为Debian社区维护人需要做好的准备

Bug、回应用户请求),来使你的 sponsor 相信你已经有能力来处理好某个特定软件包,这样他们才会在接下来的申请流程中推荐你。 一些 sponsor 会在他们觉得合适时向你提议申请 DM,另外一些不会,作为新维护人员要在自己觉得差不多合适的情况下和 sponsor 进行沟通,听取他的意见看是否可以申请。 6. 申请 DM 前要让至少一位你 sponsor 之外的 DD 对你的 GPG 密钥进行数字签名,且密钥本身至少要 2048 RSA 或更。签署密钥不需要对技能的考察,其目的是确认每个密钥的控制者确实是他本人,从而构建 Web of Trust,因而任何人都可以参与到密钥签名活动当中。签名时一般需要双方在现实生活中见面,互相检查身份证或护照确认无误后,交换事先打印好的 GPG key...阅读全文

Ceph 12.2.0 正式版本发布, 代号 Luminous

SSD来调整其默认配置。一般不需要手动调整。 原型mclock QoS排队算法已经可用。 新增一种退出机制,可以防止OSD出现对当前不能处理IO对象或PG的请求过载情况。 OSD更换过程简化,变得更加大了。 您可以使用ceph功能来查询所有连接的后台程序和客户端的支持功能和版本。 通过ceph osd set-require-min-compat-client连接到集群,您可以配置最旧的Ceph客户端版本,但 Ceph将阻止您启用会破坏与这些客户端的兼容性的功能。 包括osd_recovery_sleep,osd_snap_trim_sleep和osd_scrub_sleep的几个睡眠设置,已经被重新实现,并且可以有效地工作。(这些在某些情况下用于解决问题,限制后台工作。) 完成对...阅读全文

博文 2017-08-31 13:36:49 debian.cn

Docker 17.06 社区版发布

时一次的频次来安排证书轮换。有了Docker CE 17.06,添加了立即制证书轮换的一次性操作: docker swarm ca --rotate Swarm Mode事件 docker events可以用来从Docker中获取实时的信息。在编写自动化和监控应用时很有用。但是直到Dcoker CE 17.06,都不支持swarm mode的事件。现在docker events将会返回服务、节点、网络和和secret的信息。 专用的数据路线 docker init中添加了新的--datapath-addr标签,可以把swarm mode的管理任务和应用传递的数据隔离开来。这能把集群从IO贪婪的应用中拯救出来。如你用这种方式初始化集群: docker swarm init...阅读全文

博文 2017-06-30 23:08:57 debian.cn

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

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

Observium是一个免费的开源网络管理和监控工具,可用于监控所有的网络设备。 它是用PHP编写的,使用SNMP从连接的设备收集数据并使用Web界面监视它们。 Observium支持大量的网络硬件和操作系统,包括Linux,Windows,FreeBSD,思科,戴尔,NetApp等等。 Observium提供了一个功能大,简单易用的界面来监视网络的健康和状态。 在本教程中,我们将解释如何在Debian 9服务器上安装和配置Observium。配置需求: 一个新的Debian 9服务器安装在您的系统上。 在您的服务器上设置一个根密码。 入门 首先运行以下命令,将系统更新到最新的稳定版本: apt-get update -y apt-get upgrade -y 系统更新后,重新启动系统以...阅读全文

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

HAProxy用法详解 最详细中文文档

查可能会带来意外问题;此选项用于将其检查的时间间隔长度上增加或减小一定的随机时长; – tune.bufsize :设定buffer的大小,同样的内存条件小,较小的值可以让haproxy有能力接受更多的并发连接,较大的值可以让某些应用程序使用较大的cookie信息;默认为16384,其可以在编译时修改,不过烈建议使用默认值; – tune.chksize :设定检查缓冲区的大小,单位为字节;更大的值有助于在较大的页面中完成基于字符串或模式的文本查找,但也会占用更多的系统资源;不建议修改; – tune.maxaccept :设定haproxy进程内核调度运行时一次性可以接受的连接的个数,较大的值可以带来较大的吞吐率,默认在单进程模式下为100...阅读全文

博文 2014-05-10 17:14:46 debian.cn

互联网协议正在发生变化

。 现在,核心互联网协议的重要改变已经开始了。虽然它们意图与互联网大部分兼容(因为,如果不兼容的话,它们不会被采纳),但是它们可能会破坏那些在协议中没有规定的地方,或者根本就假设那些地方不存在变化。 为什么我们需要去改变互联网 有大量的因素推动这些变化。 首先,核心互联网协议的局限性越来越明显,尤其是考虑到性能的时候。由于在应用和传输协议方面的结构性问题,网络没有得到高效使用,导致终端用户认为性能不能满足要求(特别是,网络延迟)。 这就意味着人们有烈的动机来演进或者替换这些协议,因为有 大量的经验表明,即便是很小的性能改善也会产生影响。 其次,演进互联网协议的能力 —— 无论在任何层面上 —— 会随着时间的推移变得更加困难,这主要是因为上面所讨论的对网络的非预期使用。例如,尝试去压缩响应的...阅读全文

理解 Linux 的虚拟内存

,使用 sysctl vm [-options] CONFIG 或 直接读写 /proc/sys/vm/ 目录下的文件来查看和修改配置。 SWAP 操作 虚拟内存的 SWAP 特性并不总是有益,放任进程不停地将数据在内存与磁盘之间大量交换会极大地占用 CPU,降低系统运行效率,所以有时候我们并不希望使用 swap。 我们可以修改 vm.swappiness=0 来设置内存尽量少使用 swap,或者干脆使用 swapoff 命令禁用掉 SWAP。 小结 虚拟内存的概念非常容易理解,但是它会衍生出来的一系列非常复杂的知识。本文只讲了些基本原理,略过了很多细节,比如虚拟内存寻址中段寄存器的使用,操作系统使用虚拟内存增缓存、缓冲区的应用等,有机会单独拿出来说。...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Gitlab CI 配置文件 .gitlab

: script: - test project services: - postgres - ruby test:mysql: script: - test project services: - mysql - ruby 你可以看到hidden keys被方便的用作模版。 Triggers Triggers 可用于制使用API调用重建特定分支,tag或commits。在triggers文档中查看更多。 pages pages是一个特殊的job,用于将静态的内容上传到GitLab,可用于为您的网站提供服务。它有特殊的语法,因此必须满足以下两个要求: 任何静态内容必须放在public/目录下 artifacts必须定义在public/目录下 下面的这个例子是将所有文件从项目根目录移动到public/目录...阅读全文

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

“Debian 章程有毒” - OSCHINA

的选项,参与投票。 与此同时,Debian 采取 Condorcet 方法(也就是孔多塞标准)来进行投票,这种投票方式需要“两两对决”来选出赢得多数选票的一方,而不是在众多候选人中一次性投票,再去挑出票数最多的。 总的来说,给予个人开发者最大程度的权限,以谋求最大程度上群体的“共同意志”,是一件政治正确的事。但是,最大程度的“同意”真的存在吗?Joey Hess 表示,这是不存在的,总是会有人不高兴。 此外,Debian 最大限度保持个体自由的同时,也使得个体显得个性十足、难以妥协;一旦缺乏大的聚合力将他们拢在一起,就会出现“分裂”的情况。 “如果有人坚持拒绝合作,那么你做出的变更很容易就会被一拖再拖。我举一个典型的例子: rsync,其维护者完全出于个人的喜好拒绝我的补丁包使用...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

如何使用 journalctl 清理 journal 日志

/dev/kmsg 中读取内核产生的日志消息。 TTYPath= 指定 ForwardToConsole=yes 时所使用的控制台TTY, 默认值是 /dev/console LineMax= 在将日志流转化为日志记录时,每条日志记录最大允许的长度(字节)。 如果将单元的标准输出(STDOUT)/标准错误(STDERR)通过流套接字连接到日志中, 那么将会以换行符("\n", ASCII 10)与NUL字符("\0", ASCII 0)作为分割符, 把日志流切分成一条条独立的日志记录。 如果超过此处设置的长度之后仍然没有遇到分割符, 那么将会自动插入一个分割符,以制将单行超长日志截断为多行。 此选项的值越大,每个日志流客户端日志守护进程占用的内存也越大(最大值等于此选项的值)。 另外,此选项的值...阅读全文

博文 2021-02-05 15:43:28 博客园

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

。 19. Unity Folders启动器组织整理 Unity Folders是一款恰如其名的应用程序,它让你可以在Unity启动器上创建可点击的文件夹。 如果你想不必打开Unity Dash,就可以根据类型(“游戏”、“办公”、“社交”等)管理最常用的应用程序,它再理想不过了。你可以定制文件夹图标(或根据里面的应用程序,自动生成图标),同时还可以对现有的文件夹进行编辑、重新排列、更名及其他操作。 20. Clementine音乐播放器 我在开始撰写本文时,就相信自己不会列出可替代Rhythmbox的其他任何音乐播放器,就因为很少有播放器像它那样提供大的功能。 21. Go For It任务管理器 Ubuntu不再随带一款还不错的笔记应用程序(它过去随带Tomboy),但要是没有这样一种工具...阅读全文

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

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

施。 虽然拥有一个lint工具(能实现快速、本地/离线的反馈)非常好,但最好的情况还是完全不需要lint工具。实施变更(例如C++团队为所有包引入了一个新的化标志)的团队应该能够让我明确看到他们的工作。 然而,实际情况却恰恰相反,目前所有的包都由于lint而变得不干净,所有的维护者都需要阅读新内容是什么、可能会造成怎样的破坏、是否有影响以及怎样的影响、手动运行一些测试、最后再决定是否采用。整个过程的工作量巨大,而且还需要手动执行机械的更改。 特别是,在Debian的变更模型中,所有更改的工作都会分派给包维护者。在工作中,我们发现相反的工作方式更好:即让负责变更的团队自行选择那些能影响更多用户的更改,这样可以显著地提高效率,从而降低总体的成本和时间。当然,有些例外情况(例如滥用语言功能的大型...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

Kubernetes源码探疑:Pod IP泄露排查及解决方法

的Kubernetes API, 以UCloud 公有云资源为基础, 通过自研的插件整合打通了ULB、UDisk、EIP等公有云网络和存储产品,为用户提供一站式云上Kubernetes服务。 其中VPC既保障网络隔离,又提供灵活的IP地址定义等,是用户对网络的必备需求之一。UK8S研发团队经过考察后认为,UCloud基础网络平台具有原生、大的底层网络控制能力,令我们能抛开Overlay方案,把VPC的能力上移到容器这一层,通过VPC的能力去实现控制和转发。 UK8S每创建一个Pod都为其申请一个VPC IP并通过VethPair配置到Pod上,再配置策略路由。 原理如下图所示。 此方案具有以下优势: 无Overlay,网络性能高。50台Node下的测试数据表明,容器与容器之间的网络性能,相...阅读全文

深入理解Golang之context

: fmt.Printf("send message: %d\n", <-messages) } } }(ctx) defer close(messages) defer cancel() select { case <-ctx.Done(): time.Sleep(1 * time.Second) fmt.Println("main process exit!") } } 这个例子中,只要让子线程监听主线程传入的ctx,一旦ctx.Done()返回空channel,子线程即可取消执行任务。但这个例子还无法展现context的传递取消信息的大优势。阅读过net/http包源码的朋友可能注意到在实现http server时就用到了context, 下面简单分析一下。1、首先Server在开启服务时会创建一个...阅读全文

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

WebAssembly:无需容器的 Docker (下)

数直接传递给 php.wasm 明确声明运行时,而不包括二进制文件本身。 拉到上面可以看到我们可以使用传统的 PHP 容器明确编写完整的命令,包括 php 二进制文件(不是必需的)。最后一点,即使使用 Docker,Wasm 也加了运行 index.php 的安全性,因为暴露给它的要少得多。docker run --rm \ --runtime=io.containerd.wasmedge.v1 \ -v $(pwd)/images/php/docroot:/docroot \ ghcr.io/vmware-labs/php-wasm:7.4.32-cli-aot \ -f /docroot/index.php

Hello from PHP 7.4.32...阅读全文

博文 2023-01-03 06:39:46 spider

Kafka生产问题总结以及性能优化

送下一条消息。这种情况下,如果follower没有成功备份数据,而此时leader又挂掉,则消息会丢失。 (3)acks=-1或all: 这意味着leader需要等待所有备份(min.insync.replicas配置的备份个数)都成功写入日志,这种策略会保证只要有一个备份存活就不会丢失数据。这是最的数据保证。一般除非是金融级别,或跟钱打交道的场景才会使用这种配置。当然如果min.insync.replicas配置的是1则也可能丢消息,跟acks=1情况类似。 消息消费端: 如果消费这边配置的是自动提交,万一消费的数据还没处理完,就自动提交offset了,但是此时你consumer直接宕机了,未处理完的数据丢失了,下次也消费不到了。所以消费端也要设置为手动提交; 2.1.2 消息重复消费...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

Monit:开源服务器监控工具

Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。 Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。易于安装、轻量级的实现以及大的功能,让Monit成为一个理想的后备监控工具。 官网:https://mmonit.com/monit文档:https://mmonit.com/monit/documentation/monit.html最新版本:https://mmonit.com/monit/dist/monit-5.20.0...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

协议介绍之深入了解 gRPC

streams,多个 streams 发送的数据互相不影响。 Stream 可以被 client 和 server 单方面或者共享使用。 Stream 可以被任意一段关闭。 Stream 会确定好发送 frame 的顺序,另一端会按照接受到的顺序来处理。 Stream 用一个唯一 ID 来标识。 这里在说一下 Stream ID,如果是 client 创建的 stream,ID 就是奇数,如果是 server 创建的,ID 就是偶数。ID 0x00 和 0x01 都有特定的使用场景。 Stream ID 不可能被重复使用,如果一条连接上面 ID 分配完了,client 会新建一条连接。而 server 则会给 client 发送一个 GOAWAY frame 制让 client 新建一条连接。 为了更...阅读全文

博文 2017-06-22 11:08:48 debian.cn

HTML 5.1 — 14 项新增特性及使用案例

="petrolimage.jpeg" alt="Petrol price drops">

A man fueling up his car at petrol station

This is the forth hike in petrol prices in two month and the third in case of diesel in one fortnight.

12. 拼写检查 spellcheck 是一个取值可以为空字符串、true 和 false 的枚举属性。如果指定其状态为 true,就表示元素将会接受对其的拼写和语法检查。 element.forceSpellCheck() 将制用户代理在文...阅读全文

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

Golang 操作 Kafka 样例

有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的解决方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个页面、点击了哪些内容等信息发送到每个数据中心的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后面的处理。例如一个文章推荐的处理流程...阅读全文

博文 2023-01-10 13:46:09 掘金

HTTP状态码详解

multipart/byteranges 的多段下载,则每一 multipart 段中都应包含 Content-Range 域用以指示本段的内容范围。假如响应中包含 Content-Length,那么它的数值必须匹配它返回的内容范围的真实字节数。 Date ETag 和/或 Content-Location,假如同样的请求本应该返回200响应。 Expires, Cache-Control,和/或 Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话。 假如本响应请求使用了 If-Range 缓存验证,那么本次响应不应该包含其他实体头;假如本响应的请求使用了 If-Range 弱缓存验证,那么本次响应禁止包含其他实体头;这避免了缓存的实体内容和更新了的实体头信息之间的不一致。否则,本响应就应当包...阅读全文

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

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

回给客户端。 原来 apiserver 做了这么多的工作,以前竟然没有发现呢!到目前为止,我们创建的 Deployment 资源已经保存到了 etcd 中,但 apiserver 仍然看不到它。 4. 初始化 在一个资源对象被持久化到数据存储之后,apiserver 还无法完全看到或调度它,在此之前还要执行一系列Initializers。Initializers是一种与资源类型相关联的控制器,它会在资源对外可用之前执行某些逻辑。如果某个资源类型没有Initializers,就会跳过此初始化步骤立即使资源对外可见。 正如大佬的博客指出的那样,Initializers是一个大的功能,因为它允许我们执行通用引导操作。例如: 将代理边车容器注入到暴露 80 端口的 Pod 中,或者加上特定的...阅读全文

博文 2022-04-18 16:18:04 CSDN

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

以通过切换底层组件降低运行成本。据悉,亚马逊最早在2006年推出EC2服务,但当是只有一种计算实例产品,名为“m1.small”。上述古老的计算实例到今天依然对外销售,如今,亚马逊的计算实例产品就多达300多种。美国云计算行业人士布鲁克·麦基姆(Brooke McKim)介绍说,亚马逊推出的新的计算实例产品简直是让人应接不暇。企业客户购买的EC2计算实例,运行在AMD、英特尔、英伟达等各种处理器上,此外还有人工智能处理器,或是亚马逊自行设计的ARM架构服务器芯片。亚马逊负责EC2产品的副总裁大卫·布朗(David Brown)介绍说,在云计算全线产品中,只要是对客户合理的地方,亚马逊都会使用自家设计的ARM处理器,这可以降低总体运行成本。亚马逊在云计算领域的劲对手微软,迄今为止尚未宣布自行...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

Apache Flink 1.14 新特性预览 - OSCHINA

的方式希望能够达到更加精细的资源管理和资源的使用率。 五、Table / SQL / Python API 1. Table API / SQL Window Table-Valued Function 支持更多算子与窗口类型 ,可以看如下表格的对比: 从表格中可以看出对于原有的三个窗口类型进行加,同时新增 Session 窗口类型,目前支持 Aggregate 的操作。 ■ 1.1 支持声明式注册 Source/Sink Table API 支持使用声明式的方式注册 Source / Sink 功能对齐 SQL DDL; 同时支持 FLIP-27 新的 Source 接口; new Source 替代旧的 connect() 接口。 ■ 1.2 全新代码生成器 解决了大家在生成代码超过...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

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

地实现了进程监测这样的需求。所以,eBPF 可编程的执行引擎非常适合用来将增可观测性,将丰富的内核数据采集上来,通过关联业务应用,方便问题排查。​三、从监测系统到可观测性随着云原生浪潮,可观测性概念正深入人心。但仍离不开日志、指标、链路这三类可观测领域的数据基石。做过运维或 SRE 的同学经常遇到这样的问题:半夜被拉到应急群里,披头盖地地被质问为什么数据库不工作了,在没有上下文的情况下,无法立刻抓住问题核心。我们认为好的可观测性平台应该帮助用户很好地反馈上下文,就像 Datadog 的 CEO 说的那样:监测工具不是功能越多功能越好,而是要思考怎样在不同团队和成员之间架起桥梁,尽可能把信息放在同一个页面中(to bridge the gap between the teams and...阅读全文

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

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

以辅以其他手段保存多个时间点的快照(例如把每天0点的快照备份至其他存储媒介中),作为非常可靠的灾难恢复手段。 使用RDB文件进行数据恢复比使用AOF要快很多。 RDB的缺点: 快照是定期生成的,所以在Redis crash时或多或少会丢失一部分数据。 如果数据集非常大且CPU不够(比如单核CPU),Redis在fork子进程时可能会消耗相对较长的时间(长至1秒),影响这期间的客户端请求。 AOF 采用AOF持久方式时,Redis会把每一个写请求都记录在一个日志文件里。在Redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新。 AOF默认是关闭的,如要开启,进行如下配置: appendonly yes AOF提供了三种fsync配置,always/everysec...阅读全文

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