基于Spring Cloud Alibaba的异地多活设计

胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,Spring Cloud Alibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者,资深架构师,技术负责人,极客时间训练营讲师,四维口袋KVP最具价值技术专家,技术领域专家团成员,2021电子工业出版社年度优秀作者,获得2023电子工业出版技术成长领路人称号。

目录

1. 基于Ribbon的负载均衡

1.1 技术实现

1.1.1 负载均衡的作用

1.1.2 负载均衡算法

1.1.3 集成与配置

1.2 Ribbon异地多活设计

1.2.1 异地多活的概念

1.2.2 Ribbon在异地多活中的应用

1.2.3 数据一致性与同步

1.2.4 容错与灾备

1.2.5 监控与管理

2.服务注册与发现

2.1 概念

2.1.1 概念解释

2.1.2 特点

2.1.3 技术实现

2.2 服务注册与发现异地多活设计

2.2.1 概念解释

2.2.2 关键要素

2.2.3 与服务注册与发现的关系

2.2.4 技术挑战与解决方案

3.数据同步与一致性

3.1 数据同步的挑战与策略

3.1.1 挑战

3.1.2 同步策略

3.2 数据一致性的实现方法

3.2.1 基于时间戳的方法

3.2.2 基于版本控制的方法 

3.2.3 分布式事务与两阶段提交

3.2.4 数据校验与稽核

3.3 技术实现与工具选择

3.3.1 数据库复制技术

3.3.2 数据同步平台

3.3.3 分布式缓存系统

4.容错与灾备

4.1 容错设计

4.1.1 无状态服务设计

4.1.2 负载均衡与健康检查

4.1.3 熔断与降级

4.1.4 数据冗余与备份

4.2 灾备策略

4.2.1 多数据中心部署

4.2.2 数据同步与恢复

4.2.3 灾备演练

4.2.4 监控与告警

5.网络优化与传输

5.1 网络优化

5.1.1 减少网络延迟

5.1.2 合理规划网络路径

5.1.3 网络质量监测与调优

5.2 数据传输

5.2.1 数据压缩与加密

5.2.2 数据传输效率

5.2.3 容错与重传机制

5.3 技术实现与工具选择

5.3.1 使用专业网络优化工具

5.3.2 选择合适的数据传输技术

6.安全性考虑

6.1 数据传输安全

6.2 数据存储安全

6.3 网络安全

6.4 灾备与恢复

6.5 人员管理

6.6 合规性

7.管理与监控

7.1 管理层面

7.1.1 集中管理平台

7.1.2 自动化部署与配置

7.1.3 资源分配与优化

7.1.4 版本控制与更新

7.2 监控层面

7.2.1 基础设施监控

7.2.2 应用性能监控(APM)

7.2.3 日志分析与告警

7.2.4 流量与负载监控

7.2.5 安全性监控


Spring Cloud Alibaba的异地多活设计主要涉及以下几个方面。

1. 基于Ribbon的负载均衡

Spring Cloud Alibaba 2.2.9.RELEASE版本通过Ribbon负载均衡实现了异地多活能力。这意味着在多个地理位置部署的服务节点可以通过Ribbon进行智能的负载均衡,从而确保请求能够被有效地分发到不同的服务实例上。

基于Ribbon的负载均衡与异地多活设计在微服务架构中扮演着重要角色。以下是对这两者关系的清晰归纳

1.1 技术实现

1.1.1 负载均衡的作用

(1)RibbonNetflix开源的一个客户端负载均衡工具,它有助于在微服务架构中管理和分发请求到不同的服务实例。

(2)Ribbon可以与RestTemplateFeign结合使用,为客户端提供负载均衡功能。

1.1.2 负载均衡算法

(1)Ribbon提供了多种负载均衡算法,如轮询、随机等,这些算法可以根据实际需求进行选择和配置。

(2)Ribbon还支持自定义负载均衡策略,以满足特定的业务需求。

1.1.3 集成与配置

(1)Spring Cloud项目中,通过添加相关依赖和配置,可以轻松地集成Ribbon进行负载均衡。

