InfraPub 为您找到相关结果 588

Debian 9 Stretch 安装配置 Caddy Server

Caddy 是一个用 Golang 开发的高效 Web Server,相比 Nginx,它的配置和使用要简很多,能自动开启 HTTPS、并且支持 HTTP/2 和 QUIC。 下载安装 Caddy 首先去 Download Caddy 选择你需要的插件,然后复制下方的 One-step installer script (bash),例如我的是 $ curl https://getcaddy.com | bash -s http.cache,http.cors,http.expires,http.filemanager,http.git,http.ipfilter,http.minify,http.nobots,http.ratelimit,http.realip...阅读全文

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

网易云音乐Linux版v1.1发布 支持 Debian Stretch

化事件的问题; 修复无法读取AAC文件标签的问题; 修复段错误的问题; 修复 MPRIS DBus接口无效的问题; 修复部分本地音乐文件无法播放的问题; 修复无法识别Windows平台云音乐客户端下载的mp3文件的问题; 修复MINI模式乱码的问题; 修复切换下载目录无效的问题; 修复偶尔出现白屏的问题; 修复发送动态中添加图片失败的问题; 修复文件迁移失败的问题; 修复下载的歌曲无法添加到播放列表中的问题; 修复网络问题导致歌词不同步的问题; 修复无法拖动歌词的问题; 修复无法弹出歌词对话框的问题; 修复QQ第三方登录授权界面超链接无法击的问题; 修复KDE桌面环境下最大化按钮无法击的问题; 修复Ubuntu 17.10中托盘不可击的问题; 修复部分在线音乐时间长度显示为负值的问题...阅读全文

博文 2017-12-02 18:34:00 debian.cn

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

。Ingress 作为 Kubernetes 的初代入口网关,资源模型过于简,以致无法适应当今的可编程网络。Gateway API 作为 Kubernetes 入口网关的最新成果,它通过角色划分将关注分离,并提供跨 namespace 支持使其更适应多云环境,已获得大多数 API 网关的支持;入口网关(南北向)与服务网格(东西向,集群内路由)存在部分功能重叠,Gateway API 为两者的融合提供了新的参考模型。三是 eBPF 开始兴起。越来越多的开源项目使用 eBPF 技术,比如 Cilium 将 eBPF 引入容器原生网络,Merbridge 使用 eBPF 加速 Istio 中的透明流量劫持,Pixie 使用 eBPF 来构建可观察性堆栈,SkyWalking 使用 eBPF 来诊断服务网格的...阅读全文

10年来最重要创新 ARM发布AMRv9指令集:IPC性能大涨30%

有望提升40%以上。除了CPU性能,ARMv9还非常重视整体的性能提升,包括降低内存延迟(从150ns降至90ns)、频率提升(从2.6GHz到3.3GHz)内存带宽(从20GB/s到60GB/s)、缓存等。ARMv9这次与性能有关的一个重要升级是SVE2指令集,SVE最早是ARM与富士通合作的浮性能扩展,日本最强也是TOP500最强超算富岳就使用了SVE指令集,现在推出的是第二代SVE浮指令了。相比SVE的128位矢量,SVE2可以支持多倍128位运算,最多2048位,因此SVE2可以增强ML机器学习、DSP信号处理能力,提升了未来5G、虚拟现实、增强现实以及CPU本地运行ML的性能,同时ARM未来还会继续提升AI人工智能性能。除了CPU之外,这次还简提到了未来的Mali GPU...阅读全文

第8个LTS版本 Ubuntu 20.04 将带来哪些新特性?

Ubuntu 19.10 生命周期将在今年 7 月结束,之后一段时间内最大的版本则是 Ubuntu 20.04 LTS,其重大更新和改进将在 2030 年前终止。20.04 是 Ubuntu 的第 8 个 LTS 版本,计划于今年 4 月 23 日发布。前两天我们报导过 Ubuntu 20.04 LTS 的版本更新时间表,描述了各个时间节的发布情况,今天来看看 20.04 会带来什么亮。 首先是主题变化,Yaru 会有一个从亮到暗的主题变化可选,该主题下的复选框、选按钮以及滑块和进度条等,都不再呈蓝色或绿色,而以紫色取代之。从绿色切换到紫色,整体上减少了纷杂的色彩,同时也不破坏 Ubuntu 本身的和谐。 其次,Ubuntu 社区的另一个期待已久的需求也将得到满足,系统将删除预装的...阅读全文

博文 2020-01-27 09:36:30 debian.cn

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

:不再关注于给生产环境推送独的变更,而是关注于想要达到的状态。不再维护一步一步的工作流,而是让服务所有者使用配置来描述他们想要基础架构达到的样子:运行什么job,负载均衡器的搭建,数据库schema的位置等等。 基于这些信息,Prodspec和Annealing将这些配置转化成统一的结构,随后被执行。执行是安全并且持续性的:自动化系统重复地比较用户模型所表达的预期状态和生产环境的状态,并且在安全的时候自动触发reconciliation。服务所有者不再需要将配置变更手动推送到生产环境里。 因为我们从2015年左右就开始开发Prodspec和Annealing,基于intent的执行(intent-based actuation)这一简明了的理念如今已经成了实际的标准。Google生产...阅读全文

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

