AWS 专题学习 P7 (FSx、SQS、SNS)

Amazon FSx – 概述

在 AWS 上启动的第三方高性能文件系统,以下是一些 AWS 完全托管的服务:
Screenshot 2023-07-19 at 23.16.30.png
适用于 Windows 的 Amazon FSx(文件服务器)

  • FSx for Windows 是完全托管的 Windows 文件系统共享驱动器
  • 支持 SMB 协议和 Windows NTFS
  • Microsoft Active Directory 集成、ACL、用户配额
  • 可以安装在 Linux EC2 实例上
  • 支持 Microsoft 的分布式文件系统 (DFS) 命名空间(跨多个 FS 的组文件)
  • 扩展到 10 GB/s、数百万 IOPS、100 PB 数据
  • 存储选项:
    • SSD:延迟敏感的工作负载(数据库、媒体处理、数据分析……)
    • HDD:广泛的工作负载(主目录、CMS,…)
  • 可以从您的本地基础设施(VPN 或 Direct Connect)进行访问
  • 可配置为多可用区(高可用性)
  • 数据每天备份到S3

Screenshot 2023-07-20 at 23.14.38.png

Amazon FSx for Lustre

  • Lustre 是一种并行分布式文件系统,用于大规模计算
  • Lustre 这个名字源自“Linux”和“cluster”
  • 机器学习、高性能计算(HPC)
  • 视频处理、财务建模、电子设计自动化
  • 可扩展至 100 GB/s、数百万 IOPS、亚毫秒级延迟
  • 存储选项:
    • SSD:低延迟、IOPS 密集型工作负载、小文件和随机文件操作
    • HDD:吞吐量密集型工作负载、大型连续文件操作
  • 与S3无缝集成
  • 可以“读取 S3”作为文件系统(通过 FSx)
  • 可以将计算的输出写回到S3(通过FSx)
  • 可以从本地服务器(VPN 或 Direct Connect)使用

FSx Lustre - 文件系统部署选项

  • 暂存文件系统
    • 临时存储
    • 数据不会被复制(如果文件服务器出现故障,数据不会保留)
    • 高突发(速度提高 6 倍,每 TiB 200MBps)
    • 用途:短期加工,优化成本
  • 持久文件系统
    • 长期储存
    • 数据在同一可用区内复制
    • 在几分钟内替换失败的文件
    • 用途:长期处理、敏感数据

Amazon FSx for NetApp ONTAP

  • AWS 上的托管 NetApp ONTAP
  • 文件系统兼容NFS、SMB、iSCSI协议
  • 将 ONTAP 或 NAS 上运行的工作负载移至 AWS
  • 适用于:
    • Linux
    • 窗户
    • 苹果系统
    • AWS 上的 VMware 云
    • Amazon Workspaces 和 AppStream 2.0
    • Amazon EC2、ECS 和 EKS
  • 存储自动缩小或增长
  • 快照、复制、低成本、压缩和数据
  • 时间点瞬时克隆(有助于测试新工作负载)

Screenshot 2023-07-21 at 09.39.52.png

Amazon FSx for OpenZFS

  • AWS 上的托管 OpenZFS 文件系统
  • 与 NFS 兼容的文件系统(v3、v4、v4.1、v4.2)
  • 将 ZFS 上运行的工作负载迁移到 AWS
  • 适用于:
    • Linux
    • Window
    • 苹果系统
    • VMware Cloud on AWS
    • Amazon Workspaces 和 AppStream 2.0
    • Amazon EC2、ECS 和 EKS
  • 高达 1,000,000 IOPS,延迟 < 0.5 毫秒
  • 快照、压缩和低成本
  • 时间点瞬时克隆(有助于测试新工作负载)

Screenshot 2023-07-21 at 09.41.20.png

Hybrid Cloud 存储

  • AWS 正在推动“混合云”
    • 您的部分基础设施位于云端
    • 您的部分基础设施位于本地
  • 这可能是由于
    • 长时间的云迁移
    • 安全要求
    • 合规要求
    • 信息技术战略
  • S3 是一种专有存储技术(与 EFS / NFS 不同),那么如何在本地公开 S3 数据?
  • AWS 存储网关!