(2)Ribbon的配置非常灵活,可以根据需要进行详细的参数调整。

1.2 Ribbon异地多活设计

1.2.1 异地多活的概念

(1)异地多活是指在不同的地理位置部署多个数据中心或服务节点,以确保在某个地区发生故障时,其他地区的系统仍然可以正常运行。

(2)这种设计提高了系统的可用性和持久性,减少了单点故障的风险。

1.2.2 Ribbon在异地多活中的应用

(1)Ribbon的负载均衡能力可以跨地域工作,将请求分发到不同的数据中心或服务节点。

(2)在异地多活设计中,Ribbon可以根据预设的策略(如地理位置、服务节点的健康状况等)智能地选择最佳的服务节点进行请求分发。

1.2.3 数据一致性与同步

在异地多活环境中,保持数据的一致性是一个挑战。虽然Ribbon本身不直接处理数据一致性问题,但它可以与其他数据同步技术结合使用,以确保各个数据中心之间的数据保持同步。

1.2.4 容错与灾备

(1)Ribbon的负载均衡策略可以与容错机制结合,当某个数据中心或服务节点出现故障时,自动将请求重定向到其他可用的节点。

(2)这种设计大大提高了系统的容错能力和灾备响应速度。

1.2.5 监控与管理

在异地多活环境中,对各个数据中心和服务节点的监控和管理至关重要。Ribbon可以与监控工具集成,提供实时的负载均衡状态和服务健康状况信息。

2.服务注册与发现

在异地多活架构中,服务的注册与发现是关键。Spring Cloud Alibaba支持服务的自动注册与发现,使得在多个地理位置部署的服务能够互相发现并进行通信。

2.1 概念

2.1.1 概念解释

(1)服务注册:服务提供者将自己的服务实例信息(如IP地址、端口、健康状态等)注册到服务注册中心,以便其他服务或客户端能够发现和调用。

2)服务发现:服务消费者通过查询服务注册中心,获取可用的服务实例信息,从而进行服务调用。

2.1.2 特点

(1)动态性:支持服务实例的动态注册和注销,及时反映服务状态变化。

(2)健康检查:定期检查服务实例的健康状态,确保服务的可用性。

(3)多环境支持:管理不同环境(开发、测试、生产)的服务实例。

2.1.3 技术实现

Nacos等开源工具提供了服务注册与发现的功能,简化了服务之间的通信和调用过程。

2.2 服务注册与发现异地多活设计

2.2.1 概念解释

异地多活:在不同地理位置部署多个数据中心或服务节点,确保系统的持续可用性和灾备能力。

2.2.2 关键要素

(1)数据同步:保持多个数据中心之间的数据一致性。

(2)负载均衡:跨地域分发请求,优化性能和响应时间。

(3)容错机制:在某个数据中心故障时,快速切换到其他数据中心。

2.2.3 与服务注册与发现的关系

(1)在异地多活设计中,服务注册与发现机制使得各个数据中心的服务能够互相发现、调用和负载均衡。

(2)服务注册中心可以跨地域部署,支持多个数据中心的服务注册和发现。

2.2.4 技术挑战与解决方案

(1)数据一致性:通过数据同步技术(如数据库复制、分布式事务等)确保多个数据中心的数据一致性。

(2)网络延迟:优化网络架构,使用高效的通信协议减少跨地域调用的延迟。

在异地多活设计中,服务注册与发现是实现服务间通信和调用的关键。通过服务注册中心,不同数据中心的服务可以互相发现,实现负载均衡和容错。同时,需要关注数据一致性和网络延迟等挑战,通过相应的技术手段进行解决。

综上所述,服务注册与发现和异地多活设计是构建高可用、可扩展的分布式系统的重要组成部分。它们相互关联,共同确保系统的稳定性、可靠性和性能。

3.数据同步与一致性

异地多活设计中的一个重要挑战是保持数据的一致性。虽然Spring Cloud Alibaba本身不提供数据同步功能,但它可以与各种数据同步中间件(如CanalRedisShake等)集成,确保在多个地理位置的数据中心之间保持数据的一致性。