在 Kubernetes 上扩展 TensorFlow 模型

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

Golang Context 探究

) (Context, CancelFunc) { return WithDeadline(parent, time.Now().Add(timeout)) } func WithDeadline(parent Context, d time.Time) (Context, CancelFunc) { // 如果父节 context 的 deadline 早于指定时间。直接构建一个可取消的 context。 // 原因是一旦父节超时,自动调用 cancel 函数,子节也会随之取消。 // 所以不用独处理子节的计时器时间到了之后,自动调用 cancel 函数 if cur, ok := parent.Deadline(); ok && cur.Before(d) { // The current...阅读全文

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

3个 Linux 命令让你看起来很忙:摸鱼的技巧

注:我当然是开玩笑的。如果你真的需要被评估看起来有多忙,那么你们公司存在很严重的文化问题。为了忙碌而忙碌的文化是一种有毒的文化,几乎可以肯定这种文化对公司和员工都没有帮助。 也就是说,让我们找乐子,用一些老式的无意义数据和代码片段组成的面板填充我们的屏幕(好吧,这些数据可能有一定的意义,但是没有上下文)。虽然有很多花哨的 GUI,但是我们为什么不直接使用标准的 linux 终端呢?为了更老派的外观,可以考虑使用 Cool Retro Term:一个酷酷的复古终端。下面我会用 Cool Retro Term,因为它看起来确实 100% 酷。 Genact 我们要看的第一个工具是 Genact。Genact 只是简地回放你选择的一个序列,在你出去喝茶休息的时候慢慢地、无限期地“编译”你的代码...阅读全文

博文 2019-09-28 15:48:43 debian.cn

亚马逊12个月免费云服务

热线、在线聊天支持。作为全球云服务的龙头企业,亚马逊云计算拥有最广泛的全球云计算基础设施,全球节丰富,为网站的快速稳定访问提供基础设施保障。配合亚马逊全球CDN节,能满足不同国家独立站访问速度需求。1.什么是云服务器?云计算服务器(也称云服务器或云主机)是云计算服务系统中的主机产品,有效解决了传统物理主机中管理难度大、业务扩展性弱的缺陷。在实际应用中,云主机具有三个方面的灵活性:主机服务配置和业务规模可根据用户需求配置,可灵活调整。用户申请的主机服务可以快速供应和部署(实时在线开通),实现集群内灵活可扩展的收费模式,用户无需支付押金,有多种支付模式供用户选择。2.云服务器适合什么样的用户?关注主机服务性价比的用户;需要快速实现分布式部署的用户;需要灵活扩展业务的用户;对系统高可用性和快速...阅读全文

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

师之前,应当先成为Java工程师。熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题 成为Java架构师,需要掌握哪些技能呢? 1.框架源码分析 设计模式:Singleton例模式,Factory工厂模式,Proxy代理模式,Template模板模式,Prototype原型模式等Spring5:Spring提醒结构,IOC注入原理,AOP设...阅读全文

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

7大维度看国外企业为啥选择gRPC打造高性能微服务

架来兼容这种环境。 开发工具 - 在实现框架时,提供尽可能小的摩擦将会使开发人员更快捷。哪些工具可以帮助编码,本地测试端,以及元和集成测试的stubbing/mocking?当事情出错时,我们需要能够看到包括内容在内的请求信息。消息格式等因素也可以使调试更容易依赖于工具,例如JSON消息是人可读的,但是二进制消息将需要额外的努力来解码。 成熟度和采用 - 对于初创公司来说,资源是有限的,需要花费在公司的核心业务上,而不是修复,测试和增强第三方框架。诸如框架的普及,大规模使用的例子,社区的活跃程度以及框架本身的成熟度等因素都是稳定性的良好指标。需要强调的是,选择一个解决具体问题的框架,而并非选择最新最热的。 多平台支持 - 在真正的微服务思维中,使用最适合其目的的语言编写企业的服务,目前包...阅读全文

博文 2018-03-19 17:51:32 debian.cn

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

最近的互联网线上事故发生比较频繁,9月19日网上爆料出顺丰近期发生了一起线上删库事件,在这里就不介绍了。 这里分享一下最近发生在我公司的事故,以及如何避免,并且如何处理优化。 该宕机的直接原因是使用 Redis 的 keys * 命令引起的,一共造成了某个服务化项目的两次宕机。 间接原因还有很多,技术跟不上业务的发展,由每日百万量到千万级是一个大的跨进,公司对于系统优化的处理优先级不高,技术开发人手的短缺。 第一次宕机 2018年9月13日的某个,公司某服务化项目的 RDS 数据库实例连接飙升,CPU 升到 100%,拒绝了其他应用的所有请求服务。 整个过程如下: 监控报警,显示RDS的CPU使用率达到80%以上,DBA介入,准备KILL慢SQL 1分钟内,没有发现明显阻塞的SQL...阅读全文

博文 2018-10-27 10:18:18 debian.cn

5G将是全球最智能互联的云计算

,推动全球或区域频率统一性。 5G创新,设备厂商更是千帆竞速,百舸争流,与更多垂直行业合作,5G测试、技术研发、参与国际5G标准组织的相关工作、与相关组织联合规划5G频谱等,不断实现全方位布局5G能力。 2018年将重研发5G产品,据悉,工信部还将加强统筹协调,组织移动通信领域各位技术与产业合作;补齐发展短板,加大对5G高频器械、仪表等投入力度,保证5G高频全面实现技术突破,加快国际合作。 三大场景网络需求 当前,中国5G试验正在进入第三阶段,韩国也将试商用5G,国际上纷纷开建5G试验网。 业界普遍认为, 5G将主要满足三大场景网络需求: eMBB, mMTC 和 URLLC。eMBB对应的是3D/超高清视频等大流量移动宽带业务;mMTC对应的是大规模物联网业务;URLLC对应的是如...阅读全文

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

可以在Windows,不同的Linux发行版和MacOS上运行。OSSEC通常与Wazuh进行比较;我们将介绍OSSEC与Wazuh之间的一些细分情况,这是HIDS或SIEM用户进行的比较。在此列表的后面,我们将介绍Wazuh。作为HIDS,此工具使您能够使用签名和异常检测方法来执行日志分析,文件完整性检查,策略监视,rootkit检测和活动响应。它提供了对系统操作的有价值的洞察力,以检测异常。OSSEC采用服务器代理模型-意味着专用服务器为每个主机提供聚合和分析。要安装和配置OSSEC,步骤非常简 ,但OSSEC确实有一些缺。例如,如果要升级到较新的版本,除非进行导出并在迁移后将其导入,否则由于覆盖操作,您将丢失定义的规则。但是,如果您聚合多个设备和不同的服务(Web服务器,数据库,防...阅读全文

博文 2023-01-26 11:07:43 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

你应该选择Cinnamon作为Linux桌面环境的十个理由

混乱的使用感受。 6. Cinnamon面板。Cinnamon面板作为一款工具栏非常易用,其中提供用于启动程序的菜、基本系统托盘与应用选择器。右键击程序图标,选择“Add to panel”即可将应用添加至程序启动栏中。大家还可以将启动图标添加到桌面中以及Cinnamon的“Favorites”启动栏内。另外,进入“Edit”模式即可对各图标进行重新排序。 7. 灵活性。有时候,我们很难找到已经被最小化或者隐藏运行的应用。而Cinnamon提供了我最喜爱的功能之一,即直接拖动运行中的应用按钮,并在选择栏中进行重新排列。这意味着我能更轻松地找到对应窗口。 Cinnamon桌面还提供一套非常漂亮的弹出菜,右击即可呼出。其中包含的常用任务包括桌面设置、添加桌面部件选项以及其他多种桌面操作任务...阅读全文

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

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对简,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

使用 MongoDB 之前应该知道的 14 件事

。 日志可以确保数据库在恢复时处于一致状态,它会保存日志写入时的所有数据。日志写入的时间间隔可以使用运行时选项 commitIntervalMs 来配置。 为了确保写入,就要确保 在配置文件中启用日志(storage.journal.enabled),而且提交间隔要和你能够承担的数据丢失相对应。 无索引排序 在搜索和聚合中,你经常希望排序数据。但愿那是在最后阶段完成的,在结果过滤之后,从而减少需要排序的数据量。即使在那个时候,你需要 一个可以覆盖排序的索引 。键索引或混合索引都可以。 当没有合适的索引可用时,MongoDB 就不得不在没有索引的情况下排序。对于排序操作中所有文档的总大小, 有 32MB 的内存限制 ,如果 MongoDB 达到了这个限值,它就会产生错误,或者有时候 仅仅...阅读全文

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

的 Pod 的分布状况,这是分布式系统(比如 Kubernetes)的关键因素。这些任务都是由 Kubelet 组件完成的,让我们开始吧! 在 Kubernetes 集群中,每个 Node 节上都会启动一个 Kubelet 服务进程,该进程用于处理 Scheduler 下发到本节的任务,管理 Pod 的生命周期,包括挂载卷、容器日志记录、垃圾回收以及其他与 Pod 相关的事件。 如果换一种思维模式,你可以把 Kubelet 当成一种特殊的 Controller,它每隔 20 秒(可以自定义)向 kube-apiserver 通过 NodeName 获取自身 Node 上所要运行的 Pod 清。一旦获取到了这个清,它就会通过与自己的内部缓存进行比较来检测新增加的 Pod,如果有差异,就...阅读全文

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

Kubernetes 1.7:安全加固、有状态应用更新等

今天我们公布了Kubernetes 1.7,这一里程碑版本引入了更为强大的安全性、存储以及扩展性因素,旨在满足Kubernetes在广泛企业环境下所面临的实际需求。 这次发布的版本中安全方面的改进包括加密的Serect,Pod到Pod通讯的网络策略,限制kubelet访问的节授权器(node authorizer),和客户端/服务端 TLS 证书轮换。 对于在Kubernetes上伸缩数据库的用户,这次版本有一个重要特性向StatefulSet添加了自动化的更新,并增强了对DaemonSet的更新。同时我们宣布对本地存储和用于更快速伸缩StatefulSet的加速模式(burst mode)的alpha支持。 同时,对于高级用户,这次版本中的API聚合允许用户提供的API服务器和...阅读全文

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

Monit:开源服务器监控工具

monit status # 查看所有服务状态 monit status nginx # 查看nginx服务状态 monit stop all # 停止所有服务 monit stop nginx # 停止nginx服务 monit start all # 启动所有服务 monit start nginx # 启动nginx服务 monit -V # 查看版本 配置文件 使用yum安装默认配置文件在: /etc/monitrc # 主配置文件 /etc/monit.d/ # 独配置各项服务 为了保护控制文件和密码的安全性,monitrc必须具有读写权限不超过0700(u=xrw,g=,o=)。 主配置文件主要配置全局:/etc/monitrc ## Global section set daemon...阅读全文

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

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

627891 > 627891.svg -d N 分析持续时间(以秒为位)。如果未提供启动,恢复,停止或状态选项,则探查器将运行指定的时间段,然后自动停止。 -i N 设置分析间隔(以纳秒或者毫秒等作为位),默认分析间隔为10ms。 -o 转储文件的格式。 等待15s,就会产生结果,生成 627891.svg 文件。vim 627891.svg 并删除第一行,然后下载到本地并使用浏览器打开。 结果如下图,此图俗称火焰图,主要看每个方法的横轴长度,占用横坐标越长的操作,其占用的 cpu 即最长,很直观的。 9.2 性能黑分析 我们首先发现下图红框内的代码存在严重的性能问题。在append的过程中,获取线程 stack 的过程耗时比较大。从火焰图中分析,耗时占据了接近50%的是,一个logger操作...阅读全文

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

协议介绍之深入了解 gRPC

经过很长一段时间的开发,TiDB 终于发了 RC3。RC3 版本对于 TiKV 来说最重要的功能就是支持了 gRPC,也就意味着后面大家可以非常方便的使用自己喜欢的语言对接 TiKV 了。 gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这里先简介绍一下 HTTP/2 相关的知识,然后在介绍下 gRPC 是如何基于 HTTP/2 构建的。 HTTP/1.x HTTP 协议可以算是现阶段 Web 上面最通用的协议了,在之前很长一段时间,很多应用都是基于 HTTP/1.x 协议,HTTP/1.x 协议是一个文本协议,可读性非常好,但其实并不高效,笔者主要碰到过几个问题: Parser 如果要解析一个完整的 HTTP 请求,首先我们需要能正确的读出...阅读全文

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

Raspberry Pi 推出 Zero W

。Pi Zero W 简化了所有一切,增加的售价大体上符合添加 WiFi(或蓝牙)的成本。Pi Zero W 的另一个优是使用了瑞典公司 Proant 授权的印刷电路板(PCB)谐振空腔天线,相比传统的 USB 加密锁能提供更好的性能。 Pi Zero 的最初型号自 2015 年 11 月发布以来,就一直受着供货问题的困扰。在封面上免费赠送 Pi Zero 的《The MagPi》纸质版杂志立刻在英国一售而空。看上去 Pi Zero 一直是供不应求的状态。因此当有库存后,开始限制每个用户只能下一个订。这导致了一个不好的情况,就是对原本十分便宜的计算机额外地增加了一大笔快递费用。截止本文撰写时,Pi Zero W 在英国供应商处尚有库存,依然限制每个客户只能提交一个订。据报道,Pi Zero...阅读全文

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

Linux:为什么那么多人讨厌 Systemd

,你几乎不能更改init系统。然而对大多数不深入sysadmining的用户来说,使用哪个init系统并不重要。 当然,每个经验丰富的Linux用户都有自己的看法。这里就不一一列举出来了,Linux社区充满了很多精通技术的开发人员,他们对Linux应该如何发展和成长有着自己的意见。这些观大多数是不相关的,取决于具体的工作需求。即便很多人投诉systemd,但却没有更完美的替代品出现,这也是systemd迅速扩张的原因。 我发现systemd元和服务文件很容易维护,更重要的是,它可以很容易地转让给别人。systemd的拥护者给出了支持其的原因,比如很稳定,有一个容易的可配置的方式管理服务,也有一些中立人士不强烈反对systemd,但它的扩展速度实在令人担忧。它接管了很多不需要任何修复的功能...阅读全文

AWS IAM 基本概念介绍

AWS Identity and Access Management (IAM) 是AWS云平台上的一种 Web 服务,可帮助你安全地控制用户对 AWS 资源的访问权限。通过 IAM 可以控制哪些人可以使用你的 AWS 资源(身份验证)以及他们可以使用的资源和采用的方式(授权)。 IAM 主要功能与特 Shared access to your AWS accountGranular permissionsSecure access to AWS resources for applications that run on Amazon EC2Identity federationIdentity information for assurancePCI DSS...阅读全文

博文 2019-06-04 20:22:31 debian.cn

Terraform 学习总结 — Terraform 简介

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

聊聊很重要的内核技术eBPF

在2018年的 Linux Plumber 大会上,eBPF成了亮,有24个议题提到了 eBPF,可以预计eBPF会成为一大技术热。 eBPF(Extended Berkeley Packet Filter) 的核心是驻留在 kernel 的高效虚拟机。最初的目的是高效网络过滤框架,前身是 BPF。 Linux kernel 3.18版本开始包含了eBPF,相对于 BPF 做了一些重要改进,首先是效率,这要归功于 JIB 编译 eBPF 代码;其次是应用范围,从网络报文扩展到一般事件处理;最后不再使用socket,使用map进行高效的数据存储。 根据以上的改进,内核开发人员在不到两年半的事件,做出了包括网络监控、限速和系统监控。目前eBPF可以分解为三个过程: 以字节码的形式创建...阅读全文

博文 2020-08-16 11:08:44 debian.cn

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

大指令数为 100 万。与此同时,针对性能担忧,eBPF 探针控制在大约在 1%左右。其高性能主要体现在内核中处理数据,减少数据在内核态和用户态之间的拷贝。简说就是数据在内核里算好了再给用户进程,比如一个 Gauge 值,以往的做法是将原始数据拷贝到用户进程再计算。2、可编程的执行引擎天然适合可观测性可观测性工程通过帮助用户更好的理解系统内部状态来消除知识盲区和及时消除系统性风险。eBPF 在可观测性方面有何威力呢?以应用异常为例,当发现应用有异常后,解决问题过程中发现缺少应用层面可观测性,这时候通过埋、测试、上线补充了应用可观测性,具体的问题得到了解决,但往往治标不治本,下一次别的地方有问题,又需要走同样的流程,另外多语言、多协议让埋的成本更高。更好的做法是用无侵入方式去解决,以避免...阅读全文

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

Docker更名Moby,也是无奈之举

在上周二于德克萨斯州奥斯汀市召开的DockerCon 2017大会上,这家容器厂商宣布推出“Moby项目”,将其旗下的Docker产品(包括DockerCE与Docker EE两款商用产品)从Docker开源项目当中剥离出来。同时,Moby也将成为面向特定基础设施创建定制化容器软件的重要起。 Docker化身Moby,这一品牌调整行为引发了广泛的争议,难道是Docker公司出问题了?不然。 事实上很好理解,提起Docker很多人的第一反应是这是一个开源项目,而不是一个产品或者一个公司,这对于Docker公司很尴尬。这道理就如同Linux领域的RedHat,假如红帽公司名叫Linux,还能取得今天的成功吗? 在上周二于德克萨斯州奥斯汀市召开的DockerCon 2017大会上,这家容器厂商...阅读全文

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

谷歌是如何培养经理人的

时,不应该告诉他们所有事情,先让他们实践一下,然后再慢慢增加内容。在一开始需要教会他们的事情:如何提供反馈以及如何成为一个好的导师;建立起学习和发展情商的文化氛围——了解自己和团队,要管理好别人首先要管好自己。 培训并不是培养经理人唯一的手段。他们可以从其他经理人那里学习。应该鼓励他们互相交流和学习。另外,收集反馈是一种有效的评估手段。 把对经理人的反馈告诉他们。Calderon说,谷歌每年都会向员工收集反馈,让他们填写有关上司表现的问卷调查。这些信息会被反馈给经理人,帮助他们评价自己,并从中得到成长。先明确优秀经理人的定义,然后再引导他们朝这个目标努力。谷歌关于优秀经理人的特可以在这个指南中找到。 除了经理人应该具备的行为特征,Calderon还提到:经理人应该要融入团队,不要只做微...阅读全文

博文 2017-12-24 07:31:00 debian.cn

观点:DDR内存即将谢幕 HBM 3/4内存才是未来

这一年来有关国内公司进军内存产业的消息甚嚣尘上,紫光公司凭借原有的英飞凌、奇梦达基础在DDR3内存上已经作出了突破,小批量生产了DDR3内存,下半年还会推出更主流的DDR4内存芯片,正在努力追赶国际主流水平。但是放眼整个内存市场,DDR5内存很快就要来了,更可怕的是未来即便是DDR5内存也很可能被更新的技术淘汰。 业界已经有人提出了DDR内存将死的看法,未来需要高带宽的产品将转向HBM内存,2020年会有HBM 3内存,2024年则会有HBM 4内存,届时带宽可达8TB/s,插槽容量可达512GB。 对于HBM内存,DIY玩家可以说也是相当熟悉了,AMD在2015年的Fury系列显卡上首次商用第一代HBM技术,超高的带宽、超低的面积占用彻底改变了当时的显卡设计,随后NVIDIA在...阅读全文

几种常用的方法论、思维方式

方法论,就是关于人们认识世界、改造世界方法的经验性的理论,它是一种以解决问题为目标的体系或系统,通常涉及对问题阶段、任务、工具、方法技巧的论述。方法论会对一系列具体的方法进行分析研究、总结并最终提出较为一般性的原则。 这里汇总介绍几种方法论。 吉德林法则 美国通用汽车公司管理顾问查尔斯·吉德林提出:把难题清清楚楚地写出来,便已经解决了一半。只有先认清问题,才能很好地解决问题。这种观在管理学上被称为吉德林法则。 墨菲定律(Murphy's Law) 主要内容有四个方面:一、任何事都没有表面看起来那么简;二、所有的事都会比你预计的时间长;三、会出错的事总会出错;四、如果你担心某种情况发生,那么它就更有可能发生。 彼德原理 每个人在层级组织里都会得到晋升,直到不能胜任为止。换句话说,一个人...阅读全文

Linux Kernel 5.10本周末发布 十个功能盘点

Linux Kernel 5.10 有望在本周末发布,外媒 Phoronix 盘了 10 个值得关注的改进和新功能。5.10 不仅是 2020 年最后一个内核版本,而且还是长期支持(LTS)版本。 Linux Kernel 5.10 合并窗口期在今年 10 月关闭,当时外媒 Phoronix 就发文概览了主要功能。而在 5.10 即将发布之际,外媒体再次盘了 10 项比较有趣的功能: 1.AMD Zen 3 温度监控 AMD Zen 3 温度监控现在可以在支持 k10temp 驱动程序和其他持久 Zen 3 扩展的 Linux 上运行,这对操作至关重要。Ryzen 5000 系列在 Linux 5.8-5.9 上运行良好,并且具备所有核心功能。 2.英特尔图形 在英特尔图形方面...阅读全文

博文 2020-12-09 10:30:48 debian.cn

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

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

固态硬盘的 PCIE、SATA、M2、NVMe、AHCI 如何理解

个 SATA 就要迷糊了。其实上面的 SATA 更多是指插槽,而这里的 SATA 是指数据走的通道,目前的新设备普遍都是 SATA3 接口了,但是 SATA3 是向下兼容 SATA2 跟 SATA1 的(所以下文我们只讨论SATA3)。 PCI-E 跟 SATA3 简说就是数据走的“路”。PCI-E 就像是特别宽大的路,数据可以走的特别快,而 SATA3 与之相比更像是一条崎岖的小路,数据走的特别慢。但是CPU内部就那么大一,修不了特别多的大路,所以PCI-E通道也就仅有那么几条。 通常 SATA 的插槽只能走 SATA3 的通道。而 M.2 的插槽上文我们说了分为 Socket 2 跟 Socket 3。M.2(Socket 2)的固态可以走 SATA3 或者 PCI-E 3.0×2...阅读全文

博文 2019-01-23 13:28:23 debian.cn

Focalboard :一款开源、本地存储、免费的类 Notion 应用

从 Notion 到 Focalboard近两年来,Notion 作为一款在线笔记应用,以其强大的功能和优雅的颜值获得了大量用户的关注和喜爱。大量的用户通过 Notion 的 Block 、Database等功能,挖掘了适合教育、营销、市场管理、开发等多个场景的使用模版。然而,Notion 在国内使用也有不少槽:加载速度慢、迟迟没有提供汉化版、不能离线使用、本地存储等。当然,这些槽也有一些解决方案。比如,针对网络问题,可以使用 Notion Fast等插件进行加速;针对语言问题,现在已经有了非官方的汉化方案。离线使用和本地存储的话,不知道 Notion 是否有相关规划。Notion对于一些用户而言,由于工作环境存在数据加密等需求,离线使用和本地存储成为刚需。对此,Anytype 这款开...阅读全文

博文 2021-09-16 19:50:29 少数派

Pyinotify – Linux中实时监控文件系统更改

Pyinotify 是一个简而实用的 Python 模块,它用于通过 inotify 实时监控Linux文件系统的更改。用于在Linux中实时监控文件系统的变化。 作为系统管理员,您可以使用它来监视目标感兴趣的更改,如Web目录或应用程序数据存储目录及其他目录。这取决于inotify (包含在 2.6.13及后续Linux内核中的功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间。 pyinotiy的目的是绑定三个系统调用,并支持其上的实现,提供了一个共同和抽象的手段来操纵这些功能。 在本文中,我们将向您展示如何在Linux中安装和使用pyinotify来实时监控文件系统更改或修改。 依赖关系 为了使用pyinotify ,您的系统必须运行: Linux内...阅读全文

博文 2011-11-09 10:53:58 debian.cn

Go 1.10 发布说明草案:预计于 2018 年 2 月发布

Go 1.10 还没发布,下面将简介绍正在进行中的 Go 1.10 发布说明草案。Go 1.9 已于 2017 年 8 月发布,最新的 Go 1.10 预计将于 Go 1.9 发布六个月后 —— 2018 年 2 月发布。 Go 1.10 大部分的变更仍然集中在工具链、运行时和库的实现上。一如既往地,此版本依然会 保持与 Go 1.x 的兼容性 ,官方表示几乎所有的 Go 应用程序都能像以前一样继续编译和运行。 语言特性方面的改变 语言特性方面没有实质性的变化。 极端情况下,由无类型常量引起的变化已经弄清楚。因此,编译器也已进行升级,它可允许这样的索引表达式 x[1.0 << s] 通过编译,其中 s 是一个无类型常量。go/types 包也已完善。 方法表达式的语法 (grammar...阅读全文

博文 2017-11-18 13:59:12 debian.cn

Java 10 正式发布:包含 109 项新特性

期待已久的 Java 10 已正式发布!你可以通过这里下载 Java 10 正式版。为了更快地迭代,以及跟进社区反馈,Java 的版本发布周期变更为每六个月一次,并且承诺不会跳票。新的发布周期也会严格遵循时间,将在每年的 3 月份和 9 月份发布。 Java 10 是采用新发布周期的第一个版本,提供了 109 项新特性,其中最备受关注的莫过于局部变量的类型推断。 相关链接: JDK 10 安装指南 JDK 10 发布说明 Readme Java 10 的 12 项关键新特性: JEP 286: 局部变量的类型推断。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中 JEP 304: 垃圾收集器接口。通过引入一...阅读全文

博文 2018-03-21 08:35:10 debian.cn

Omi 5.0.5 发布,腾讯开源的下一代 Web 框架

Omi 5.0.5 已发布。Omi 是腾讯开源的下一代 Web 框架,去万物糟粕,合精华为一,让 JSX、Web Components、Proxy、Store、Path Updating 在一起。Github地址:https://github.com/Tencent/omi/ OMI 特性: 小巧的尺寸(gzip压缩后仅4kb) 真正的 MVVM, 拥有 mappingjs 强力支持 支持 TypeScript 响应式数据绑定 增强了 CSS, 支持 rpx 位,基于 750 屏幕宽度 基于 Shadow Dom 设计 利用Chrome 开发工具扩展 轻松调试,从 Chrome 应用商店安装 符合浏览器的发展趋势以及API设计理念 Web Components + JSX 相互融合为一个...阅读全文

博文 2018-12-13 02:36:19 debian.cn

Kong 1.3 发布:原生 gRPC 代理、上游 TLS 交叉认证

Kong 1.3 发布了,此版本亮包括支持原生 gRPC 代理、上游 TLS 交叉认证,以及一系列新功能和性能改进。 原生 gRPC 代理 越来越多的用户转向微服务架构,并且希望有对原生 gRPC 代理的支持,Kong 1.3 解决了这个问题,为支持 gRPC 的基础架构带来更多可控性和可见性。路由和服务条目的协议属性现在可以设置为 grpc 或 grpcs,这对应于通过明文 HTTP/2(h2c)的 gRPC 和通过 TLS HTTP/2(h2)的 gRPC。 这一功能的关键优势在于: 简化运作流程。为用户的 gRPC 服务添加 A/B 测试、自动重试和断路保护,以提高系统可靠性。更具观察性。为 gRPC 服务增强日志记录、分析与 Prometheus 集成。 上游 TLS 交叉认证...阅读全文

博文 2019-08-22 14:54:57 debian.cn

都是颗粒 为什么SSD有寿命、内存却没有?

随着技术的发展,我们使用的存储器也各种各样,虽然都基于芯片颗粒,但表现截然不同,比如说读写次数限制,或者叫寿命,SSD固态硬盘就有限制,DRAM内存却没有。 按照分布位置的不同,DRAM内存属于内部存储器,紧挨着CPU处理器,用来临时存放后者需要的运算数据,并与外部存储器进行交换,起到桥梁的作用。 DRAM内存的特是读写速度快、延迟低,但属于易失性存储,也就是一旦断电,数据就会全部丢失。 DRAM内存颗粒利用晶体管加电容来保存数据,而且只是临时存储数据,并没有实质性的写入,不涉及对物理元结构、属性的改变,所以可以无限次读写。 当然,这并不意味着DRAM内存就可以永久使用,毕竟其中的晶体管、电容等物理结构也会慢慢老化,所有电子设备都是如此,只是这个过程非常非常缓慢,正常使用根本感觉不到...阅读全文

西部数据的Zonefs将登陆Linux 5.6内核

SMR HDD和其他分区式存储设备提出的优化方案。它在传统的块设备之外提供了另一种映射,将分区式存储设备上面的每一个区都映射成一个独的文件,这带来的好处就是应用程序无需修改太多的代码即可利用上分区式存储设备的优,很多原本要自己做的控制都被集成在Zonefs里面了,不用开发者来动手了,这大大减少了使用分区式存储设备的迁移工作量。 Linux 5.6内核已经发布了第三个发布候选版,预计将于近期发布正式版,这版内核包括有针对新硬件的支持,被 Phoronix 称为是近几年最激动人心的Linux内核更新。...阅读全文

Jonathan Carter 当选新一任 Debian 项目负责人

见性和透明度。更好地跟踪本地团队。改进 DPL 更新。 其中他提到改善在线协作的能力,除了使用当前的 IRC 之类的工具,还需要用上共享屏幕与视频剪辑等新的解决方案,特别是因为 SARS-CoV-2 病毒导致 COVID-19 肺炎,这场危机使今年成为考虑使用其它协作工具特别重要的一年。同时关于线上协作,还将考虑增加年度在线 DebConf。 Jonathan Carter 还希望促成内部导师制度,在 Debian 中培养一种文化,在这种文化中,对他人代码的审查和指导同样受到重视,并且将有更多的 Debian 开发者被鼓励花更多的时间在这一上。 另一方面,Jonathan 认为“Debian Developer”(Debian 开发者)一词已经改变了原意,例如我们说“Android 开发者...阅读全文

博文 2020-04-22 13:50:05 debian.cn

Intel放弃桌面版 Clear Linux 全面转向云和服务器端

能力,并提供了更多的桌面软件包。而现在“对于 Clear Linux OS 团队来说,情况已经发生了变化”,官方表示,现在他们仍然想吸引开发人员,但是在支持多样化和复杂的桌面环境,甚至多个桌面环境方面的投入已经不如以前了。考虑到这一,Clear Linux 决定将重心偏向云和服务器来简化内容产品。 “对于开发人员而言,提供与桌面无关的实际优化组件,也就是云和服务器工作负载仍然至关重要。能够开发、部署和操作这些工作负载绝对是最重要的事情。” 具体的变化还会在论坛中讨论,而现在已经有了一些进展。一方面将删除一些桌面自定义项,包括扩展、主题和图标,这些是发行版当前作为默认桌面产品的一部分提供的。桌面将迁移到“原始的” GNOME 3.36,现在团队不再花那么多时间精力去发展桌面。Clear...阅读全文

博文 2020-04-28 07:52:58 debian.cn

AMD 为 RHEL/CentOS 替代品 AlmaLinux 提供支持

利益而创建。​AlmaLinux OS 基金会主席 benny Vasquez 表示,“我们成立 AlmaLinux 操作系统基金会的具体目标是创建一个 CentOS 继任者,让那些与操作系统的未来息息相关的人也有发言权。如果没有我们成员的支持,我们的成功是不可能的,能在使用 Linux 的主要行业中得到如此强烈的响应令人振奋。热烈欢迎 Sine Nomine、AMD、BlackHOST 和 KnownHost。如果你的组织关心最好的下游 RHEL 克隆的未来,请与我们联系!你的声音在这里很重要,我们很高兴向全世界证明这一。这就是开源成长和繁荣的方式。”AMD 加入 AlmaLinux OS Foundation,以维持对 AMD 产品的支持。AMD 数据中心生态系统和解决方案公司副总裁...阅读全文

K8S中Pod的四个阶段及状态分析

Kubernetes 中, pod 从创建到成功运行会分别处于不同的阶段,每个阶段又分为不同的状态,本文将简介绍这个环节。 在 K8S 源码中,使用了 PodPhase 这个变量定义这几个阶段信息,如下图所示: 运行中(PodRunning):该 Pod 已经绑定到了一个节上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启状态。等待中(PodPending): 创建 Pod 的请求已被 Kubernetes 系统接受,但有一个或者多个容器镜像尚未创建。可能的原因有,写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending 伴随的事件通常会有:ADDED, Modified这两个事件的产生。等待时间包括调度 Pod 的时间和下...阅读全文

博文 2020-07-15 13:11:45 debian.cn

希捷预告120TB机械硬盘:全新介质、单碟容量达10TB

、材料是必不可少的。对此,希捷也有长远的规划,首先是所谓的“颗粒介质”(Granular),可以让存储密度达到4-6Tb每平方英寸,3.5寸硬盘能够藉此做到90TB左右。接下来是进化版的“有序颗粒介质”(Ordered-Granular),存储密度进一步提升到5-7Tb每平方英寸,3.5寸硬盘可继续扩大到105TB左右。更遥远的是“比特晶格介质”(Bit Patterned),存储密度将能够突破8TB每平方英寸,120TB乃至更大容量就靠它了。这个目标计划在2030年落地,而到那时候,碟容量将达到10TB,而目前只有2TB多一。但即便如此,120TB也需要多达12张碟片,而目前的极限是9张,显然在硬盘封装技术上,也需要有所突破。至于SSD彻底取代机械硬盘,希捷不敢苟同,而是认为二者都有各自...阅读全文