AWS 存储云原生选项

Screenshot 2023-07-21 at 09.42.22.png

AWS 存储网关

  • 本地数据和云数据之间的桥梁
  • 用例:
    • 灾难恢复
    • 备份和恢复
    • 分层存储
    • 本地缓存和低延迟文件访问
  • 存储网关的类型:
    • S3 文件网关
    • FSx 文件网关
    • 卷网关
    • 磁带网关

Screenshot 2023-07-21 at 09.42.57.png

Amazon S3 File Gateway

  • 可使用 NFS 和 SMB 协议访问配置的 S3 存储桶
  • 最近使用的数据缓存在文件网关中
  • 支持S3Standard、S3StandardIA、S3OneZoneA、S3Intelligent Tiering
  • 使用生命周期策略过渡到 S3 Glacier
  • 使用每个文件网关的 IAM 角色进行存储桶访问
  • SMB 协议与 Active Directory (AD) 集成以进行用户身份验证

Screenshot 2023-07-21 at 09.43.28.png

Amazon FSx File Gateway

  • 对 Amazon FSx for Windows File Server 的本机访问
  • 经常访问的数据的本地缓存
  • Windows 本机兼容性(SMB、NTFS、Active Directory…)
  • 对于组文件共享和主目录有用

Screenshot 2023-07-21 at 09.43.46.png

Volume Gateway

  • 使用 S3 支持的 iSCSI 协议的块存储
  • 由 EBS 快照支持,可以帮助恢复本地卷!
  • 缓存卷:低延迟访问最新数据
  • 存储卷:整个数据集都在本地,计划备份到 S3

Screenshot 2023-07-21 at 09.44.02.png

Tape Gateway

  • 一些公司使用物理磁带进行备份过程(!)
  • 通过磁带网关,公司可以使用相同的流程,但是在云中
  • 由 Amazon S3 和 Glacier 支持的虚拟磁带库 (VTL)
  • 使用现有的基于磁带的流程(和 iSCSI 接口)备份数据
  • 与领先的备份软件供应商合作

Screenshot 2023-07-21 at 09.44.23.png

Storage Gateway – 硬件设备

  • 使用 Storage Gateway 意味着您需要本地虚拟化
  • 否则,您可以使用 Storage Gateway 硬件设备
  • 您可以在 amazon.com 上购买
  • 可与文件网关、卷网关、磁带网关配合使用
  • 拥有所需的CPU、内存、网络、SSD缓存资源
  • 有助于小型数据中心的日常 NFS 备份

AWS Storage Gateway

Screenshot 2023-07-21 at 09.44.47.png

AWS Transfer Family

  • 使用 FTP 协议将文件传入和传出 Amazon S3 或 Amazon EFS 的完全托管服务
  • 支持的协议
    • AWS Transfer for FTP(文件传输协议 (FTP))
    • AWS Transfer for FTPS(基于 SSL 的文件传输协议 (FTPS))
    • AWS Transfer for SFTP(安全文件传输协议 (SFTP))
  • 托管基础设施、可扩展、可靠、高可用性(多可用区)
  • 按每小时每个配置端点付费 + 以 GB 为单位的数据传输
  • 在服务中存储和管理用户的凭据
  • 与现有身份验证系统集成(Microsoft Active Directory、LDAP、Okta、Amazon Cognito、自定义)
  • 用途:共享文件、公共数据集、CRM、ERP…

Screenshot 2023-07-21 at 09.46.31.png

AWS DataSync

  • 移入和移出大量数据
    • 本地/其他云到 AWS(NFS、SMB、HDFS、S3 API…) – 需要代理
    • AWS 到 AWS(不同的存储服务) – 无需代理
  • 可以同步到:
    • Amazon S3(任何存储类别 - 包括 Glacier)
    • Amazon EFS
    • Amazon FSx(Windows、Lustre、NetApp、OpenZFS…)
  • 复制任务可以安排为每小时、每天、每周
  • 保留文件权限和元数据(NFS POSIX、SMB…)
  • 一个代理任务可以使用10 Gbps,可以设置带宽限制