异地多活设计中的数据同步与一致性是一个复杂而关键的问题。以下是对这一问题的详细分析。

3.1 数据同步的挑战与策略

3.1.1 挑战

(1)网络延迟:不同地理位置的数据中心之间可能存在较大的网络延迟,这会影响数据同步的速度和效率。

(2)数据冲突:当多个数据中心同时更新同一份数据时,可能会出现数据冲突。

(3)一致性保证:确保所有数据中心的数据在任意时间点都保持一致是一个巨大的挑战。

3.1.2 同步策略

(1)最终一致性:在异地多活设计中,通常追求的是最终一致性,即允许短时间内的数据不一致,但通过数据同步机制最终达成一致状态。

(2)增量同步与全量同步:根据数据变动频率和量级,选择合适的同步策略。增量同步可以减少网络传输量,提高同步效率;全量同步则用于确保数据的完整性。

3.2 数据一致性的实现方法

3.2.1 基于时间戳的方法

通过为每个数据更新操作附加一个时间戳,可以判断哪个更新是最新的,并据此解决数据冲突。

3.2.2 基于版本控制的方法 

类似于时间戳,但使用版本号来标识数据的更新。每次数据变更都会导致版本号的增加,从而可以追踪和比较不同数据中心的数据版本。

3.2.3 分布式事务与两阶段提交

对于需要确保强一致性的场景,可以使用分布式事务和两阶段提交协议来确保数据在多个数据中心之间的一致性。

3.2.4 数据校验与稽核

定期对各个数据中心的数据进行校验和稽核,确保数据的一致性。这可以通过比对哈希值、校验和或其他数据指纹来实现。

3.3 技术实现与工具选择

3.3.1 数据库复制技术

MySQL的主从复制、主主复制等,这些技术可以实现数据库之间的数据同步。

3.3.2 数据同步平台

专门的数据同步平台,如基于binlog解析的数据同步工具,可以实现数据中心间的数据双向同步。

3.3.3 分布式缓存系统

使用如Redis等分布式缓存系统,通过其提供的复制和集群功能,确保数据的一致性。

在异地多活设计中,数据同步与一致性是关键问题。选择合适的同步策略、使用成熟的技术工具和建立有效的数据校验机制是确保数据一致性的重要步骤。同时,需要根据具体业务需求和系统特点进行权衡和选择。 

4.容错与灾备

在异地多活设计中,容错和灾备能力至关重要。Spring Cloud Alibaba提供了多种容错机制,如熔断、限流、超时控制等,以确保在某个地理位置的服务出现故障时,其他位置的服务能够接管并继续提供服务。

异地多活设计中的容错与灾备是确保系统在高可用性方面的重要措施。以下是对这两个方面的详细归纳。

4.1 容错设计

4.1.1 无状态服务设计

为了减少服务之间的依赖性,很多服务被设计成无状态的,这样即使某个服务节点发生故障,其他节点也可以迅速接管,而无需担心状态丢失或不同步的问题。

4.1.2 负载均衡与健康检查

通过使用负载均衡技术,如Ribbon,可以将请求分发到健康的服务节点上。同时,定期的健康检查可以及时发现并隔离故障节点,确保请求不会被发送到有问题的服务上。

4.1.3 熔断与降级

当某个服务出现故障或响应过慢时,熔断机制可以快速切断对该服务的调用,避免整个系统的崩溃。同时,降级策略可以确保在部分服务不可用的情况下,系统仍然能够提供有限的功能。

4.1.4 数据冗余与备份

为了确保数据的可靠性,通常会采用数据冗余和备份策略。这包括在多个数据中心存储数据的副本,以防止数据丢失。

4.2 灾备策略

4.2.1 多数据中心部署

异地多活设计的核心就是在不同的地理位置部署多个数据中心。这些数据中心之间可以互相备份和接管,确保在一个数据中心发生故障时,其他数据中心可以继续提供服务。

4.2.2 数据同步与恢复

