当前位置: 首页 > news >正文

云原生API网关:2024年的性能与智能化突破

API网关已经成为现代应用世界的流量控制器,并正在成为现代应用架构的重要组成部分。然而,自成立以来,他们的角色发生了巨大变化。它们正在减轻重量,变得更加可编程,并与云原生环境携手合作。

让我们来探索这一激动人心的转变。下面,我们将研究 API 网关的迷人旅程,从它们在单体应用程序中的不起眼的开始,到它们在动态微服务世界中的当前功能。

从整体架构到微服务:焦点的转变

传统上,API 网关充当整体应用程序的外观,管理访问、身份验证和流量。随着微服务架构的兴起,焦点发生了转移,因为应用程序被分解为更小的、独立的服务,每个服务都有明确定义的功能。这带来了可扩展性和敏捷性,但也带来了新的复杂性。 API 网关适应了这一新现实。

交通管理

由于涉及多种服务,高效的流量路由变得至关重要。现代 API 网关擅长负载平衡,确保请求在后端服务之间均匀分布。例如,在具有用于产品列表、购物车和用户帐户的单独微服务的电子商务应用程序中,可以将 API 网关配置为跨这些各自的服务分发对产品信息、购物车更新和用户身份验证的传入 API 请求。负载平衡算法考虑服务器运行状况和当前负载等因素,以确保最佳性能并防止任何单个服务过载。

服务发现

微服务可以动态创建和销毁。 API 网关结合了服务发现机制,跟踪可用服务并相应地引导请求。例如,服务发现工具可以与服务注册表集成以管理动态环境中的微服务。当部署新服务时,它会向服务注册表注册自身。 API网关配置了服务发现工具,自动检测新服务并更新其路由表。这可确保传入请求有效地定向到新部署的服务。

云原生革命:更轻、更快、更好

云计算推动API网关进入新时代。当今的网关是针对云构建的,与Kubernetes等容器化技术无缝集成。这转化为几个关键的好处。

首先是更轻量化设计的趋势。庞大、单一的 API 网关的时代已经一去不复返了。现代解决方案注重可扩展性和性能,使其成为云原生部署的理想选择。它们需要更少的资源,并且可以根据流量需求轻松扩展或缩减。

其次是可编程性。开发人员不再受严格配置的限制。当今的网关通过插件和脚本提供广泛的可编程选项。例如,Kong 拥有丰富的插件生态系统,可以实现速率限制、各种提供商的身份验证以及自定义逻辑执行等功能。这使得开发人员可以根据自己的特定需求定制网关并扩展其功能。

最后,现代 API 网关现在是 DevOps 工作流程中更积极的参与者。它们可以轻松地与CI/CD 管道集成,从而简化部署和回滚。这有利于更敏捷的开发流程和更快的应用程序上市时间。

API网关的安全演变:从把关人到堡垒

API网关经历了巨大的转变,从简单的流量引导器演变为安全堡垒。这种转变是由两个关键因素驱动的:始终存在的威胁形势和日益严格的监管要求。随着网络攻击变得更加复杂(想想大规模的数据泄露)以及 GDPR 和 CCPA 等数据隐私法规的重要性,强大的安全功能对于 API 网关来说不再是可选的,而是必不可少的。

让我们通过实际示例探讨现代 API 网关如何强化其安全态势:

增强的身份验证和授权

基本用户名和密码登录的日子已经一去不复返了。想象一下电子商务 API 网关。以前,基本登录可能就足够了。现在,网关可以利用 OAuth 2.0,这是一种强大的授权协议,要求用户通过 Google 或 Facebook 等受信任的提供商登录。这显着降低了未经授权访问的风险,特别是对于密码较弱的用户而言。

细粒度的安全策略和细粒度的访问控制

现代 API 网关使管理员能够创建适合特定需求的安全策略。例如,API 网关可能控制对电子商务平台内的产品目录 API 的访问。管理员可以定义精细的访问控制,允许经过身份验证的用户查看产品详细信息,但仅限授权人员授予更新或删除权限。这可确保敏感功能受到保护。

整个 API 生命周期的加密

数据安全至关重要。现代 API 网关对传输中的数据(使用 HTTPS)和静态数据(使用强加密算法)进行加密。想象一下处理患者数据的医疗保健 API 网关。加密可以保护这些敏感信息免遭未经授权的拦截,无论这些信息是在网关和医院系统之间传输还是存储在网关本身内。

高级威胁检测和监控