NFS / SMB 到 AWS(S3、EFS、FSx…)
Screenshot 2023-07-21 at 09.46.49.png

AWS 存储服务之间的传输

Screenshot 2023-07-21 at 09.47.37.png

存储比较

  • S3:对象存储
  • S3 Glacier:对象档案
  • EBS 卷:一次用于一个 EC2 实例的网络存储
  • 实例存储:EC2 实例的物理存储(高 IOPS)
  • EFS:Linux 实例的网络文件系统、POSIX 文件系统
  • FSx for Windows:适用于 Windows 服务器的网络文件系统
  • FSx for Lustre:高性能计算 Linux 文件系统
  • 适用于 NetApp ONTAP 的 FSx:高操作系统兼容性
  • FSx for OpenZFS:托管 ZFS 文件系统
  • 存储网关:S3 和 FSx 文件网关、卷网关(缓存和存储)、磁带网关
  • 传输系列:Amazon S3 或 Amazon EFS 之上的 FTP、FTPS、SFTP 接口
  • 数据同步:安排从本地到 AWS 或 AWS 到 AWS 的数据同步
  • Snowcone / Snowball / Snowmobile:以物理方式将大量数据移动到云端
  • 数据库:针对特定工作负载,通常带有索引和查询

AWS 集成和消息传递

章节介绍

  • 当我们开始部署多个应用程序时,它们将不可避免地需要相互通信
  • 应用程序通信有两种模式:
  1. 同步通信(应用程序到应用程序)
  2. 异步/基于事件(应用程序到队列到应用程序)
  • 如果流量突然激增,应用程序之间的同步可能会出现问题
  • 如果您突然需要编码 1000 个视频但通常是 10 个怎么办?
  • 在这种情况下,最好解耦你的应用程序,
    • 使用SQS:队列模型
    • 使用SNS:发布/订阅模型
    • 使用Kinesis:实时流模型
  • 这些服务可以独立于我们的应用程序进行扩展!

Screenshot 2023-07-21 at 09.47.57.png

Amazon SQS - 什么是队列?

Screenshot 2023-07-21 at 09.48.30.png

Amazon SQS – 标准队列

  • 最旧的产品(超过 10 年)
  • 完全托管的服务,用于解耦应用程序
  • 属性:
    • 无限吞吐量,无限队列中的消息数量
    • 消息默认保留:4 天,最多 14 天
    • 低延迟(发布和接收<10毫秒)
    • 每条发送的消息限制为 256KB
  • 可能有重复的消息(至少一次传递,偶尔)
  • 消息可能无序(尽力而为)

SQS 一 生成消息

  • 使用 SDK(SendMessage API)生成到 SQS
  • 消息保留在SQS中,直到消费者将其删除
  • 消息保留:默认4天,最长14天
  • 示例:发送要处理的订单
    • 订单编号
    • 客户ID
    • 任何你想要的属性
  • SQS标准:无限吞吐量

Screenshot 2023-07-21 at 09.48.42.png

SQS 一 消费消息

  • 消费者(在 EC2 实例、服务器或 AWS Lambda 上运行)…
  • 轮询 SQS 消息(一次最多接收 10 条消息)
  • 处理消息(示例:将消息插入 RDS 数据库)
  • 使用DeleteMessage API删除消息

Screenshot 2023-07-21 at 09.49.04.png

SQS – 多个 EC2 实例使用者

  • 消费者并行接收和处理消息
  • 至少一次交货
  • 尽力而为的消息排序
  • 消费者处理消息后删除消息
  • 我们可以水平扩展消费者以提高处理吞吐量

Screenshot 2023-07-21 at 09.49.29.png

SQS with Auto Scaling Group (ASG)

Screenshot 2023-07-21 at 09.49.52.png

SQS 可以在应用程序层之间解耦

Screenshot 2023-07-21 at 09.50.10.png