为了确保灾备数据中心的数据与主数据中心保持一致,需要采用数据同步技术。同时,还需要制定数据恢复计划,以便在灾难发生后能够迅速恢复数据和服务。

4.2.3 灾备演练

定期进行灾备演练可以验证灾备计划的可行性,并发现可能存在的问题。这有助于确保在真正的灾难发生时,系统能够快速切换到灾备数据中心并继续提供服务。

4.2.4 监控与告警

建立完善的监控和告警机制可以及时发现系统的异常情况,并通知相关人员进行处理。这有助于减少故障的发现和处理时间,提高系统的可用性。

综上所述,异地多活设计中的容错与灾备策略是相互补充的。通过结合这些策略,可以大大提高系统的可用性和可靠性,确保在面临各种故障和灾难时,系统仍然能够提供稳定的服务。

5.网络优化与传输

为了减少异地数据传输的延迟,Spring Cloud Alibaba可能会采用一些网络优化技术,如使用高效的序列化协议、压缩算法等,以确保数据在不同地理位置之间能够快速、准确地传输。

异地多活设计中的网络优化与传输是一个关键环节,它直接影响到系统的性能和用户体验。以下是对网络优化与传输在异地多活设计中的考虑和实施要点的归纳。

5.1 网络优化

5.1.1 减少网络延迟

(1)选择合适的网络加速器,以减少数据包在传输过程中的延迟。

(2)优化传输

协议,例如使用更高效的传输层协议,减少传输开销和延迟。

5.1.2 合理规划网络路径

(1)通过智能路由选择,确保数据流量能够沿着最优路径传输,避开网络拥堵点。

(2)利用多线路接入和负载均衡技术,分散网络流量,提高网络访问速度。

5.1.3 网络质量监测与调优

(1)实施网络质量监测,实时了解网络状态,及时发现并解决网络问题。

(2)根据监测数据进行网络调优,如调整带宽分配、优化网络连接方式等。

5.2 数据传输

5.2.1 数据压缩与加密

(1)在数据传输前进行压缩,以减少传输所需的时间和带宽。

2)使用加密技术确保数据传输的安全性,防止数据泄露或被篡改。

5.2.2 数据传输效率

(1)采用高效的数据传输协议和格式,减少不必要的数据传输开销。

(2)利用并行传输和流水线技术,提高数据传输的吞吐量和效率。

5.2.3 容错与重传机制

(1)在数据传输过程中实施错误检测和纠正技术,确保数据的完整性。

(2)设计合理的重传机制,以应对数据传输中的丢包或错误情况。

5.3 技术实现与工具选择

5.3.1 使用专业网络优化工具

借助专业的网络优化工具和服务,如CDN(内容分发网络),提高用户访问速度和体验。

5.3.2 选择合适的数据传输技术

根据业务需求和网络环境选择合适的数据传输技术,如基于HTTP/HTTPS的传输、文件传输协议(FTP/SFTP)等。

6.安全性考虑

在异地多活设计中,安全性是一个不可忽视的问题。Spring Cloud Alibaba提供了丰富的安全特性,如加密通信、身份验证、访问控制等,以确保在多个地理位置之间传输的数据的安全性。

异地多活设计中的安全性考虑主要涉及到以下几个方面。

6.1 数据传输安全

(1)加密传输:所有数据在数据中心之间的传输都应该使用强加密算法,如AESRSA,以确保数据在传输过程中的保密性。

(2)完整性校验:使用数字签名或哈希函数来验证数据的完整性,防止数据在传输过程中被篡改。

6.2 数据存储安全

(1)加密存储:即使在数据中心内部,敏感数据也应该以加密的形式存储,以防止未经授权的访问。

(2)访问控制:实施严格的访问控制策略,确保只有经过授权的人员才能访问敏感数据。

6.3 网络安全

(1)防火墙和入侵检测系统:部署高效的防火墙和入侵检测系统,防止外部攻击和内部渗透。

(2)定期安全审计:定期对网络系统进行安全审计,以及时发现并修补潜在的安全漏洞。

