服务器less架构的性能和成本优化_第1页
服务器less架构的性能和成本优化_第2页
服务器less架构的性能和成本优化_第3页
服务器less架构的性能和成本优化_第4页
服务器less架构的性能和成本优化_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1服务器less架构的性能和成本优化第一部分容器化与微服务部署优化 2第二部分无服务器功能的弹性伸缩策略 4第三部分事件流处理的低延迟优化 6第四部分数据存储与检索的成本控制 9第五部分分布式缓存的性能调优 12第六部分服务网格的负载均衡优化 13第七部分日志和监控的自动化 16第八部分Serverless成本模型与最佳实践 20

第一部分容器化与微服务部署优化容器化与微服务部署优化

容器化

*简介:容器化技术将应用程序与其依赖项打包成轻量级的、独立的容器,提供隔离性和可移植性。

*性能优化:

*资源隔离:容器提供资源隔离,防止应用程序相互干扰,提高稳定性和性能。

*快速启动:容器启动速度快,减少应用程序响应时间。

*可扩展性:容器易于扩展,允许根据需求动态调整资源分配。

*成本优化:

*减少基础设施支出:容器共享操作系统,减少所需服务器数量,从而降低硬件成本。

*优化资源利用:容器的资源隔离功能可防止应用程序过度使用资源,优化资源利用并降低运营成本。

微服务部署优化

*简介:微服务架构将应用程序分解成独立、松散耦合的组件,称为微服务。

*性能优化:

*响应能力:微服务架构允许并行处理请求,提高响应能力和吞吐量。

*可扩展性:微服务可以独立部署和扩展,灵活满足需求波动。

*容错性:如果一个微服务发生故障,不会影响其他微服务,提高容错性和应用程序可用性。

*成本优化:

*敏捷开发:微服务架构促进敏捷开发,允许团队独立部署和维护组件,降低开发成本。

*降低基础设施成本:微服务可以部署在较小的服务器实例上,降低基础设施成本。

最佳实践

*选择合适的容器引擎:评估可用的容器引擎(例如Docker、Kubernetes)并根据应用程序需求和部署环境选择。

*优化容器配置:优化容器内存、CPU和网络资源分配,以平衡性能和资源利用。

*使用微服务模式:采用行业标准微服务模式(例如RESTfulAPI、消息队列)以确保组件之间的高效通信。

*实现持续集成/持续交付(CI/CD):自动化构建、测试和部署过程,以加快应用程序更新并提高可靠性。

*监控和指标:实施监控解决方案以跟踪容器和微服务性能,并及时识别和解决性能瓶颈。

通过实施这些优化策略,企业可以利用容器化和微服务部署获得显著的性能提升和成本节省。然而,重要的是考虑特定应用程序需求和环境,以找到最佳配置和实现最大的收益。第二部分无服务器功能的弹性伸缩策略关键词关键要点触发器驱动的弹性伸缩

1.触发器是基于事件的扩展策略,允许函数在特定事件发生时自动启动或扩展。

2.触发器可以响应各种事件,例如HTTP请求、消息队列中的新消息或数据库中的数据更新,从而实现函数的高响应性。

3.触发器驱动的弹性伸缩消除了手工扩展函数的需要,并有助于降低成本,因为函数仅在触发时运行。

基于时间驱动的弹性伸缩

1.基于时间驱动的扩展策略允许函数在预先定义的时间段内自动启动或扩展。

2.这对于需要在特定时间段内处理工作负载峰值的应用程序特别有用,例如电子商务商店在节假日购物季节。

3.基于时间驱动的弹性伸缩提供了可预测的性能,并有助于避免临时服务中断。无服务器功能的弹性伸缩策略

简介

弹性伸缩是无服务器架构的关键特性,可根据需求自动调整资源,优化性能和成本。无服务器函数支持多种弹性伸缩策略,可根据应用程序的特定需求进行配置。

水平弹性伸缩

*自动伸缩:根据预定义的触发器条件,自动增加或减少函数实例数量。触发器可以基于指标(如请求速率、并发性或内存使用率)或事件(如消息队列中的新消息)。