Amazon SQS - 安全

  • 加密:
    • 使用 HTTPS API 进行飞行加密
    • 使用 KMS 密钥进行静态加密
    • 客户端加密(如果客户端想要自己执行加密/解密)
  • 访问控制:用于管理对 SQS API 访问的 IAM 策略
  • SQS访问策略(类似于S3存储桶策略)
    • 对于跨账户访问 SQS 队列很有用
    • 用于允许其他服务(SNS、S3…)写入 SQS 队列

SQS – Message Visibility Timeout

  • 消息被消费者轮询后,其他消费者将看不到该消息
  • 默认情况下,“消息可见超时”为 30 秒
  • 这意味着消息有 30 秒的时间来处理
  • 消息可见性超时结束后,消息在 SQS 中“可见”

Screenshot 2023-07-21 at 09.50.29.png

  • 如果消息在可见性超时内没有被处理,它将被处理两次
  • 消费者可以调用 ChangeMessageVisibility API 来获得更多时间
  • 如果可见性超时很高(小时)并且消费者崩溃,重新处理将需要时间
  • 如果可见性超时太低(秒),我们可能会得到重复项

Amazon SQS - Long Polling

  • 当消费者从队列中请求消息时,如果队列中没有消息,它可以选择“等待”消息到达
  • 这称为长轮询
  • LongPolling 减少了对 SQS 的 API 调用数量,同时提高了应用程序的效率并减少了延迟
  • 等待时间可以在 1 秒到 20 秒之间(最好是 20 秒)
  • 长轮询优于短轮询
  • 可以使用 WaitTimeSeconds 在队列级别或 API 级别启用长轮询

Screenshot 2023-07-21 at 09.51.18.png

Amazon SQS – FIFO Queue

  • FIFO = 先进先出(队列中消息的排序)Screenshot 2023-07-21 at 09.51.48.png
  • 吞吐量有限:不进行批处理时为 300 条消息/秒,使用批处理时为 3000 条消息/秒
  • 一次性发送能力(通过删除重复项)
  • 消息由消费者按顺序处理

SQS with Auto Scaling Group (ASG)

Screenshot 2023-07-21 at 09.52.04.png
如果负载过大,部分交易可能会丢失
Screenshot 2023-07-21 at 09.52.24.png
SQS 作为数据库写入的缓冲区
Screenshot 2023-07-21 at 09.52.34.png
SQS 在应用程序层之间解耦
Screenshot 2023-07-21 at 09.52.49.png

Amazon SNS

  • 如果您想将一条消息发送给多个接收者怎么办?
  • “事件生产者”仅向一个 SNS 主题发送消息
  • 我们想要收听 SNS 主题通知就有多少个“事件接收者”(订阅)
  • 每个主题订阅者都会收到所有消息(注意:过滤消息的新功能)
  • 每个主题最多 12,500,000 个订阅
  • 100,000 个主题限制

Screenshot 2023-07-21 at 09.53.03.png
Screenshot 2023-07-21 at 09.53.16.png

SNS 与 许多 AWS 服务集成

  • 许多AWS服务可以直接将数据发送到SNS以进行通知

Screenshot 2023-07-21 at 09.53.45.png

Amazon SNS – 如何发布

  • 主题发布(使用SDK)
    • 创建主题
    • 创建订阅(或多个)
    • 发布到主题
  • 直接发布(用于移动应用程序SDK)
    • 创建平台应用程序
    • 创建平台端点
    • 发布到平台端点
    • 可与 Google GCM、Apple APNS、Amazon ADM 配合使用…

Amazon SNS – 安全

  • 加密:
    • 使用 HTTPS API 进行飞行加密
    • 使用 KMS 密钥进行静态加密
    • 客户端加密(如果客户端想要自己执行加密/解密)
  • 访问控制:用于规范对 SNS API 访问的 IAM 策略
  • SNS 访问策略(类似于 S3 存储桶策略)
    • 对于跨帐户访问 SNS 主题很有用
    • 用于允许其他服务(S3…)写入 SNS 主题