6.4 灾备与恢复

(1)数据备份:定期备份所有数据,并确保备份数据的安全存储,以防数据丢失或损坏。

(2)灾难恢复计划:制定详细的灾难恢复计划,包括数据恢复、系统重建等步骤,以确保在发生灾难时能够快速恢复正常运营。

6.5 人员管理

(1)安全培训:定期对员工进行网络安全培训,提高他们的安全意识。

(2)访问权限管理:严格管理员工的访问权限,确保他们只能访问完成工作所需的最小数据范围。

6.6 合规性

(1)遵守法律法规:确保异地多活设计符合相关的数据保护和隐私法律法规,如GDPRCCPA等。

(2)定期审计:定期进行合规性审计,以确保系统设计和运营符合法律要求。

综上所述,异地多活设计中的安全性考虑需要综合考虑数据传输、存储、网络安全、灾备恢复、人员管理和合规性等多个方面。通过实施这些安全措施,可以大大提高异地多活系统的安全性,保护敏感数据免受未经授权的访问和潜在的安全威胁。

7.管理与监控

为了有效地管理异地多活架构,Spring Cloud Alibaba提供了强大的管理与监控功能。这包括服务健康检查、性能监控、日志收集与分析等,以帮助运维人员及时发现并解决问题。

异地多活设计中的管理与监控是确保系统稳定、高效运行的关键环节。以下是对这一方面的详细归纳。

7.1 管理层面

7.1.1 集中管理平台

(1)建立一个集中管理平台,用于统一管理各个数据中心的资源和服务。

(2)该平台应提供友好的用户界面,方便管理员进行资源配置、服务部署和监控等操作。

7.1.2 自动化部署与配置

(1)利用自动化工具,如AnsibleChefPuppet,实现服务的自动化部署和配置。

(2)这可以大大减少人为错误,并提高工作效率。

7.1.3 资源分配与优化

(1)根据各个数据中心的负载情况,动态分配和调整资源,以确保资源的合理利用。

(2)定期评估资源使用情况,以便及时调整和优化资源分配策略。

7.1.4 版本控制与更新

(1)对系统中的所有组件实施版本控制,以便追踪变更历史并确保一致性。

(2)制定明确的更新策略,确保各个数据中心在更新时能够保持同步。

7.2 监控层面

7.2.1 基础设施监控

(1)监控各个数据中心的硬件和网络状态,确保它们处于正常工作状态。

(2)利用监控工具如ZabbixNagios等,实时监控服务器、网络设备和存储设备的性能。

7.2.2 应用性能监控(APM)

(1)对运行在各个数据中心的应用进行性能监控,包括响应时间、吞吐量等指标。

(2)使用APM工具,如New Relic、Dynatrace等,帮助开发团队快速定位和解决性能问题。

7.2.3 日志分析与告警

(1)收集并分析系统日志,以便及时发现异常情况并触发告警。

(2)利用日志分析工具如ELKElasticsearchLogstashKibana)堆栈,实现日志的集中存储、搜索和分析。

7.2.4 流量与负载监控

(1)监控各个数据中心的流量和负载情况,以便及时调整负载均衡策略。

2)使用专业的监控工具来追踪和分析流量模式,以确保系统能够应对突发流量和高峰时段的需求。

7.2.5 安全性监控

(1)实时监控系统的安全状况,包括防火墙状态、入侵检测系统等。

(2)定期审查安全日志,以便及时发现潜在的安全威胁并采取相应措施。

综上所述,异地多活设计中的管理与监控需要综合考虑多个方面,包括集中管理、自动化部署与配置、资源分配与优化、版本控制与更新以及基础设施监控、应用性能监控、日志分析与告警、流量与负载监控以及安全性监控等。通过实施这些策略,可以确保异地多活系统的稳定、高效和安全运行。

需要注意的是,Spring Cloud Alibaba的异地多活设计并非一个孤立的解决方案,而是需要与其他技术和工具(如数据库、缓存、消息队列等)紧密结合才能实现真正的异地多活能力。同时,具体的实现方式也会因应用场景和需求的不同而有所差异。

