深入浅出线程池 | 京东云技术团队
一、线程 1、什么是线程 线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际 运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线 程并行执行不同的任务。 2、如何创建线程 2.1、JAVA中创建线程 /**
* 继承Thread类,重写run方法
*/
class MyThread extends Thread {
@Override
public void run() {
实时数仓混沌演练实践
一、背景介绍 目前实时数仓提供的投放实时指标优先级别越来越重要,不再是单独的报表展示等功能,特别是提供给下游规则引擎的相关数据,直接对投放运营的广告投放产生直接影响,数据延迟或者异常均可能产生直接或者间接的资产损失。 从投放管理平台的链路全景图来看,实时数仓是不可或缺的一环,可以快速处理海量数据,并迅速分析出有效信息,同时支持投放管理平台的手动控盘。实时节点事故,将可能导致整个投放链路无法正常运行,另外,投放规则引擎是自动化操作,服务需要24小时运行,所以需要配置及时有效的数据质量监控预警,能
交易日均千万订单的存储架构设计与实践 | 京东物流技术团队
一、订单系统概述 1.1 业务范围 服务业务线:快递、快运、中小件、大件、冷链、国际、B2B合同物流、CLPS、京喜、三入三出(采购入、退货入、调拨入、销售出、退供出、调拨出)等 1.2 订单中心价值 1、解耦(提升系统稳定性) 原系统:交易与生产耦合在一起,业务新增需求,涉及个上下游多个系统。ECLP、外单、运单、终端系统等。多条业务线的逻辑耦合在一起,单一业务条线的需求改动,涉及原系统中其他业务线的关联改造。 新系统:交易与生产运营解耦:交易相关的需求在订单的域内解决;生产侧的需求,在生产
小程序编译器性能优化之路
作者 | 马可 导读 小程序编译器是百度开发者工具中的编译构建模块,用来将小程序代码转换成运行时代码。旧版编译器由于业务发展,存在编译慢、内存占用高的问题,我们对编译器做了一次大规模的重构,采用自研架构,做了多线程、代码缓存、sourcemap 等多项优化,在性能和内存占用上都有很大提升。全文介绍了新版编译器的设计思路和优化方法,以及一些能够用在通用打包工具里的技术点。 全文6629字,预计阅读时间17分钟。 01 前言 小程序编译器在小程序开发、预览、发布各个阶段都需要使用,因此编译器性能会
定义现代化实时数据仓库,SelectDB 全新产品形态全面发布
导读:9 月 25 日,2023 飞轮科技产品发布会在线上正式召开,本次产品发布会以 “新内核、新图景” 为主题,飞轮科技 CEO 马如悦全面解析了现代化数据仓库的演进趋势,宣布立足于多云之上的 SelectDB Cloud 云服务全面开放,增加了全新的私有仓库(BYOC)产品模式,同时发布了更加自主可控的 SelectDB Enterprise 企业版。飞轮科技联合创始人兼 COO 连林江介绍了基于 SelectDB 的多个场景解决方案以及生态合作模式,来自同盾科技、趣丸科技以及观测云的多位
真·Redis缓存优化—97%的优化率你见过嘛? | 京东云技术团队
本文通过一封618前的R2M(公司内部缓存组件,可以认为等同于Redis)告警,由浅入深的分析了该告警的直接原因与根本原因,并根据原因提出相应的解决方法,希望能够给大家在排查类似问题时提供相应的思路。 一、问题排查 1.1 邮件告警 正值618值班前夕,某天收到了邮件告警,告警内容如下: 您好,R2M监控报警,请您及时追踪一下! 报警信息:告警ID:6825899, 应用:zr_credit_portal, 负责人:zhangsan, 告警类型:内存使用率, 时间:2023-06-15 16:
GreatSQL一个关于主从复制的限制描述与规避
一、背景 分享一个在项目运维中遇到的一个主从复制限制的一个坑,项目的架构为主集群+灾备集群,每个集群为一主两从模式。主集群到灾备集群的同步为主从复制的方式,根据业务需求灾备集群需要忽略系统库跟某些配置表,所以才会触发此限制,而这个限制如果我们之前没有遇到过,那么排查起来也是相对不易的。 二、限制描述 1、主从同步出现报错 greatsql> show slave status\G
*************************** 1. row **********************
【稳定性】关于缩短MTTR的探索 | 京东物流技术团队
一、什么是 MTTR ? 当系统出现系统故障时,我们需要通过一些指标来衡量故障的严重程度和影响范围。其中MTTR(Mean Time To Repair 名为平均修复时间)是一个非常重要的指标,它可以帮助我们了解修复系统所需的平均时间。花费太长时间来修复系统是不可取的,尤其对于京东这样的企业来说更是如此。如果MTTR过长,可能会导致用户结算卡单、影响公司收入损失等严重后果。因此,为了确保系统的稳定性和可靠性,我们需要尽可能地缩短MTTR。 要计算MTTR,就是将总维护时间除以给定时间段内
网易数帆王佰平晋升Envoy Proxy senior maintainer
数智时代,开源软件因成为企业竞争力的核心支撑获得了空前的关注,但在降本增效风暴席卷全球的今天,坚持投入开源是一件艰难的事情,而网易数帆一直活跃于开源路上。近日,Envoy 社区宣布,正式接纳网易数帆云原生技术专家王佰平晋升为社区 senior maintainer。 Envoy 是 CNCF(云原生计算基金会) 老牌毕业项目之一,现已成为服务网格和 API 网关数据面的事实标准,被谷歌、亚马逊、微软、奈飞、Salesforce 等企业广泛采用,也用在网易数帆的金融级分布式底座当中。此次宣布,意
使用Triton部署chatglm2-6b模型 | 京东云技术团队
一、技术介绍 NVIDIA Triton Inference Server是一个针对CPU和GPU进行优化的云端和推理的解决方案。 支持的模型类型包括TensorRT、TensorFlow、PyTorch(meta-llama/Llama-2-7b)、Python(chatglm)、ONNX Runtime和OpenVino。 NVIDIA Triton Server是一个高性能的推断服务器,具有以下特点: 1. 高性能:Triton Server为使用GPU进行推断的工作负载提供了高性能和低
Tomcat目录结构 | 京东云技术团队
Tomcat目录结构图如下: 1、bin目录 存放一些可执行的二进制文件,****.sh 结尾的为linux下执行命令,****.bat 结尾的为windows下执行命令。 catalina.sh:真正启动tomcat文件,可以在里面设置jvm参数。 startup.sh:启动tomcat(需事先配置好JAVA_HOME环境变量才可启动,该命令源码实际执行的为catalina.sh start)。 shutdown.sh:关闭tomcat。 version.sh:查看tomcat版本相关信息。
在表格开发中,如何选择适合自己的处理工具?
引言 GcExcel和EasyExcel都是卓越的高性能Excel处理库。GcExcel是由葡萄城公司开发,可用于Java和.Net平台;而EasyExcel是阿里巴巴开发的基于Java的开源Excel处理库。 在本文中,我们将对GcExcel和EasyExcel进行比较,帮助读者在实际场景中做出明智选择。 EasyExcel与GcExcel的区别 每个产品背后都有其设计初衷,EasyExcel的主要目标是解决POI在读写Excel文件时遇到的一些问题,例如内存占用过大、经常出现OOM(内存溢
WhaleStudio 分钟级构建 AI 模型,强大 Ops 能力简化模型调度与部署
什么是机器学习(ML)? 它有什么作用 机器学习(ML)是人工智能(AI)的一个子集,通过算法发现数据中的通用模式,并根据持续不断的训练来优化调整最终结果。ML模型从过去的经验中学习,并根据已有的经验进行预测。例如,现在的电商已不再会使用普遍性降价或优惠券等手段吸引客户,取而代之的是根据每个客户的历史购买模式构建个性化优惠,并将这些数据与客户PII信息,网络搜索、当前地理位置、移动应用程序中的活动等实时信息相结合。这样,就可以构建ML模型来预测客户购买特定产品的倾向。所有的营销活动开始由数据和
手把手教你用 Milvus 和 Towhee 搭建一个 AI 聊天机器人!
作为向量数据库的佼佼者,Milvus 适用于各种需要借助高效和可扩展向量搜索功能的 AI 应用。 举个例子,如果想要搭建一个负责聊天机器人数据管理流程,Milvus 必然是首选向量数据库。那么如何让这个应用程序开发变得易于管理及更好理解,那就需要借助 Towhee(https://towhee.io/)了。Towhee 是一个新兴的机器学习(ML)框架,可以简化了实现和编排复杂 ML 模型的过程。 接下来我将介绍如何通过 Python 使用 Milvus + Towhee 搭建一个基础的 AI
Grafana 10 新特性解读:体验与协作全面提升
为了庆祝 Grafana 的 10 年里程碑,Grafana Labs 推出了 Grafana 10,这个具有纪念意义的版本强调增强用户体验,使各种开发人员更容易使用。Grafana v10.0.x 为开发者与企业展示卓越的新功能、可视化与协作能力,其中还包括: 更新 Panel 面板 更新 Dashboard 更新导航栏 更新 Grafana Altering 本文仅介绍了 Grafana v10.0.x 更新的部分功能特性,更多详细信息,请参见 Grafana 官方文档 [1]。 那么,今
四问复合索引,让你的数据查询速度飞起
本文分享自华为云社区 《华为云GES持久化图数据库复合索引介绍》,作者:村头树下。 本文章主要介绍索引的作用,以及如何实现这种功能,希望可以帮助理解索引的作用以及如何使用索引 1. 什么是复合索引 复合索引是用户手动建立的用于加速查询的一类额外数据。详细参数可以参考规格文档 https://support.huaweicloud.com/api-ges/ges_03_0454.html 2. 复合索引能做什么 复合索引有两类。一是label索引,用于加速label的扫描。二是属性索引,用于加速
代码检查过程中为什么需要涉及到编译呢?
本文分享自华为云社区 《代码检查过程中为什么需要涉及到编译呢?》,作者:gentle_zhou。 随着大家对软件安全越来越重视,在编码阶段针对源码安全的保障也被各行各业企业研发测试运维团队与个人开发者越来越频繁的被提及,其中静态代码检查SAST工具尤为突出。 SAST代码检查服务作为一款可以对源码进行质量(包括风格)、安全、规范等方面进行检查的工具,它可以检测出代码中存在的缺陷与风险。而随着大家对工具深入的使用,很多小伙伴在使用过程中产生了困惑,不是说好只针对源码进行检查吗?为什么还会涉及编译
如何利用OpenNJet动态配置故障注入
NGINX 向云原生演进,All in OpenNJet 中断导致的服务中断可能会造成严重的业务后果,因此构建、运行和测试弹性系统非常重要。系统的弹性源自其各部分的弹性:系统的每个部分都能够处理一定数量的错误或故障。无论是后续的服务不可用、网络延迟还是数据可用性问题,分布式系统都充满了相应的错误处理的隐含非功能性需求。 什么故障注入? 故障注入是软件测试的补充技术,用于提高软件性能和弹性。通常的 测试方法验证软件的正确行为,而故障注入则通过故意注入的故障来评估软件的正确行为。 HTTP故障注入
Svelte 造了个“新轮子”—— runes
前端 UI 框架 Svelte 宣布下一个大版本 Svelte 5 将引入名为「runes」的新 API。 从公告来看,runes 是 Svelte 开发团队对“响应式” (reactivity) 进行反思的一次探索。 Svelte 5 changes all that with runes, which unlock universal, fine-grained reactivity. 他们表示 runes 提供了更通用、以及更细粒度的响应性。 由于 Svelte 的 runes 和 Vu
Go 1.22 将修复 for 循环变量错误
上月正式发布的 Go 1.21 修改了 for 循环变量的语义(预览阶段,点此查看详情)。 现在,Go 团队表示 Go 1.22 会将这项特性发布为正式功能。 根据 Go 开发团队技术 leader Russ Cox (rsc) 的介绍,Go 开发者经常会犯的错误是在循环迭代结束后,保留对循环变量的引用,此时它会采用预期之外的新值。 例如下面的程序:
func main() {
done := make(chan bool)
values := []string{"
今日推荐
周排行