SNS + SQS:Fan Out (扇出)

  • 在SNS中推送一次,在所有订阅者的SQS队列中接收
  • 完全解耦,无数据丢失
  • SQS 允许:数据持久性、延迟处理和工作重试
  • 能够随着时间的推移添加更多 SQS 订阅者
  • 确保您的 SQS 队列访问策略允许 SNS 写入
  • 跨区域交付:与其他区域的 SQS 队列配合使用

Screenshot 2023-07-21 at 09.53.59.png

应用:S3 事件到多个队列

  • 对于相同的组合:事件类型(例如对象创建)和前缀
    (例如 images/)您只能有一个 S3 事件规则
  • 如果您想将相同的S3事件发送到多个SQS队列,请使用扇出

Screenshot 2023-07-21 at 09.54.20.png

应用程序:通过 Kinesis Data Firehose SNS 到 Amazon S3

  • SNS 可以发送到 Kinesis,因此我们可以拥有以下解决方案架构:

Screenshot 2023-07-21 at 09.54.32.png

Amazon SNS – FIFO topic

  • FIFO = 先进先出(topic 中的消息排序)

Screenshot 2023-07-21 at 09.54.45.png

  • 与 SQS FIFO 类似的功能:
    • 按消息组 ID 排序(同一组中的所有消息均排序)
    • 使用重复数据删除 ID 或基于内容的重复数据删除
  • 只能将 SQS FIFO 队列作为订阅者
  • 吞吐量有限(与 SQS FIFO 相同的吞吐量)

SNS FIFO + SQS FIFO:扇出

  • 如果您需要扇出+排序+重复数据删除

Screenshot 2023-07-21 at 09.55.02.png

SNS – 消息过滤

  • JSON 策略用于过滤发送到 SNS topic 订阅的消息
  • 如果订阅没有过滤策略,它会收到每条消息

Screenshot 2023-07-21 at 09.55.17.png

Kinesis 概述

  • 轻松实时收集、处理和分析流数据
  • 摄取实时数据,例如:应用程序日志、指标、网站点击流、物联网遥测数据…
  • Kinesis Data Streams:捕获、处理和存储数据流
  • Kinesis Data Firehose:将数据流加载到 AWS 数据存储中
  • Kinesis Data Analytics:使用 SQL 或 Apache Flink 分析数据流
  • Kinesis Video Streams:捕获、处理和存储视频流

Kinesis Data Streams

  • 保留 1 天至 365 天
  • 能够重新处理(重放)数据
  • 数据一旦插入 Kinesis,就无法删除(不变性)
  • 共享同一分区的数据进入同一分片(排序)
  • 生产者:AWS SDK、Kinesis Producer Library (KPL)、Kinesis Agent
  • 消费者:
    • 编写您自己的:Kinesis 客户端库 (KCL)、AWS SDK
    • 托管:AWS Lambda、Kinesis Data Firehose、Kinesis Data Analytics、

Screenshot 2023-07-21 at 09.55.39.png

Kinesis Data Streams – Capacity Modes

  • Provisioned(配置)模式:
    • 您可以选择配置的分片数量、手动扩展或使用 API
    • 每个分片的速度为 1MB/s(或每秒 1000 条记录)
    • 每个分片的输出速度为 2MB/s(经典或增强型扇出消费者)
    • 您按每小时配置的分片付费
  • On-demand(点播)模式:
    • 无需配置或管理容量
    • 配置默认容量(4 MB/秒或每秒 4000 条记录)
    • 根据过去 30 天内观察到的吞吐量峰值自动扩展
    • 按每小时流和按 GB 数据输入/输出付费

Kinesis Data Streams 安全

  • 使用 IAM 策略控制访问/授权
  • 使用 HTTPS 端点进行动态加密
  • 使用 KMS 静态加密
  • 您可以在客户端实现数据的加密/解密(较难)
  • VPC 端点可供 Kinesis 在 VPC 内访问
  • 使用 CloudTrail 监控 API 调用

Screenshot 2023-07-21 at 09.56.04.png