*基于时间的伸缩:在预定义的时间段内自动调整函数实例数量。这适用于具有可预测流量模式的应用程序,例如在特定时间内处理批处理作业。

垂直弹性伸缩

*按需分配:为每个函数实例分配所需的资源(如内存和CPU),避免浪费。

*预留资源:通过预留特定数量的实例,确保峰值负载期间的可用性和性能。

*冷启动:当函数实例处于空闲状态时,将它们关闭以节省成本。当需要时,实例会快速启动,但可能会导致一些延迟。

混合策略

*混合水平和垂直伸缩:根据需求水平和资源利用率,同时使用水平和垂直伸缩。这可优化性能和成本,同时处理可变负载。

*延迟伸缩:将水平伸缩与延迟启动相结合。当触发自动伸缩时,首先启动预留实例,然后根据需要启动按需实例。这可减少峰值负载期间的延迟,同时降低成本。

选择合适的策略

选择最佳弹性伸缩策略取决于应用程序的特征,包括:

*流量模式:可预测还是不可预测,峰值负载是否频繁出现?

*延迟要求:应用程序是否对延迟敏感,需要快速扩展?

*成本目标:是否优先考虑成本优化还是性能?

优化

优化弹性伸缩策略以获得最佳性能和成本:

*使用指标:监控函数的指标(如请求速率和并发性),以识别需要调整的领域。

*进行压力测试:模拟峰值负载,以测试伸缩策略的有效性。

*调整触发器:根据应用程序的特定需求,微调自动伸缩触发器条件。

*考虑成本:平衡性能和成本,预留资源仅在确实需要时才使用。

*持续改进:随着应用程序需求的变化,定期审查和调整弹性伸缩策略。

结论

无服务器功能的弹性伸缩策略通过自动调整资源,可显著提高性能和优化成本。通过了解各种策略并根据应用程序需求进行选择,开发人员可以实现高效且经济高效的无服务器应用程序。第三部分事件流处理的低延迟优化关键词关键要点【事件驱动架构的低延迟优化】:

1.利用消息队列解耦服务,实现异步通信,减少服务之间的延迟。

2.采用事件驱动的设计,通过事件触发器监听事件并触发后续处理,提升响应速度。

3.优化消息队列性能,如选择高性能队列服务、配置合理队列长度和消费延时等,保障消息的及时传递。

【流处理优化】:

事件流处理的低延迟优化

引言

在服务器less架构中,事件流处理扮演着至关重要的角色,因为它处理大量实时数据,并在低延迟要求下提供可操作的见解。为了优化事件流处理的性能和成本,至关重要的是采用低延迟优化技术。本文将深入探讨事件流处理的低延迟优化,提供基于实践的见解和最佳实践。

低延迟优化的重要性

低延迟对于事件流处理至关重要,因为它可以:

*提高数据分析的准确性和及时性

*支持实时决策

*提供更佳的用户体验

*防止数据丢失或延迟

事件流处理中的低延迟优化技术

优化事件流处理的延迟涉及采用以下技术:

1.预先处理和过滤

*在事件到达流处理引擎之前对其进行预先处理和过滤,可以减少事件的噪音和复杂性,从而提高处理效率。

*利用轻量级过滤器根据相关性或优先级排除不必要的事件,从而减少延迟。

2.分区和并行处理

*将流事件划分为更小的分区,并使用多个处理器或线程并行处理这些分区,可以显著降低延迟。

*通过水平扩展处理能力,确保随着事件吞吐量的增加,延迟保持较低水平。

3.内存缓存和索引

*在内存中缓存经常访问的事件数据,可以显著减少检索事件的延迟。

*创建针对特定查询或过滤器优化的索引,可以快速定位相关事件,从而降低处理时间。

4.事件批处理

*对于吞吐量较高的流,将事件聚合到批中进行处理可以减少上下文切换的开销,从而降低延迟。

*通过优化批大小和触发条件,找到批处理和实时性的最佳平衡点。

5.使用持久化消息队列

*将事件存储在持久化消息队列中,可以确保在处理程序故障或系统中断的情况下数据不丢失。

*利用消息队列的先进功能,例如顺序处理和优先级队列,可以管理延迟并优化事件处理。

6.优化处理逻辑