安全并不是被动的。现代 API 网关提供全面的监控。继续以电子商务为例,网关可以监控可疑活动,例如来自特定区域的登录尝试突然激增,这可能表明存在暴力攻击。安全团队可以利用这些见解来迅速调查和缓解威胁。

与安全生态系统集成

API 网关并不是孤立运行的。它们可以与各种安全工具集成。想象一下金融服务公司内的 API 网关。与 SIEM 平台集成可实现集中监控和事件响应。安全团队可以获得整个网络安全事件的统一视图,包括 API 活动,从而能够更快、更协调地响应网络威胁。

合规管理和审计日志记录

遵守数据隐私法规至关重要。 API 网关通过实施访问控制、数据加密和维护详细的审核日志发挥着至关重要的作用。这些日志跟踪所有 API 活动,为监管目的提供清晰的审计跟踪。此外, API 发现和文档等功能可提供对 API 功能和数据流的清晰可见性,从而简化合规性审核。

通过实施这些高级安全功能,API 网关从单纯的流量检查点转变为强大的安全堡垒。这种全面的方法可以保护敏感数据和 API 免受未经授权的访问和恶意攻击,并确保遵守数据隐私法规。随着威胁形势的发展,API 网关将继续开发更复杂的安全措施,巩固其作为现代应用程序环境中关键基础设施的地位。

未来一瞥:人工智能、分析及其他

API 网关的发展并不止于此。随着云原生格局的不断发展,我们预计会在以下领域看到令人兴奋的进步:

  • 人工智能驱动的网关:网关提供商已经推出了人工智能驱动的网关,利用机器学习来实现预测扩展和智能路由等功能。这些功能可以根据预期的流量模式动态分配资源,从而优化性能和成本效率。
  • 更深入的 API 分析:了解 API 的使用方式对于优化至关重要。高级分析功能将提供对 API 性能的更深入洞察、识别使用趋势并实现主动问题检测。这使得开发人员能够识别瓶颈,优化资源分配,并确保流畅的用户体验。
  • 全生命周期管理:一些组织正在从全生命周期 API 管理解决方案过渡到更专业的工具。这意味着从单一解决方案转变为适用于 API 生命周期每个阶段的一流、适合用途的工具集合。在每个开发阶段利用专门的一流工具的模块化方法可以实现更优化的工作流程、更广泛的功能以及根据特定需求定制 API 管理的更大灵活性。

API Gateway 领域的顶尖玩家

几家领先的供应商正在塑造 API 网关格局。以下是一些示例:

  • Kong :一种流行的开源 API 网关,以其可扩展性、灵活性和广泛的插件生态系统而闻名。 Kong 对开源的关注使其成为许多组织的经济高效的选择。
  • Apigee(由 Google Cloud 提供) :完全托管的 API 网关解决方案,提供强大的安全功能并与其他 Google Cloud 服务无缝集成。对于已经大量投资于 Google Cloud 生态系统的组织来说,Apigee 是一个不错的选择。
  • AWS API Gateway :来自 Amazon Web Services 的无服务器 API 网关服务,非常适合在 AWS 上大规模构建和部署 API。 AWS API Gateway 的无服务器特性消除了基础设施管理的需要,使其成为使用 AWS 的组织的经济高效的选择。
  • Zuplo :一种现代 API 网关,可简化 API 创建、安全性和监控。它通过直观的界面提供 API 密钥管理、速率限制和分析等功能。通过与各种后端服务的无缝集成,Zuplo 提供了一个可扩展、开发人员友好的解决方案,用于有效管理 API。

结论:未来的敏捷 API 网关

笨重、一刀切的 API 网关的时代正在消失。未来属于在云原生世界中蓬勃发展的轻量级可编程网关。通过采用人工智能、高级分析和云原生重点,API 网关将确保应用程序保持安全、可扩展和无缝集成,为更加敏捷和高效的数字未来铺平道路。

原文链接:https://nordicapis.com/how-api-gateways-are-evolving-lighter-smarter-and-cloud-native/

相关文章:

云原生API网关:2024年的性能与智能化突破

API网关已经成为现代应用世界的流量控制器,并正在成为现代应用架构的重要组成部分。然而,自成立以来,他们的角色发生了巨大变化。它们正在减轻重量,变得更加可编程,并与云原生环境携手合作。 让我们来探索这一激动人心…...

专题二十五_动态规划_两个数组的 dp (含字符串数组)_算法专题详细总结