Kinesis Firehose

  • 完全托管服务,无需管理,自动扩展,无服务器
    • AWS:Redshift / Amazon S3 / OpenSearch
    • 第 3 方合作伙伴:Splunk / MongoDB / DataDog / NewRelic / …
    • 自定义:发送到任何 HTTP 端点
  • 为通过 Firehose 的数据付费
  • 近乎实时
    • 非完整批次的最低延迟为 60 秒
    • 每次至少 1MB 数据
  • 支持多种数据格式、转换、转换、压缩
  • 支持使用 AWS Lambda 进行自定义数据转换
  • 可以将失败或所有数据发送到备份 S3 存储桶

Screenshot 2023-07-21 at 09.56.25.png

Kinesis Data Streams vs Firehose

Kinesis Data Streams

  • 用于大规模摄取的流媒体服务
  • 编写自定义代码(生产者/消费者)
  • 实时(~200 毫秒)
  • 管理扩展(分片拆分/合并)
  • 数据存储1至365天
  • 支持重播功能

Kinesis Data Firehose

  • 将流数据加载到 S3 / Redshift / OpenSearch / 3rd party / 自定义 HTTP
  • 完全托管
  • 近乎实时(缓冲时间最少 60 秒)
  • 自动缩放
  • 无数据存储
  • 不支持重播功能

将数据排序到 Kinesis 中

  • 假设您有 100 辆卡车(truck_1、truck_2、…truck_100)在路上定期将其 GPS 位置发送到 AWS。
  • 您想要按顺序使用每辆卡车的数据,以便您可以准确跟踪它们的移动。
  • 您应该如何将该数据发送到 Kinesis?
  • 答案:使用“truck_id”的“分区键”值发送
  • 相同的密钥将始终进入相同的分片

Screenshot 2023-07-21 at 09.57.23.png

将数据排序到 SQS 中

  • 对于 SQS 标准,数据是无序的
  • 对于 SQS FIFO,如果不使用 Group ID,消息将按照发送的顺序被消费,只有一个消费者

Screenshot 2023-07-21 at 09.57.50.png

  • 您想要扩大消费者的数量,但希望消息在彼此相关时能够“分组”
  • 然后使用组 ID(类似于 Kinesis 中的分区键)

Screenshot 2023-07-21 at 09.58.15.png

Kinesis 与 SQS 排序

  • 假设有 100 辆卡车、5 个 kinesis 分片、1 个 SQS FIFO
  • Kinesis 数据流:
    • 平均每个分片有 20 辆卡车
    • 卡车的数据将在每个分片中排序
    • 我们可以拥有的最大并行消费者数量是 5
    • 可以接收高达 5 MB/s 的数据
  • SQS 先进先出
    • 你只有一个SQS FIFO队列
    • 您将拥有 100 个群组 ID
    • 您最多可以有 100 个消费者(由于有 100 个组 ID)
    • 每秒最多有 300 条消息(如果使用批处理则为 3000 条)

SQS vs SNS vs Kinesis

SQS

  • 消费者“拉数据”
  • 数据被消耗后被删除
  • 可以拥有任意数量的工人(消费者)
  • 无需配置吞吐量
  • 仅在 FIFO 队列上保证排序
  • 单独的消息延迟能力

SNS

  • 将数据推送给许多订阅者
  • 多达 12,500,000 名订户
  • 数据不持久(如果未交付就会丢失)
  • 酒吧/订阅者
  • 多达 100,000 个主题
  • 无需配置吞吐量
  • 与 SQS 集成以实现扇出架构模式
  • SQS FIFO 的 FIFO 功能

Kinesis

  • 标准:拉取数据 - 每个分片 2 MB
  • 增强扇出:推送数据 - 每个消费者每个分片 2 MB
  • 可以重播数据
  • 适用于实时大数据、分析和 ETL
  • 在分片级别排序
  • 数据在 X 天后过期
  • 预配置模式或按需容量模式

Amazon MQ

  • SQS、SNS 是“云原生”服务:来自 AWS 的专有协议
  • 从本地运行的传统应用程序可能使用开放协议,例如:MQTT、AMQP、STOMP、Openwire、WSS
  • 迁移到云时,我们可以使用 Amazon MQ,而不是重新设计应用程序以使用 SQS 和 SNS
  • Amazon MQ 是 RabbitMQ 或 ActiveMQ 的托管消息代理服务
  • Amazon MQ 的“扩展性”不如 SQS / SNS
  • Amazon MQ 在服务器上运行,可以在多可用区中运行并进行故障转移
  • Amazon MQ 具有队列功能 (~SQS) 和主题功能 (~SNS)