*审查并优化事件处理逻辑,以消除瓶颈和不必要的开销。

*使用轻量级编程语言和数据结构,尽可能减少计算复杂性。

7.使用云原生服务

*利用云原生服务,例如无服务器计算和消息传递服务,可以自动管理基础设施和扩展处理能力,从而降低延迟。

*这些服务通常提供内置的优化功能,例如自动分区和并行处理。

8.监控和性能分析

*定期监控事件流处理系统的性能,并分析延迟指标,以识别瓶颈和优化机会。

*使用性能分析工具深入研究延迟问题,并制定有针对性的改进措施。

最佳实践

除了上述技术之外,以下最佳实践也有助于优化事件流处理的低延迟:

*选择能够满足低延迟要求的合适事件流处理引擎。

*根据吞吐量和延迟要求优化事件分区和分片策略。

*定期审查事件模式和处理逻辑,以识别并消除延迟根源。

*利用分布式流处理框架,以获得可扩展性和容错性优势。

*在生产环境中进行全面测试,以验证延迟优化措施的有效性。

结论

通过采用低延迟优化技术和最佳实践,组织可以显着提高事件流处理的性能和成本效率。这些优化对于确保数据分析的准确性和实时性至关重要,并为低延迟决策和应用程序提供支持。通过持续监控和性能分析,组织可以主动识别和解决延迟问题,确保其事件流处理系统以最佳状态运行。第四部分数据存储与检索的成本控制关键词关键要点数据存储与检索的成本控制

主题名称:结构化和非结构化数据优化

1.区分结构化数据(具备预定义模式和关系)和非结构化数据(无特定模式或关系),选择合适的存储机制。

2.优化结构化数据的索引和分区,加快数据访问速度,降低存储成本。

3.采用数据压缩和去重技术,减少非结构化数据的存储空间需求。

主题名称:存储层选择与架构设计

数据存储与检索的成本控制

在无服务器架构中,数据存储与检索的成本优化至关重要,因为它直接影响着整体运营成本。以下是一些有效控制成本的技术:

#数据库选择

*选择无服务器数据库:无服务器数据库(如AWSDynamoDB或AzureCosmosDB)按实际使用量计费,消除了容量预置的成本。

*考虑文档数据库:文档数据库(如MongoDB或Couchbase)通过将数据存储为JSON文档,优化了非结构化和半结构化数据的存储与检索。

*选择合适的数据模型:根据数据访问模式选择适当的数据模型,如关系、文档或键值对存储,以优化性能和成本。

#数据分片和索引

*数据分片:将大型数据集拆分为更小的分片,并存储在不同的服务器上,以提高可伸缩性和减少检索延迟。

*创建索引:创建索引以加快特定查询的检索速度,避免全表扫描。然而,过度索引会增加存储成本和查询延迟。

#数据压缩和加密

*数据压缩:压缩数据以减少存储空间需求,从而降低存储成本。

*数据加密:加密存储和传输中的数据以确保安全性,但会增加计算成本。

#缓存和CDN

*缓存:将经常访问的数据缓存在内存中,以减少数据库访问,从而提高性能和降低成本。

*内容分发网络(CDN):通过将静态内容(如图像、视频)分发到全球各地的服务器,CDN可以减少源服务器的负载,从而优化检索成本。

#寿命周期管理

*设置数据保留策略:根据数据的重要性设置数据保留策略,以自动删除不再需要的数据。

*使用归档存储:将不经常访问的数据移动到低成本的归档存储中,释放主存储空间。

#监视和优化

*监视数据存储使用情况:定期监视数据存储使用情况,以识别任何异常或成本峰值。

*优化查询:分析查询模式并优化查询以提高性能,从而减少不必要的数据库调用。

*考虑混合使用:根据不同的访问模式和成本要求,将不同类型的数据存储在不同的存储服务中。

#其他考虑因素

*突发容量:使用突发容量模式可以在低利用率期间降低存储成本,但高峰时段可能会产生额外的费用。

*预留实例:预留数据库实例可以在长期使用中节省成本,但需要预先承诺容量。

*利用定价折扣:寻找云提供商提供的批量折扣、长期合同或预先付费计划以降低存储成本。第五部分分布式缓存的性能调优分布式缓存的性能调优