此外,虽然Spring Cloud Alibaba为异地多活设计提供了强大的支持,但在实际部署和运维过程中仍然需要谨慎处理各种可能的问题和挑战,如网络延迟、数据一致性保证、故障恢复策略等。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端开发攻略---拖动归类,将元素拖拽到相应位置

1、演示 2、代码 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widthdevice-…

2024年Q1季度平板电视行业线上市场销售数据分析

Q1季度平板电视线上市场表现不如预期。 根据鲸参谋数据显示&#xff0c;2024年1月至3月线上电商平台&#xff08;京东天猫淘宝&#xff09;平板电视累计销量约360万件&#xff0c;环比下降12%&#xff0c;同比下降30%&#xff1b;累计销售额约99亿元&#xff0c;环比下降28%&a…

学习STM32第十七天

备份域详解 一、简介 在参考手册的电源控制章节&#xff0c;提到了备份域&#xff0c;BKPR是在RTC外设中用到&#xff0c;包含20个备份数据寄存器&#xff08;80字节&#xff09;&#xff0c;备份域包括4KB的备份SRAM&#xff0c;以32位、16位或8位模式寻址&#xff0c;在VBAT…

C++初阶学习第二弹——C++入门(下)

C入门&#xff08;上&#xff09;&#xff1a;C初阶学习第一弹——C入门&#xff08;上&#xff09;-CSDN博客 目录 一、引用 1.1 引用的实质 1.2 引用的用法 二、函数重载 三、内敛函数 四、auto关键字 五、总结 前言&#xff1a; 在上面一章我们已经讲解了C的一些基本…

Vue2进阶之Vue2高级用法

