前不久,我因为运动时的姿势不对,导致右腿骨折,喜提三个月的居家修养。按照作家刘震云的说法,这叫做着正确的事情,却迈着不正确的步伐。于是乎,我的活动空间骤减,每日除了短暂地楼下放风,便是卧坐于方寸之间。周遭静下来,许多回忆便涌了上来。 从 2008 年开始,我陆陆续续参与了多个 DevOps 系统的建设,如今,审视这些系统的建设初衷和它们的设计思路或遇到的问题,依然有不少借鉴意义。我会按照时间顺序,把每个 DevOps 系统的特点,诞生的背景,以及在当时所主要解决的问题做一个概要的介绍,同时,我们也会以今天的视角再次审视这些问题,来看下同样的问题,经过十几年的发展,解决方案上有哪些不同。
随着浏览器版本的持续更新,浏览器对JavaScript的支持越来越强大,Babel的重要性显得较低了。但Babel的设计思路、背后依赖的ECMAScript标准化思想仍然值得借鉴。 本文涉及的Babel版本主要是V7.16及以下,截至发文时,Babel最新发布的版本是V7.25.6,未出现大版本更新,近2年也进入了稳定迭代期,本文的分析思路基本适用目前的Babel设计。
单点登录作为公共组件,在各个公司内部被各个系统所广泛使用,但是在使用过程中我们会遇到各种各样的问题,其中循环登录问题就是一个比较经典的问题。本文主要分析单点登录和权限系统设计的基本原理,然后结合实际案例来分析循环登录的原因,并给出具体的解决办法。
在软件架构中,限流是一种控制资源使用和保护系统安全的重要机制。它通过限制在一定时间内可以处理的请求数量,来防止系统过载。
PC直播姬中的直播素材之一——投屏源可与安卓或iOS移动端应用(直播姬、粉版)配合使用,将移动端画面投射到PC直播姬中。投屏源最初仅支持无线投屏,即通过局域网 WiFi传输,但这样的链路会受到网络质量影响,而且如果Windows计算机和移动设备不在同一网段或者配置了局域网隔离,那么就无法投屏成功。 无线投屏的这些缺点,使用USB有线投屏即可克服。本文基于Windows平台,介绍计算机与安卓/iOS通过USB交换数据的实现方式。
在字节跳动,每天有数百万的大数据作业在其全球的数十个数据中心运行。由于作业计算和存储资源的不匹配,存在将跨机房带宽用尽的风险,这会影响其他业务的运作,还会造成不同机房的资源负载不均衡。而且跨机房带宽存在成本高、延迟高、稳定性差等问题,会大幅增加作业的运行时长。为兼顾作业完成时间(Job Completion Time, JCT),并均衡不同机房之间资源的负载,字节跳动基础架构计算团队、存储团队、应用研究中心,和系统部网络团队协作,共同研发了多机房计算、存储、网络一体化资源管理系统 ResLake。ResLake 具备资源的全局视角,通过作业调度、数据调度、网络管控等手段,能够显著优化计算和存储的布局,有效降低业务运营成本。ResLake 上线后,作业平均 JCT(最小化用户作业完成时间) 时间降低了 20%,机房间资源利用率均衡性提升了 53%,跨机房流量降低了 50%,存储成本降低了 46%。