分布式缓存旨在提高应用程序的速度和可扩展性。通过存储频繁访问的数据,缓存可以减少对后端数据库的调用,从而降低延迟并提高吞吐量。然而,为了充分利用分布式缓存,需要进行适当的性能调优。

缓存配置优化

*缓存大小:确定适当的缓存大小对于平衡性能和资源利用非常重要。缓存太小会导致频繁的缓存未命中,而缓存太大则会浪费内存资源。

*缓存失效策略:选择合适的缓存失效策略对于管理缓存中的陈旧数据至关重要。时间到期(TTL)策略可以自动删除旧项目,而最近最少使用(LRU)策略可以删除最不常用的项目。

*缓存更新策略:定义缓存更新策略以确保数据的一致性。写回策略在缓存中更新数据并异步更新后端存储,而写直达策略直接将更新写入后端存储。

数据结构选择

不同的数据结构为不同的访问模式提供了不同的性能特征。

*哈希表:用于快速查找和检索,适用于点查找操作。

*列表:用于FIFO(先进先出)访问,适用于队列和消息传递。

*集合:用于存储唯一元素,适用于快速成员资格检查。

负载均衡

负载均衡对于跨多个缓存节点分发请求至关重要。

*一致性哈希:将键映射到不同的节点,以确保数据的均匀分布。

*随机负载均衡:将请求随机分配给节点,有助于简化管理。

监控和指标

持续监控缓存指标对于识别性能瓶颈和采取补救措施至关重要。

*命中率:衡量缓存命中次数与请求总数的比率。

*未命中率:衡量缓存未命中次数与请求总数的比率。

*延迟:测量访问缓存所需的时间。

*内存使用:跟踪缓存使用的内存量。

其他优化技巧

*并行处理:使用并行任务处理多个缓存请求。

*批量操作:使用批量操作一次更新或检索多个缓存项。

*数据压缩:对于大型数据集,启用数据压缩以节省内存资源。

*故障恢复:实现故障恢复机制以处理缓存节点故障。

通过实施这些性能调优技术,可以显着提高分布式缓存的性能并优化应用程序的整体响应时间和可扩展性。第六部分服务网格的负载均衡优化关键词关键要点服务网格的负载均衡优化

主题名称:多层负载均衡

1.利用不同层级的负载均衡机制,实现更精细化的流量控制。

2.在边缘层(ingress)进行粗粒度的均衡,在服务层(service)进行细粒度的均衡,提升负载均衡效率。

3.支持跨数据中心或区域的负载均衡,实现更弹性和可扩展的架构。

主题名称:动态负载均衡

服务网格的负载均衡优化

服务网格在服务器less架构中扮演着至关重要的角色,它通过集中式管理和优化网络流量,提高了应用性能和可靠性。负载均衡是服务网格的一项关键功能,它确保流量均匀分布在可用服务实例上,从而最大化吞吐量并最小化延迟。

负载均衡策略

服务网格提供各种负载均衡策略,以适应不同的应用程序要求。常见的策略包括:

*轮询调度:将请求依次分配给服务实例,简单易用。

*最小连接调度:将新请求分配给连接数最少的实例,减少每个实例上的负载。

*加权轮询调度:根据每个实例的权重分配请求,允许对特定实例进行优先级排序。

*哈希调度:根据请求属性(如源IP、URL)计算哈希值并分配给特定实例,确保请求一致性。

*随机加权:在每个实例之间随机分配请求,并根据权重调整分布。

负载均衡算法

服务网格使用不同的算法来实现负载均衡策略。常用的算法包括:

*轮询:顺序遍历所有可用实例,简单且开销低。

*加权轮询:根据实例权重进行遍历,权重较高的实例获得更多的请求。

*最小连接:跟踪每个实例的连接数,并选择连接数最少的实例。

*最小响应时间:跟踪每个实例的平均响应时间,并选择响应时间最短的实例。

*最少负载:考虑实例的CPU利用率、内存使用量和其他指标,选择负载最少的实例。

高级负载均衡功能

除了基本负载均衡之外,服务网格还提供高级功能,以进一步优化性能和可靠性:

*健康检查:主动检测服务实例是否健康,并从负载均衡池中删除不健康的实例。

*故障转移:当实例故障或不可用时,自动将流量切换到健康实例。

*会话持久性:将来自同一客户端的请求持久化到特定实例,提高响应速度并减少状态复制。

*流量限制:根据阈值限制发送到特定实例的请求,防止实例过载。

*熔断器机制:当实例出现大量故障或延迟时,临时停止向其发送请求,避免进一步的流量拥塞。

性能优化

通过优化负载均衡配置,可以显著提高服务器less架构的性能:

*选择合适的策略:根据应用程序需求选择合适的负载均衡策略,例如,对于低延迟应用,推荐哈希调度或最小响应时间调度。

*调整权重:根据实例性能和容量调整实例权重,确保流量均匀分布。

*启用健康检查:启用定期健康检查以快速检测并移除不健康的实例。

*使用故障转移:配置故障转移机制以确保即使在实例故障时,流量也能自动重定向。

成本优化

优化负载均衡也有助于降低服务器less架构的成本:

*减少冗余实例:有效负载均衡可确保所有实例得到充分利用,减少维持冗余实例的需求。

*优化资源利用率:通过将流量导向性能最佳的实例,可以优化资源利用率并避免浪费资源。

*提高延迟效率:减少请求延迟可以减少服务器less函数的执行时间,从而降低按事件计费的成本。

*匹配价格模型:选择与服务网格提供的负载均衡策略相匹配的价格模型,例如,使用按容量计费模型时,轮询调度可能更具成本效益。

结论

服务网格的负载均衡优化是提升服务器less架构性能和成本效率的关键。通过选择合适的策略、算法和高级功能,可以实现均匀的流量分布、故障容错和资源优化。通过优化负载均衡配置,企业可以提高应用程序响应速度、降低成本并确保高可用性。第七部分日志和监控的自动化关键词关键要点集中式日志管理

*

*在一个中央平台收集和存储所有服务器日志,实现集中管理和分析。

*使用日志代理或数据传输工具将日志转发到集中式平台,确保日志完整性和安全性。

*提供强大的搜索和过滤功能,便于快速识别和解决问题,提高故障排除效率。

日志分析工具的使用

*

*利用日志分析工具对日志数据进行实时分析,提取有意义的见解和检测异常。

*通过自定义规则和告警设置,自动发现安全问题、性能瓶颈和应用程序错误。

*提供交互式可视化,帮助用户轻松理解和关联日志数据,从而做出明智的决策。

指标和遥测数据的自动化采集

*

*通过指标代理或应用程序编程接口(API)自动采集服务器指标和遥测数据,并将其发送到监控平台。

*全面收集服务器资源利用率、网络性能和应用程序指标,提供系统和应用程序的实时视图。

*启用警报和通知机制,在关键指标发生阈值变化或异常时及时通知管理员。

实时监控仪表盘

*

*创建实时监控仪表盘,提供服务器和应用程序状态的即时概述。

*使用可视化图表和警报通知,帮助用户快速识别问题并采取纠正措施。

*提供自定义仪表盘,满足不同团队和角色的特定监控需求。

事件关联

*

*将日志、指标和遥测数据关联起来,为问题排除提供更全面的视图。

*通过关联引擎或机器学习算法,自动检测和关联相关事件,识别根本原因。

*减少手动调查时间,提高故障排除效率并缩短平均修复时间(MTTR)。

自动化修复

*

*定义自动化规则,在检测到特定异常或问题时自动触发修复操作。

*例如,在检测到服务器过载时自动启动新实例,或者在检测到安全漏洞时自动更新软件。

*简化运营任务,提高系统稳定性和减少人工干预需求。日志和监控的自动化

在Serverless架构中,自动化日志和监控至关重要,因为它可以提高可观察性、减少运营成本并最大限度地提高应用程序性能。以下是实现日志和监控自动化的关键策略:

集中式日志记录:

*将所有应用程序日志集中到一个集中式日志服务中,例如CloudWatchLogs或Splunk。

*这使您可以轻松查询、分析和可视化日志数据。

日志格式标准化:

*建立一个日志格式标准,以便所有日志消息具有一致的结构。