目录 动态规划_两个数组的 dp (含字符串数组) 1. 最⻓公共⼦序列(medium) 解析: 1. 状态表⽰: 2. 状态转移⽅程: 3. 初始化:​编辑 4. 填表顺序:​编辑 5. 返回值…...

day09 接口测试(5)——使用postman 完成项目实战

【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、项目简介 2、技术栈 2.1 技术栈 2.2 技术架构图 3、初始化项目环境!!! 3.1 新建用例集 3.2 创建环境变量 3.3 登录模块 3.3.1 从测试用例文档提取数据 3.3.2…...

【Solidity】变量详解:类型、作用域与最佳实践

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 Solidity变量详解:类型、作用域与最佳实践引言1. 变量的类型与声明1…...

知识图谱9:知识图谱的展示

1、知识图谱的展示有很多工具 Neo4j Browser - - - - 浏览器版本 Neo4j Desktop - - - - 桌面版本 graphX - - - - 可以集成到Neo4j Desktop Neo4j 提供的 Neo4j Bloom 是用户友好的可视化工具,适合非技术用户直观地浏览图数据。Cypher 是其核心查询语言&#x…...

scss文件内引入其他scss文件报错

1、今天在编译一些老项目的时候,老是提示下面信息 2、而且有很多Sass import rules are deprecated and will be removed in Dart Sass 3.0.0.警告 3、用npm view sass versions看,其中sass的最新版本是1.82.0 4、经过测试"sass": "1.75…...

使用 ASP.NET Core HttpLoggingMiddleware 记录 http 请求/响应

我们发布了一个应用程序,该应用程序运行在一个相当隐蔽的 WAF 后面。他们向我们保证,他们的产品不会以任何方式干扰我们的应用程序。这是错误的。他们删除了我们几乎所有的“自定义”标头。为了“证明”这一点,我构建了一个中间件&#xff0c…...

沃丰科技智能客服在跨境电商独立站中的核心角色

随着全球化进程的加速和互联网技术的不断发展,跨境电商行业蓬勃兴起,为消费者提供了更广阔、更便捷的购物选择。在这样一个竞争激烈的市场环境中,优质的客户服务成为了企业脱颖而出的关键。沃丰科技智能客服凭借其先进的技术和人性化的设计理…...

基于Springboot滑雪物品在线租赁网站设计与实现(作品+论文+开题报告)

博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育、辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…...

android 富文本及展示更多组件

模拟微博 #热贴 和 用户 的这种 富文本形式组件,不说了, 直接上代码 package com.tongtong.feat_watch.viewimport android.content.Context import android.graphics.Color import android.util.AttributeSet import android.view.LayoutInflater impo…...

Java-JMX 组件架构即详解

JMX架构由三个主要组件构成: ‌MBeans(Managed Beans)‌:代表可管理的资源,是JMX的核心。MBean可以是Java类或接口,提供了管理操作的接口,如获取系统信息、设置参数等。‌MBeanServer‌&#x…...

开源轻量级文件分享服务Go File本地Docker部署与远程访问

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

Rust快速入门(五)

