全网第一份 Micronaut Native Image 支持 AWT 指南 前言 全网第一份,是真的内外网第一份!也许有大佬这种小问题早就轻松解决了,但从来没有一个人(不论是内网还是外网)把到底怎么做给大家一次讲清楚。 当我们不论使用 Micronaut 框架还是其他框架时,如果项目中使用了 AWT 相应特性(仅特性,非 Swing 应用),比如生成图片,在我们将 Java 应用编译为 Native Image 本地应用后,可能就会报出很多和 AWT 相关的异常,导致生成 云计算 2024-03-28 大白菜程序猿
交互延迟上的探索与最佳实践RUM FID 在互联网高速发展的时代,用户体验已成为企业竞争的关键所在。网页性能作为用户体验的重要组成部分,直接影响着用户的满意度和工作效率。First Input Delay(FID)作为衡量网页性能的重要指标,越来越受到业界关注。今天,让我们一起来深入了解FID,探讨如何优化FID以提升用户体验,同时里面会有一些小的干货分享。 介绍 First input dealy,指的是用户首次与网页互动时的延 云计算 2024-03-28 LOVEHL^ˇ^
RocketMQ 流数据库解析:如何实现一体化流处理? 作者:林清山(隆基) 前言: 从初代开源消息队列崛起,到 PC 互联网、移动互联网爆发式发展,再到如今 IoT、云计算、云原生引领了新的技术趋势,消息中间件的发展已经走过了 30 多个年头。 目前,消息中间件在国内许多行业的关键应用中扮演着至关重要的角色。随着数字化转型的深入,客户在使用消息技术的过程中往往同时涉及交叉场景,比如同时进行物联网消息、微服务消息的处理,同时进行应用集成、数据集成、实时 云计算 2024-03-27 三掌柜
Fluid 携手 Vineyard,打造 Kubernetes 上的高效中间数据管理 作者:曹野 车漾 背景介绍和面临的挑战 随着 Kubernetes 在 AI/大数据领域的普及和业务场景变得越来越复杂,数据科学家在研发效率和运行效率上遇到了新的挑战。当下的应用,往往需要使用端到端的流水线来实现,以下图所示的一个风控作业数据操作流为例:首先,需要从数据库中导出订单相关数据;随后,图计算引擎会处理这些原始数据,构建“用户-商品”关系图,并通过图算法,初筛出其中隐藏的潜在作弊团伙;接 云计算 2024-03-27 爱可生开源社区
适应多样化需求:WASM 插件在全链路灰度发布中的应用 作者:十眠 据调研数据显示,约 70% 的生产故障是由变更引起的。为了消除变更过程存在的风险,在发布过程中,我们总是希望能够用小部分特定流量来验证下新发布应用是否正常。即使新版本有问题,也能及时发现,控制影响面,保障了整体的稳定性,这就是微服务架构下的全链路灰度的能力。 MSE 在微服务全链路灰度场景下提供了一套成熟完善且开箱即用的能力。 随着企业微服务化改造的深入,对微服务治理的场景与应用也有了 云计算 2024-03-26 竹子爱熊猫
Kubernetes集群搭建部署实践(v1.28.2) 本文记录了在作者本地使用三台CentOS虚拟机,搭建部署单Master双Slave Kubernetes集群。 题图源:Understanding Your Kubernetes Deployment Lifecycle 1 系统准备 搭建部署包含1个Master结点和2个Slave结点的Kubernetes集群,需要准备3台Linux虚拟机作为集群结点,可以通过VMware Worksation 云计算 2024-03-23 向阳逐梦
containerd源代码分析: 整体架构 本文从代码的大的整体组织上来熟悉containerd项目 containerd项目总的说是一个cs模式的原生控制台程序组。containerd作为服务端来接收处理client的各种请求,如常用的拉取推送镜像,创建查询停止容器,生成快照,发送消息等。client/server之间通过grpc和ttrpc框架进行交互。 我们可以先看一下contanerd源代码中的cmd下文件夹如图: 每一个目录都会生 云计算 2024-03-22 Escape
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22) 在Go语言中,结构体(Struct)是一种自定义的数据类型,用于封装不同类型的数据字段。结构体可以看作是一种用户自定义的数据结构,用于组织和管理相关的数据。结构体由一组字段(Fields)组成,每个字段可以是不同的数据类型,可以是基本类型(如整数、浮点数、布尔值等)、复合类型(如数组、切片、映射等)、或者其他自定义的结构体类型。 Go语言结构体的基本特性 自定义数据类型:结构体是一种自定义的数据类 云计算 2024-03-22 大树
在 GraalVM 静态编译下无侵入实现可观测探索 作者:铖朴、层风 GraalVM 静态编译 背景介绍 随着云原生浪潮的蓬勃发展,利用云原生技术为企业应用提供极致的弹性能力是企业数字化升级的核心诉求。但 Java 作为一种解释执行+运行时实时编译的语言,相比于其他静态编译型语言天生具有如下不足,严重影响了其快速启动与扩缩容效果。 冷启动问题 Java 程序启动运行详细过程如图 1 所示: 图 1:Java 程序的启动过程分析 [ 1] Java 云计算 2024-03-22 剑圣无痕
万字心路历程:从十年老架构决定重构开始 作者:笃敏 概述 走近iLogtail iLogtail是一款高性能的轻量级可观测数据采集器,由阿里云SLS团队官方提供,可以运行在包括服务器、容器和嵌入式等多种环境中,其宗旨在于帮助开发者构建统一的数据采集层,助力可观测平台打造各种上层应用场景。iLogtail多年来一直稳定服务阿里集团、蚂蚁集团以及众多公有云上的企业客户,目前已经有千万级的安装量,每天采集数十PB的可观测数据,广泛应用于线上监 云计算 2024-03-22 捡田螺的小男孩
运维人少,如何批量管理上百个微服务、上千条流水线? 作者:周静 随着微服务和云原生技术的发展,一个业务系统往往由多个微服务应用组成,多个业务方向涉及几十上百应用。每个应用研发过程又划分为测试、预发、生产多条流水线,也即成百上千条流水线。而一个企业下通常只有 1~2 个运维或架构师负责这些应用的配置管理工作。该场景下你是否会遇到以下苦恼: 业务应用太多啦,一个应用配置的修改就得修改几十上百遍,还有可能错改、漏改? 流水线太多啦,怎么分组管理,快速找到 云计算 2024-03-22 穿过生命散发芬芳
谈谈我对 AIGC 趋势下软件工程重塑的理解 作者:陈鑫 今天给大家带来的话题是 AIGC 趋势下的软件工程重塑。今天这个话题主要分为以下四大部分。 第一部分是 AI 是否已经成为软件研发的必选项;第二部分是 AI 对于软件研发的挑战及智能化机会,第三部分是企业落地软件研发智能化的策略和路径,第四部分是我们现有的可采纳的、可落地的工具,在这一部分我也会重点介绍通义灵码整体的产品能力和概况。 AI 已经成为软件研发的必选项 这张图是麦肯锡最近发 云计算 2024-03-21 大猫
RocketMQ 流存储解析:面向流场景的关键特性与典型案例 作者:林清山(隆基) 前言: 从初代开源消息队列崛起,到 PC 互联网、移动互联网爆发式发展,再到如今 IoT、云计算、云原生引领了新的技术趋势,消息中间件的发展已经走过了 30 多个年头。 目前,消息中间件在国内许多行业的关键应用中扮演着至关重要的角色。随着数字化转型的深入,客户在使用消息技术的过程中往往同时涉及交叉场景,比如同时进行物联网消息、微服务消息的处理,同时进行应用集成、数据集成、实时 云计算 2024-03-21 泡泡
云效 AppStack + 阿里云 MSE 实现应用服务全链路灰度 作者:周静、吴宇奇、泮圣伟 在应用开发测试验证通过后、进行生产发布前,为了降低新版本发布带来的风险,期望能够先部署到灰度环境,用小部分业务流量进行全链路灰度验证,验证通过后再全量发布生产。本文主要介绍如何通过阿里云 MSE 微服务引擎和云效应用交付平台AppStack 实现灰度发布。 读完本文,你将了解到: 以 SpringCloud 应用为例,了解全链路灰度场景及其工作原理; 如何基于云效 Ap 云计算 2024-03-21 张二河
掌握Go语言:利用Go语言的单向通道和select语句,提升库存管理效率(21) 在Go语言中,我们已经学习了通道的基本操作和规则,今天我们将深入探讨通道的高级玩法,特别是单向通道。首先,让我们回顾一下通道的基本操作。 基本操作回顾 通道是双向的,即可以用于发送和接收数据。我们可以使用以下方式声明一个通道: var ch chan int ch = make(chan int, 1) 上述代码创建了一个int类型的通道ch,容量为1。接着,我们可以使用通道进行发送和接收操作: 云计算 2024-03-21 贤蛋大眼萌
在 Excel 里使用 ODBC 读取云平台上 CDS view 的数据 笔者的日常工作中,会使用 API Business Hub 这个 portal 上提供的各种 Restful API,同客户的第三方系统进行集成: 在 API Business Hub 网站上,这些 Restful API,分为 SOAP,OData 和 REST 三类。 SOAP,即简单对象访问协议,是一种标准的通信协议,它定义了如何在网络中传输消息。SOAP 基于 XML(可扩展标记语言),旨 云计算 2024-03-21 大树
KubeSphere DevOps 基于 Jenkins + Argo 实现单集群的持续交付实践 作者:周靖峰,青云科技容器顾问,云原生爱好者,目前专注于 DevOps,云原生领域技术涉及 Kubernetes、KubeSphere、Argo。 背景 KubeSphere v3.3.0 引入了 Argo CD,可以直接通过内置的方式实现 GitOps,不需要额外安装,并且在 UI 上也适配了基本功能。 今天就来介绍下如何通过 KubeSphere 3.4.0 内置的 Argo CD 实现持续交 云计算 2024-03-21 Escape
基于Jenkins + Argo 实现多集群的持续交付 作者:周靖峰,青云科技容器顾问,云原生爱好者,目前专注于 DevOps,云原生领域技术涉及 Kubernetes、KubeSphere、Argo。 前文概述 前面我们已经掌握了如何通过 Jenkins + Argo CD 的方式实现单集群的持续交付,明白了整个 CI/CD 过程中不同工具在流水线中的关系。所以接下来我们将更深入的了解 Argo CD 的特性。 前文链接:KubeSphere Dev 云计算 2024-03-21 法医
云原生最佳实践系列2:基于 MSE 云原生网关同城多活 方案概述 分布在同城多个机房内的应用同时对外提供服务。同城机房物理距离较小,一般小于 50 公里。同城多活架构的难点有三个: 当某机房出现故障,能不能做到机房级的快速切换? 如何实现非对等部署下的全局的流量负载均衡? 对流量的精细化管控? 常见的同城多活实现方式(如下图),在这个架构里。DNS 本身存在缓存,DNS 的域名是映射到机房的网关 IP,网关又是每个机房一个局部的。很难做到机房级故障的秒 云计算 2024-03-20 泡泡
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20) 通道(Channel)是用来在 Go 程序中传递数据的一种数据结构。它是一种类型安全的、并发安全的、阻塞式的数据传输方式,用于在不同的 Go 协程之间传递消息。 基本概念 创建通道:使用make()函数创建一个通道。 ch := make(chan int) // 创建一个整型通道 发送数据:使用<-操作符向通道发送数据。 ch <- 42 // 将整数42发送到通道ch中 接收数据: 云计算 2024-03-20 法医