Amazon MQ – 高可用性

Screenshot 2023-07-21 at 09.59.45.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/339226.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解读命令: sed -i ‘/^# End of file/,$d‘

命令 sed -i /^# End of file/,$d 是在Linux或Unix系统中使用sed&#xff08;流编辑器&#xff09;进行文本处理的指令。 这里各部分的含义如下&#xff1a; - -i&#xff1a;这是一个选项&#xff0c;表示在原文件上进行编辑&#xff0c;也就是 inplace 修改。如果没有这个选…

三、Flask学习之BootSrap

三、Flask学习之BootSrap Bootstrap 是一款由Twitter团队开发的开源前端框架&#xff0c;它以响应式设计、移动端友好和丰富的组件为特色&#xff0c;为开发者提供了快速构建现代化网站和Web应用的工具。借助其灵活的栅格系统、丰富的UI组件和可定制的样式&#xff0c;Bootstr…

【目标检测】损失函数:不同损失函数概念及其代码实现

本篇文章介绍目标检测中不同的损失函数概念及其代码实现。目标检测主要任务为实现目标的分类与定位&#xff0c;其损失组成如下&#xff1a; 类别/置信度损失&#xff08;分类任务&#xff09;&#xff1a;BCE&#xff0c;FL&#xff0c;QFL&#xff0c;VFL 位置损失&#xff0…

Spring第七天(AOP)

简介 AOP(Aspect Oriented Programing)面向切面编程&#xff0c;一种编程范式&#xff0c;指导开发者如何组织程序结构 作用 在不惊动原始设计的基础上为其进行功能增强 Spring理念&#xff1a;无入侵式/无侵入式 基本概念 连接点(JoinPoint) : 程序执行过程中的任意位置&a…

云盘后端分析

1.验证码 用的是外面找的 2.发送邮箱验证码 配置邮箱的授权码 我们在发送邮箱的时候&#xff0c;需要把那个值传到数据库中&#xff0c;数据库中有它的状态&#xff0c;我们需要根据状态判断它是注册还是找回密码 我们在发送邮箱之前&#xff0c;先从session里面得到我们验证…

wayland(xdg_wm_base) + egl + opengles 最简实例

文章目录 前言一、ubuntu 下相关环境准备1. 获取 xdg_wm_base 依赖的相关文件2. 查看 ubuntu 上安装的opengles 版本3. 查看 weston 所支持的 窗口shell 接口种类二、xdg_wm_base 介绍三、egl_wayland_demo1.egl_wayland_demo2_0.c2.egl_wayland_demo3_0.c3. xdg-shell-protoco…

Node开发基础

1. 概述 1.1 为什么要学习服务器端开发基础 能够和后端程序员更加紧密的配合 网站业务逻辑前置&#xff0c;学习前端技术需要后端技术支撑 扩宽知识视野&#xff0c;能够站在更高的角度审视整个项目 1.2 服务器端开发要做的事情 实现网站的业务逻辑 ---网站登录部分&#…

[pytorch入门] 2. tensorboard

tensorboard简介 TensorBoard 是一组用于数据可视化的工具。它包含在流行的开源机器学习库 Tensorflow 中.但是也可以独立安装&#xff0c;服务Pytorch等其他的框架 可以常常用来观察训练过程中每一阶段如何输出的 安装pip install tensorboard启动tensorboard --logdir<d…

LeetCode面试题05.06

美好的一天&#xff0c;从力扣开始 王子公主请看题 整数转换。编写一个函数&#xff0c;确定需要改变几个位才能将整数A转成整数B。 示例1: 输入&#xff1a;A 29 &#xff08;或者0b11101&#xff09;, B 15&#xff08;或者0b01111&#xff09;输出&#xff1a;2示例2: 输…