生命周期 生命周期的主要作用是避免悬垂引用。 这里我们详细说说借用检查: {let r; // ----------- a// |{ // |let x 5; // --- b |r &x; // | |} /…...

租赁系统|租赁小程序|租赁小程序成品

租赁系统是现代企业管理中不可缺少的数字化工具,它通过高效的信息整合与流程管理,为企业带来极大的便利和效益。一个完善的租赁系统开发应具备以下必备功能: 一、用户管理 用户管理模块负责系统的访问控制,包括用户注册、登录验证…...

后端-pageHelp分页查询

在pom.xml文件中先导入分页的坐标 PageResult里面有两个后端返回给前端的参数,我们最后把PageResult再封装到Result中, PageResult和Result都是工具类 EmployeeDTO中是前端页面中的模糊查询字段和分页的两个值 注意! 括号中的参数Employee…...

MySQL | 尚硅谷 | 第15章_存储过程与函数

MySQL笔记:第15章_存储过程与函数 文章目录 MySQL笔记:第15章_存储过程与函数第15章_存储过程与函数 1. 存储过程概述1.1 理解1.2 分类 2. 创建存储过程2.1 语法分析2.2 代码举例 3. 调用存储过程3.1 调用格式3.2 代码举例3.3 如何调试存储过程演示代码 …...

汽车零部件设计之——麦弗逊悬架KC特性分析仿真APP介绍

汽车零部件是汽车工业的基石,是构成车辆的基础元素。一辆汽车通常由上万件零部件组成,包括发动机系统、传动系统、制动系统、电子控制系统等,它们共同确保了汽车的安全、可靠性及高效运行。在汽车产业快速发展的今天,汽车零部件需…...

代码随想录-算法训练营day41(动态规划04:01背包,01背包滚动数组,分割等和子集)

第九章 动态规划part04● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集 正式开始背包问题,背包问题还是挺难的,虽然大家可能看了很多背包问题模板代码&#xf…...

Vue Loader的作用

Vue Loader是一个专门用于处理Vue单文件组件(SFCs,即Single File Components)的webpack加载器(loader)。以下是Vue Loader的具体作用: 1、解析和转换Vue单文件组件 Vue Loader能够解析和转换.vue文件&…...

SRS 服务器入门:实时流媒体传输的理想选择

在当今视频流媒体需求爆炸式增长的时代,如何选择一款高效、稳定且功能强大的流媒体服务器成为了许多开发者和企业关注的焦点。而 SRS(Simple Realtime Server)作为一款开源的流媒体服务器,以其卓越的性能和灵活的功能,…...

4K高清壁纸网站推荐

1. Awesome Wallpapers 官网: https://4kwallpapers.com/ 主题: 创意、摄影、人物、动漫、绘画、视觉 分辨率: 4K Awesome Wallpapers 提供了丰富的高质量图片,分为通用、动漫、人物三大类,可以按屏幕比例和分辨率检索,满足你对壁纸的各种…...

如何保证数据库和缓存双写一致性?

数据库和缓存(redis)双写数据一致性问题再高并发的场景下,是一个很严重的问题,无论在工作中,还是面试,遇到的概率非常大,这里就聊一聊目前的常见解决方案以及最优方案。 常见方案 缓存的主要目…...

QT 多级嵌套结构体,遍历成员--半自动。<模板+宏定义>QTreeWidget树结构显示

Qt的QTreeWidget来显示嵌套结构体的成员&#xff0c;并以树形结构展示。 #include <QApplication> #include <QTreeWidget> #include <QTreeWidgetItem> #include <QString> #include <cstdint>// 假设这些是你的结构体定义 struct BaseMeterPa…...

《深入浅出HTTPS》读书笔记(17):公开密钥算法

公开密钥算法&#xff08;Public Key Cryptography&#xff09;&#xff0c;也称为非对称加密算法&#xff08;Asymmetrical Cryptography&#xff09;。 公开密钥算法的功能比较多&#xff0c;可以进行加密解密、密钥协商、数字签名。 【密钥是一对】 公开密钥算法的密钥是一对…...

React 中为什么不直接使用 requestIdleCallback?

首先看下 requestIdleCallback是什么&#xff1f; 简介 requestIdleCallback 是一个在浏览器空闲时执行低优先级任务的 API。 定义与用途 requestIdleCallback 方法允许开发者在浏览器的空闲时段内调度函数的执行。这些函数通常用于执行非关键性的、低优先级的任务&#xff0c…...

工作:SolidWorks从3D文件导出2D的DWG或DXF类型文件方法

工作&#xff1a;SolidWorks从3D文件导出2D的DWG或DXF类型文件方法 SolidWorks从3D文件导出2D的DWG或2D DXF类型文件方法&#xff08;一&#xff09;打开3D文件&#xff08;二&#xff09;从装配体到工程图&#xff08;三&#xff09;拖出想要的角度的图型&#xff08;四&#…...

element-ui radio和checkbox禁用时不置灰还是原来不禁用时的样式

把要紧用的内容加上一个class"notEdit-page" z注意要在style里面写不能加上scoped /*//checkBox自定义禁用样式*//*//checkBox自定义禁用样式*/ .notEdit-page.el-checkbox__input.is-disabled.is-checked.el-checkbox__inner::after {border-color: #fff; } .notEdi…...

MySQL 8.0 安装与配置技术文档(Ubuntu22.04)

MySQL 8.0 安装与配置技术文档 目录 环境准备下载 MySQL 安装包检查是否已安装 MySQL彻底卸载 MySQL安装 MySQL配置 MySQL创建用户并允许外网访问修改 root 用户密码参考链接 1. 环境准备 确保系统为 Ubuntu 22.04&#xff0c;并安装了以下基础工具&#xff1a; sudo apt-ge…...

【Linux】Ubuntu中安装多个版本的gcc、g++编译器,并自由切换

1、安装 1.1 命令安装 使用命令直接安装: sudo apt install gcc-[版本号] sudo apt install g++-[版本号]例如: sudo apt install gcc-10 sudo apt install g++-10 sudo apt install gcc-9 sudo apt install g++-9 sudo apt install gcc-8 sudo apt install g++-81.2 源码…...

uni-app登录界面样式

非常简洁的登录、注册界面模板&#xff0c;使用uni-app编写&#xff0c;直接复制粘贴即可&#xff0c;无任何引用&#xff0c;全部公开。 废话不多说&#xff0c;代码如下&#xff1a; login.vue文件 <template><view class"screen"><view class"…...

如何在小米平板5上运行 deepin 23 ?

deepin 23 加入了 ARM64 支持&#xff0c;这里尝试将 deepin 系统刷入平板中&#xff0c;平常使用中&#xff0c;带个笔记本电脑有时候也会嫌比较麻烦&#xff0c;把 Linux 系统刷入平板中既满足了使用需要&#xff0c;又满足了轻便的需求。为什么不使用 Termux &#xff1f;虽…...

Linux上的C语言编程实践

说明&#xff1a; 这是个人对该在Linux平台上的C语言学习网站笨办法学C上的每一个练习章节附加题的解析和回答 ex1: 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后运行它看看发生了什么。 vim ex1.c打开 ex1.c 文件。假如我们删除 return 0…...

ubuntu中使用ffmpeg库进行api调用开发

一般情况下&#xff0c;熟悉了ffmpeg的命令行操作&#xff0c;把他当成一个工具来进行编解码啥的问题不大&#xff0c;不过如果要把功能集成进自己的软件中&#xff0c;还是要调用ffmpeg的api才行。 ffmpeg的源码和外带的模块有点太多了&#xff0c;直接用官网别人编译好的库就…...

基于yolov8的SAR影像目标检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测、图像分类识别、目标追踪等项目可看我主页其他文章 功能演示&#xff1a; 基于yolov8的SAR影像目标检测系统&#xff0c;支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov8的SAR影像目标…...

【源码】Sharding-JDBC源码分析之SQL中读写分离动态策略、数据库发现规则及DatabaseDiscoverySQLRouter路由的原理

Sharding-JDBC系列 1、Sharding-JDBC分库分表的基本使用 2、Sharding-JDBC分库分表之SpringBoot分片策略 3、Sharding-JDBC分库分表之SpringBoot主从配置 4、SpringBoot集成Sharding-JDBC-5.3.0分库分表 5、SpringBoot集成Sharding-JDBC-5.3.0实现按月动态建表分表 6、【…...

服务器卸载安装的 Node.js

卸载安装的 Node.js 版本&#xff0c;具体步骤取决于你是通过包管理器&#xff08;如 yum 或 dnf&#xff09;安装的&#xff0c;还是通过 nvm (Node Version Manager) 安装的。以下是针对这两种情况的指南。 通过包管理器卸载 Node.js 如果你是通过 yum 或 dnf 安装的 Node.…...

一键图片提取表格导出为Excel文档工具体验

在日常工作中&#xff0c;我们经常会遇到需要将图片中的表格数据转换为可编辑的Excel文件的情况。这不仅能够提高工作效率&#xff0c;还能减少手动输入数据的错误。本文将介绍一款实用的工具&#xff0c;它能够帮助我们快速实现图片到Excel的转换&#xff0c;同时保持操作的简…...

SpringBoot异常处理

SpringBoot异常处理 一、认识异常 异常分类&#xff1a; Error: 代表编译和系统错误&#xff0c;不允许捕获Exception: 标准Java库的方法所激发的异常&#xff0c;包含运行异常Runtime_Exception和非运行异常 Non_RuntimeException 的子类Runtime_Exception: 运行时异常。No…...

在 OAuth 2.0 中,refreshToken(刷新令牌)存在的意义

在 OAuth 2.0 中&#xff0c;refreshToken&#xff08;刷新令牌&#xff09; 的主要目的是为了提升用户体验和安全性&#xff0c;同时确保访问令牌的有效性。以下是需要使用 refreshToken 的原因&#xff1a; 1. 访问令牌的有限生命周期 访问令牌&#xff08;accessToken&…...

【Redis】壹 —— Redis 介绍

文章目录&#xff1a; 前言 一、认识Redis 1. Redis 用途 作为数据库 作为流引擎 二、服务端高并发分布式结构演变 1. 单机架构 2. 应用数据分离架构 3. 应用服务集群架构 4. 读写分离 / 主从分离架构 5. 冷热分离 —— 引入缓存 6. 分库分表 7. 微服务架构 8. …...

【html网页页面010】html+css制作茶品牌文创网页制作含视频元素(7页面附效果及源码)

茶主题品牌文创网页制作 &#x1f964;1、写在前面&#x1f367;2、涉及知识&#x1f333;3、网页效果完整效果(7页)&#xff1a;代码目录结构&#xff1a;page1、主页page2、精品包装page3、茶园一角page4、品牌地带page5、衍生品page6、联X我们page7、视频详情页 &#x1f30…...

【项目实战】基于python+爬虫的电影数据分析及可视化系统

注意&#xff1a;该项目只展示部分功能&#xff0c;如需了解&#xff0c;文末咨询即可。 本文目录 1.开发环境2 系统设计 2.1 设计背景2.2 设计内容 3 系统页面展示 3.1 用户页面3.2 后台页面3.3 功能展示视频 4 更多推荐5 部分功能代码 5.1 爬虫代码5.2 电影信息代码 1.开发环…...

K8S命令部署后端(流水线全自动化部署)

前言 本文为链接: 云效流水线k8s半自动部署java&#xff08;保姆级&#xff09;的补充,本文起初的目的是为了补充完善k8s流水线的全自动化部署,但是也适用于k8s的一键重启,因为使用k8s的web页面容易出现漏点的情况,因此也可以把代码保存为shell脚本,同样可以实现一键重启。关于…...

GPS北斗卫星授时服务器功能是什么?应用是什么?

GPS北斗卫星授时服务器功能是什么&#xff1f;应用是什么&#xff1f; GPS北斗卫星授时服务器功能是什么&#xff1f;应用是什么&#xff1f; 摘 要:首先对计算机网络时间同步相关技术进行了介绍,然后阐述了时间同步技术在现代计算机网络中的应用与发展,最后指出时间同步网络…...

学习笔记064——如何手动将jar包导入到maven本地库

文章目录 1、背景&#xff1a;2、方法 1、背景&#xff1a; 有时网络慢的情况&#xff0c; 本地maven库需要导入外部下载的jar包。 以便于在项目的pom文件中&#xff0c;直接写dependency写导入依赖。 2、方法 在Windows终端中&#xff0c;输入&#xff1a; mvn install:in…...

未来趋势系列 篇二:HBM题材解析和股票梳理

文章目录 系列文章HBM题材解析环氧塑封电镀液PSPI(光敏性聚酰亚胺)前驱体封装基板其他材料TSV技术封装测试股票梳理系列文章 未来趋势系列 篇一:AI题材解析和股票梳理 HBM HBM(High Bandwidth Memory,高带宽内存)是一种专为高效能运算设计的新兴高速内存接口技术。它通…...

网卡驱动测试

以下是网卡驱动不同测试类型的具体方法和命令&#xff1a; 1. 功能性测试 驱动加载/卸载测试&#xff1a; 方法&#xff1a;加载/卸载网卡驱动&#xff0c;观察日志是否报错。命令&#xff1a; modprobe <driver_name> # 加载驱动 rmmod <driver_name> # 卸载驱动…...

DDR的跨4K问题

参考视频&#xff1a;【深入理解FPGA底层逻辑】、4k边界和outsdanding_哔哩哔哩_bilibili 1、AXI4_FULL突发写一个字节是一个地址&#xff0c; 2、协议规定&#xff0c;把AXI4从机的地址区间从0进行到了4095....每4K进行一次分配 所以突发长度的计算如下&#xff1a; 另外AX…...

数据结构---栈(Stack)

1. 简介 栈&#xff08;Stack&#xff09;是计算机科学中的一种抽象数据类型&#xff0c;它遵循特定的操作顺序&#xff0c;即后进先出&#xff08;Last In First Out&#xff0c;LIFO&#xff09;。这意味着最后添加到栈中的元素将是第一个被移除的。栈的基本操作通常包括&am…...

【JavaWeb后端学习笔记】Java上传文件到阿里云对象存储服务

阿里云对象存储 1、创建阿里云对象存储节点2、上传文件2.1 修改项目配置文件2.2 定义一个Properties类获取配置信息2.3 准备一个alioss工具类2.4 创建注册类&#xff0c;将AliOssUtil 注册成Bean2.5 使用AliOssUtil 工具类上传文件2.6 注意事项 使用阿里云对象存储服务分为以下…...