Vue2高级用法 mixin示例一示例二 plugin插件自定义指令vue-element-admin slot插槽filter过滤器 mixin 示例一 App.vue <template><div id"app"></div> </template><script> const mixin2{created(){console.log("mixin creat…

【Java网络编程】TCP通信(Socket 与 ServerSocket)和UDP通信的三种数据传输方式

目录 1、TCP通信 1.1、Socket 和 ServerSocket 1.3、TCP通信示例 2、UDP的三种通信&#xff08;数据传输&#xff09;方式 1、TCP通信 TCP通信协议是一种可靠的网络协议&#xff0c;它在通信的两端各建立一个Socket对象 通信之前要保证连接已经建立&#xff08;注意TCP是一…

【Interconnection Networks 互连网络】Torus 网络拓扑

1. Torus 网络拓扑2. Torus 网络拓扑结构References 1. Torus 网络拓扑 Torus 和 Mesh 网络拓扑&#xff0c;又可以称为 k-ary n-cubes&#xff0c;在规则的 n 维网格中包裹着 N k^n 个节点&#xff0c;每个维度都有 k 个节点&#xff0c;并且最近邻居之间有通道。k-ary n-c…

YOLOv9有效改进专栏汇总|未来更新卷积、主干、检测头注意力机制、特征融合方式等创新![2024/4/21]

​ 专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;助力高效涨点&#xff01;&#xff01;&#xff01; 专栏介绍 YOLOv9作为最新的YOLO系列模型&#xff0c;对于做目标检测的同学是必不可少的。本专栏将针对2024年最新推出的YOLOv9检测模型&#xff0…

《HCIP-openEuler实验指导手册》1.3Apache动态功能模块加载卸载练习

1.3.1 配置思路 mod_status 模块可以帮助管理员通过web界面监控Apache运行状态&#xff0c;通过LoadModule指令加载该模块&#xff0c;再配置相关权限&#xff0c;并开启ExtendedStatus后&#xff0c;即可使用该模块。 1.3.2 配置步骤 检查mod_status模块状态&#xff08;使…

net模块

建立TCP的链接 1 发送消息的服务 2 接收消息 2 建立http的链接让浏览器进行访问 import net from netconst html <h1>TCP</h1>const respinseHeaders [HTTP/1.1 200 OK,Content-Type:text/html,Content-Length: html.length,\r\n,html]const http net.create…

RK3568 学习笔记 : u-boot 通过 tftp 网络更新 u-boot自身

前言 开发板型号&#xff1a; 【正点原子】 的 RK3568 开发板 AtomPi-CA1 使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 使用 rockchip Linux 内核的设备树 【替换】 u-boot 下的 rk3568 开发板设备树文件&#xff0c;解决 u-boot 下千兆网卡设备能识别但是无法 Pi…

Spring(下)

接上篇&#xff0c;从第八个问题讲起 八.Spring工厂创建复杂对象 1.什么是复杂对象 简单对象就是可以直接new出来的&#xff0c;也就是直接调用构造方法创建 所以复杂对象就是不能直接通过调用构造方法创建。就比如JDBC中的Connection 2.三种方法 &#xff08;1&#xff…

【华为 ICT HCIA eNSP 习题汇总】——题目集18

1、SSH默认工作使用的TCP端口号是&#xff08;&#xff09;。 A、20 B、21 C、22 D、23 考点&#xff1a;①传输层 ②应用层 解析&#xff1a;&#xff08;C&#xff09; SSH为建立在应用层和传输层上的安全协议&#xff0c;是对TCP/IP协议的传输层以上的SSH会话流程进行加密的…

必应搜索广告与谷歌搜索广告对比那个更好?

搜索引擎广告作为企业获取潜在客户的重要渠道之一&#xff0c;其效果直接关系到营销策略的成功与否。两大搜索引擎巨头——谷歌&#xff08;Google&#xff09;和必应&#xff08;Bing&#xff09;各自提供了广告平台&#xff0c;即谷歌广告&#xff08;Google Ads&#xff09;…

【Web】2022DASCTF X SU 三月春季挑战赛 题解(全)

目录 ezpop calc upgdstore ezpop 瞪眼看链子 fin#__destruct -> what#__toString -> fin.run() -> crow#__invoke -> fin#__call -> mix.get_flag() exp <?php class crow {public $v1;public $v2;}class fin {public $f1; }class what {public $a; }…

力扣hot100(python解析)

文章目录 13. 合并区间14. 轮转数组 13. 合并区间 合并区间 数组 排序 思路&#xff1a; 代码&#xff1a; class Solution:def merge(self, intervals):result []if len(intervals) 0:return result # 区间集合为空直接返回intervals.sort() # 默认按照区间的左边界进…

z3求解器脚本(CTF-reverse必备)

CTF-reverse中有一类题目是通过约束方程求解变量的值&#xff0c;然后转化为对应的ASCII码&#xff0c;最终获得flag&#xff0c;约束方程以及要求解的未知数往往非常多&#xff0c;因此手算十分不现实&#xff0c;借助python中的z3模块可以很快完成求解&#xff01; 下面是某道…

开始Java之旅

1.Java语言 java是一门优秀的程序设计语言&#xff0c;并且是一种半编译型&#xff0c;半解释型语言。 Java 语言源于 1991 年 4 月&#xff0c;Sun 公司 James Gosling博士 领导的绿色计划(Green Project) 开始启动&#xff0c;此计划最初的目标是开发一种能够在各种消费性电…

【分治算法】Hanoi塔问题Python实现

文章目录 [toc]问题描述Python实现 个人主页&#xff1a;丷从心 系列专栏&#xff1a;Python基础 学习指南&#xff1a;Python学习指南 问题描述 设 a a a、 b b b、 c c c是三个塔座&#xff0c;开始时&#xff0c;在塔座 a a a上有一叠共 n n n个圆盘&#xff0c;这些圆盘…

最新免费 ChatGPT、GPTs、AI换脸(Suno-AI音乐生成大模型)

&#x1f525;博客主页&#xff1a;只恨天高 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ ChatGPT3.5、GPT4.0、GPTs、AI绘画相信对大家应该不感到陌生吧&#xff1f;简单来说&#xff0c;GPT-4技术比之前的GPT-3.5相对来说更加智能&#xff0c;会根据用户的要求生成多种内容…