*这简化了日志分析和故障排除。

日志过滤和路由:

*根据严重性、应用程序组件或其他标准过滤日志消息。

*自动将日志路由到不同的位置,例如开发人员、运营团队或分析工具。

关联日志和指标:

*将日志与应用程序指标关联起来,以获得更全面的应用程序运行状况视图。

*这使您可以识别日志消息中突出显示的性能瓶颈或错误。

自动警报:

*设置自动警报,在检测到特定日志模式或阈值时触发。

*这有助于您及时发现和解决问题。

持续监测:

*持续监测应用程序性能和健康状况,即使应用程序未处于活动状态。

*这使您可以在潜在问题成为重大中断之前识别并解决问题。

好处:

*提高可观察性:集中式日志记录和监控提供了一个单一的窗口,用于查看应用程序行为和性能。

*降低运营成本:自动化减少了手动日志记录和监控任务所需的時間和资源。

*最大化应用程序性能:及早发现和解决问题有助于最大限度地减少停机时间和性能问题。

*更好的安全性和合规性:日志监控有助于检测可疑活动并确保合规性。

*提高开发人员生产力:自动化日志分析和故障排除可以释放开发人员的时间,专注于核心应用程序开发。

最佳实践:

*使用可靠的日志服务和监控工具。

*定义清晰的日志格式和过滤规则。

*持续监控和调整日志和监控系统。

*投资于人员培训以解释日志和监控数据。

*与安全和合规团队合作,建立日志保留策略和安全控制。

通过实施日志和监控自动化,Serverless应用程序可以获得提高可观察性、降低成本和最大化性能的好处。这对于确保应用程序的可靠性、可用性和安全性至关重要。第八部分Serverless成本模型与最佳实践关键词关键要点Serverless的按使用付费模式

1.无需预先配置或维护基础设施,Serverless服务仅在使用时才收费。

2.企业可以大幅降低资源未利用期间的成本,因为它们只为实际消耗的计算、存储和其他服务付费。

3.这种模式提供高度的可扩展性,允许企业根据需求灵活地扩展或缩减其资源使用量,优化成本效率。

了解Serverless定价模型

1.Serverless定价模型因提供商而异,但通常基于执行时间、内存消耗和网络使用情况等因素。

2.了解不同的定价选项对于选择最适合具体工作负载和预算的模型至关重要。

3.分析历史使用模式并使用成本优化工具可以帮助企业识别节省成本的机会。Serverless成本模型与最佳实践

成本模型

Serverless架构采用按用量付费的定价模型,这意味着用户仅为其实际使用的资源付费。这种定价模型可以为企业节省大量成本,尤其是在资源利用率低的情况下。

Serverless成本模型主要由以下要素组成:

*计算时间:按秒或毫秒计费

*内存:按分配量和持续时间计费

*网络:按数据传输量和持续时间计费

*存储:按存储大小和持续时间计费

*并发执行:有时会额外收费,具体取决于平台

最佳实践

为了优化Serverless成本,可以采取以下最佳实践:

*选择合适的函数类型:选择适合应用程序需求的函数类型,例如按需执行、事件驱动或计划任务。

*优化函数代码:最小化函数执行时间和资源消耗。使用轻量级语言、优化算法并消除不必要的计算。

*利用自动扩展:配置函数自动根据负载进行扩展,以避免超额使用。

*使用日志记录和监控:持续监控函数性能,识别成本驱动因素并采取适当措施。

*使用预留容量:如果预计函数使用量很高,可以预留容量以获得折扣定价。

*考虑其他供应商:比较不同Serverless平台的定价模型,以找到最具成本效益的选项。

*避免冷启动:冷启动是指函数首次执行时发生的延迟。为了最小化冷启动时间,请使用预热功能或保持函数持续运行。

*清理未使用的资源:定期清理未使用的函数、触发器和存储对象,以避免不必要的费用。

*使用成本管理工具:利用供应商提供的成本管理工具或第三方工具来跟踪和优化Serverless成本。

示例

假设一个Serverless函数平均执行时间为100毫秒,每天执行100万次,分配的内存为128MB。根据AWSLambda定价,计算成本如下:

*计算时间:0.1秒x100万次x$

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论