以Flink为基础的实时计算在B站有着广泛而深入的应用。目前B站的Flink作业主要运行在三种集群环境下:纯物理机部署的YARN集群、为了提高Kafka集群资源利用率而和Kafka混部的YARN集群以及为了提高线上服务器而和K8S混部的YARN集群(这部分有计划在不远的将来使用Flink On K8S部署方式代替)。其中纯物理机YARN集群使用纯SSD盘的统一机型的服务器,包含1000+台服务器;和Kafka混部的集群目前为Flink提供了2000+ cores;和线上的K8S混部的集群已经使用了6000+ cores,并且还在持续增加。在业务方向上,B站的Flink已经应用在了包括AI、广告、数仓、数据传输和其它的很多业务上。目前B站Flink作业的最大并行度为2000。下图展示了B站实时应用的整体架构及Flink Runtime的工作范围。
本期知识小报的主要内容包括: • Lombok 之 @Builder 注解与 JSON 反序列化的冲突 • 如何动态设置日志输出级别 • JWT的生成原理和误区 • Java 8 parallelStream 避坑指南
本文简述了 GPU 的渲染管线和硬件架构,对一些常见问题进行了讨论和分析。有以下几点核心内容:(1)移动平台渲染管线 TBDR 的介绍;(2)GPU 缓存体系的介绍;(3)Warp 的执行机制;(4)常见的如 AlphaTest 或者分支对性能的影响。
Serverless 炙手可热,被称为云原生未来发展的方向。信通院报告显示:在核心业务中使用 Serverless 的用户占到18.11%,已经开始和计划使用 Serverless 技术的用户超过了70%。Serverless 广受追捧,得益于它在“快速的开发交付”、“极高的运维效率”、“极低的资源成本”这三个方面上的优势。 Serverless 可以让业务更快上云,让用户用最小的运维投入享受云带来的便利性。底层资源规划及运维交给更专业的云平台处理,使用户可以更专注业务和产品本身,从而更好地提升产品和业务的核心竞争力。 Serverless 的优势如此明显,但在实际落地使用中,无论是云厂商还是用户,均处在摸着石头过河的阶段,仍在不断学习不断试错,主要原因是 Serverless 在带来便利性的同时,也打破了传统 Serverful 模式下的种种用户使用习惯,对企业各个组织均造成了冲击;其先进的产品形态在老的架构上又引入了较高的适配复杂度。具体表现在:
为了应对大流量,现代应用/中间件通常采用分布式部署,此时不得不考虑 CAP 问题。ZooKeeper(后文简称 ZK)是面向 CP 设计的一个开源的分布式协调框架,将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用,分布式应用程序可以基于它实现诸如 数据发布/订阅、负载均衡、命名服务、集群管理、Master 选举、分布式锁、分布式队列 等功能。ZK 之所以能够提供上述一套分布式数据一致性解决方案,核心在于其设计精妙的数据结构、watcher 机制、Zab 一致性协议等,下面将依次剖析。
今年阿里巴巴成立科技伦理治理委员会,把科技伦理作为技术发展的一个非常重要的方向考虑,并开始重点着手在隐私保护、深度学习、AI安全等关键方向前沿技术的布局和探索。 在近期的多个顶会上,阿里巴巴多篇该方向的研究论文入选。为了方便大家更全面了解安全可靠的人工智能技术进展,我们邀请清华大学的专家一起,在11月30日14点为大家带来包括安全隐私计算、对抗学习、贝叶斯深度学习、异常检测、鲁棒评估、噪声学习、 鲁棒动态图学习、偏微分方程求解等多方向技术趋势的最新顶会论文和专业直播解读,欢迎预约关注。
One of the most useful, but often misunderstood and misconfigured, features of NGINX is rate limiting. It allows you to limit the amount of HTTP requests a user can make in a given period of time. A request can be as simple as a GET request for the homepage of a website or a POST request on a log‑in form. Rate limiting can be used for security purposes, for example to slow down brute‑force password‑guessing attacks. It can help protect against DDoS attacks by limiting the incoming request rate
开发软件时我们会遇到很多问题,需要基于现有知识做出决策并不断调整,与此同时又创造出了新的知识。这里提到的知识包括需要解决的问题、做出的决策、决策的原因、事实背景以及替代方案等。但研发节奏越来越快,快到我们不可能花费很多时间完整编写、更新文档,但我们又希望获得文档带来的所有好处。如何把技术文档沉淀地更具有性价比就成了一个长期挑战。