深度求索开源国内首个 MoE 大模型 | DeepSeekMoE:在专家混合语言模型中实现终极专家专业化

文章目录 一、前言二、主要内容三、总结 &#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 在大语言模型时代&#xff0c;混合专家模型&#xff08;MoE&#xff09;是一种很有前途的架构&#xff0c;用于在扩展模型参数时管理计算成本。然而&a…

【算法专栏学习】成贤学院,程序员的福利站到了,判断子序列,经典算法实战。

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

使用宝塔面板安装wiki.js详细教程

因为在安装过程中遇到了一些问题&#xff0c;花费了很长时间在解决问题上。根据这篇教程可以少踩很多坑。点赞加关注吧。 准备运行环境 Nodejs 在宝塔面板的软件商店中找到nodejs版本管理器并安装。 点击设置&#xff0c;选择一个稳定版安装。 PostgreSQL 官方推荐的数据库是…

Nginx之负载均衡、静态代理与动态代理配置

Nginx之负载均衡配置 文章目录 Nginx之负载均衡配置1. 负载均衡基本配置1. 配置upstream2. 配置location3. 访问 2. Nginx常用负载均衡策略1. 轮询(默认)2. 权重3. ip_hash策略4. 最少连接策略5. 负载均衡其他几个配置 3. 静态代理1. 基于静态在一文件后缀的匹配2. 基于静态资源…

Python - 深夜数据结构与算法之 高级字符串

目录 一.引言 二.经典算法实战 1.Longest-Common-Sub-Seq [1143] 2.Edit-Distance [72] 3.Longest-Palindromic-Str [5] 4.Distinct-Sub-Seq [115] 5.Regular-Exp-Match [10] 三.总结 一.引言 上一节介绍了字符串的基本操作&#xff0c;本文介绍字符串更复杂的一些操作…

YOLOv8改进 | 主干篇 | 低照度图像增强网络SCINet改进黑暗目标检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是低照度图像增强网络SCINet,SCINet(自校正照明网络)是一种专为低光照图像增强设计的框架。它通过级联照明学习过程和权重共享机制来处理图像,优化了照明部分以提升图像质量。我将该网络集成在YOLOv8的主干上针对于图像的输入进行增…

BurpSuite Pro 2023.12.1.2下载与破解-最新版BurpSuite Pro

本文在我的博客地址是&#xff1a;https://h4cker.zip/post/f05ae2e66da503f6383dffe48cdf5bac 上一次BurpSuite的分享还是在2020年 由于CSDN有防盗链&#xff0c;我自己的博客都无法访问这篇博文的图片了 至于为什么再写一次&#xff0c;是因为我看到群里这张图&#xff1a;…

高效能方法 - 任务清单优先级

任务清单是有优先级的&#xff0c;首先要尽所能保证A级别的事项完成&#xff0c;或许不能估计B级或者C级&#xff0c;那这结果也是不错的。 博恩崔西在《吃掉那只青蛙》一书中指出&#xff1a;在你决定要做什么&#xff0c;并对其进行排序的时候&#xff0c;你首要解决那些最难…

腾讯云服务器价格查询,2024更新

腾讯云服务器租用优惠价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器646元15个月&#xff1b;云服务器CVM S5实例2核2G配置280.8元一年、2核4G…

x-cmd pkg | yq - 命令行 YAML处理工具

目录 简介首次用户支持格式转换友好的显示和操作语法与 jq 类似竞品和相关作品进一步阅读 简介 yq (YAML Query) 是一个轻量级的 YAML、JSON、XML 处理器&#xff0c;主要用于查询和提取 YAML 数据。 本 yq 的包来自 mikefarah/yq 项目&#xff0c;语法类似于 jq 。相比 kisly…

《WebKit 技术内幕》之八(2):硬件加速机制

2 Chromium的硬件加速机制 2.1 GraphicsLayer的支持 GraphicsLayer对象是对一个渲染后端存储中某一层的抽象&#xff0c;同众多其他WebKit所定义的抽象类一样&#xff0c;在WebKit移植中&#xff0c;它还需要具体的实现类来支持该类所要提供的功能。为了完成这一功能&#x…