构建高可用和高防御力的云服务架构第五部分:PolarDB(5/5)

引言

云计算与数据库服务

云计算作为一种革命性的技术,已经深刻改变了信息技术行业的面貌。它通过提供按需分配的计算资源,使得数据存储、处理和分析变得更加灵活和高效。在云计算的众多服务中,数据库服务扮演着核心角色。数据库服务不仅负责存储和管理海量数据,还支持复杂的查询和实时分析,是构建现代应用程序的基石。

随着云计算的不断发展,数据库服务也在不断演进。从传统的关系型数据库到NoSQL数据库,再到如今的云原生数据库,数据库技术正朝着更高的性能、更好的可扩展性和更强的一致性方向发展。这些服务使得开发者能够专注于应用逻辑的实现,而不必过多关注底层数据存储和运维的复杂性。

PolarDB的定位

PolarDB是阿里云自主研发的云原生数据库,它结合了传统关系型数据库的稳定性和NoSQL数据库的灵活性。作为云原生数据库,PolarDB设计之初就考虑了云计算环境的特点,如自动化运维、无缝扩展和高可用性等。

PolarDB的重要性体现在以下几个方面:

  1. 高性能:PolarDB通过分布式架构和先进的存储引擎技术,提供了高吞吐量和低延迟的数据访问能力。
  2. 可扩展性:它支持在线水平扩展,可以根据业务需求动态调整计算和存储资源,无需停机。
  3. 高可用性:PolarDB采用多副本和自动故障转移机制,确保了服务的持续可用性。
  4. 兼容性:它兼容MySQL、PostgreSQL等多种数据库引擎,使得传统数据库应用可以无缝迁移到云环境。
  5. 智能管理:PolarDB提供了智能监控、诊断和优化工具,简化了数据库的运维管理。

在现代云服务架构中,PolarDB作为核心组件,为各种规模的企业提供了一个强大、可靠且成本效益高的数据库解决方案。它的出现,不仅推动了数据库技术的发展,也为云计算的广泛应用提供了强有力的支持。

第一部分:PolarDB基础

1.1 PolarDB概述

定义与特点

PolarDB是阿里云推出的一款高性能的云原生数据库,它专为云环境设计,以满足大规模数据存储和处理的需求。PolarDB的主要特点和优势包括:

  1. 存储计算分离:PolarDB采用存储和计算资源分离的架构,使得计算和存储可以独立扩展,提高了资源利用率和系统灵活性。

  2. 高性能:PolarDB利用最新的硬件和优化的数据库引擎,提供低延迟和高吞吐量的数据处理能力。

  3. 高可用性:通过多副本和自动故障转移机制,PolarDB确保了服务的高可用性,即使在节点故障的情况下也能保持服务不中断。

  4. 弹性扩展:PolarDB支持在线水平扩展,可以根据业务需求动态调整资源,无需停机,保证了业务的连续性。

  5. 兼容性:PolarDB兼容MySQL和PostgreSQL等流行数据库引擎,使得现有的应用可以无缝迁移到云环境。

  6. 安全性:PolarDB提供多种安全特性,包括数据加密、访问控制和审计日志,确保数据的安全和合规性。

  7. 智能管理:PolarDB集成了智能监控、诊断和优化工具,简化了数据库的运维管理。

版本兼容性

PolarDB支持与多种数据库引擎的兼容性,使得用户可以在云环境中运行原本为这些数据库引擎开发的应用程序:

  1. MySQL兼容性:PolarDB for MySQL提供与MySQL数据库的深度兼容,支持大多数MySQL特性和语法,使得从MySQL迁移到PolarDB变得简单。

  2. PostgreSQL兼容性:PolarDB for PostgreSQL版则是为需要PostgreSQL数据库引擎特性的用户设计的,它提供了与PostgreSQL的兼容性。

  3. Oracle兼容性:PolarDB还提供了对Oracle数据库的兼容性支持,这使得运行在Oracle上的企业应用可以更容易地迁移到PolarDB。

PolarDB的兼容性减少了从传统数据库迁移到云数据库的复杂性,同时也降低了学习成本和迁移风险。通过这种兼容性,PolarDB能够满足不同用户群体的需求,为用户提供灵活的选择。

1.2 架构设计

存储计算分离

PolarDB的存储计算分离架构是其核心设计之一,它将数据库的计算层(Compute Layer)和存储层(Storage Layer)分开部署和管理。这种设计带来了以下优势:

  1. 性能提升:计算层可以独立于存储层进行扩展,可以根据业务需求快速调整计算资源,如CPU和内存,而不影响存储性能。这使得PolarDB能够快速响应业务变化,提供更高的处理能力。

  2. 扩展性增强:存储层可以独立扩展,只需增加存储容量而不需要重启数据库服务。这种设计使得PolarDB能够轻松处理PB级别的数据存储需求。

  3. 成本优化:用户可以根据实际的计算和存储需求购买资源,避免了资源的浪费。例如,在数据仓库或大数据分析场景中,可能需要大量的存储资源但计算需求相对较低,存储计算分离架构能够更经济地满足这种需求。

  4. 维护简便:存储计算分离架构使得数据库的维护和升级更加简便,因为计算节点和存储节点可以独立进行维护操作,减少了系统停机时间。

  5. 数据安全:存储层的独立性还意味着数据的安全性得到了加强,即使计算层出现问题,存储层的数据仍然安全且可访问。

一写多读

PolarDB的一写多读架构允许一个主节点处理所有写入操作,同时多个只读节点并行处理读取操作。这种架构的优势包括:

  1. 读写分离:通过将读写操作分离,PolarDB能够更有效地利用资源,提高系统的整体吞吐量。写入操作通常涉及数据的修改和事务的处理,而读取操作则可以并行执行,从而提高性能。

  2. 负载均衡:一写多读架构通过分散读取负载到多个只读节点,减少了单个节点的压力,提高了系统的稳定性和可靠性。

  3. 水平扩展:当读取需求增加时,可以通过添加更多的只读节点来水平扩展系统,而不影响写入性能。

  4. 故障转移:在主节点发生故障时,PolarDB可以自动将一个只读节点提升为新的主节点,继续处理写入操作,从而保证了服务的高可用性。

  5. 数据一致性:PolarDB通过分布式事务和全局时钟(如TSO)确保了在一写多读架构下数据的一致性,即使是在分布式环境中也能保持数据的准确性。

PolarDB的一写多读架构通过智能地分配读写请求,实现了高效的读写分离,特别适合读多写少的业务场景,如社交媒体、在线游戏和电子商务等。

第二部分:高可用性设计

2.1 多节点集群

集群架构

PolarDB的多节点集群版通过多个节点的部署来提高数据库的可用性。在这种架构中,PolarDB可以配置多个主节点和多个只读节点,以支持高并发的读写操作。这种设计允许数据库在面对节点故障时,能够快速进行故障转移,确保服务的连续性。例如,PolarDB MySQL版推出的多主集群,即在一个集群中通过多个主节点来实现从一写多读架构到多写多读架构的升级,主要面向SaaS多租户、游戏、电商等高并发读写的应用场景。这种架构通过秒级横向写扩展,支持不同库/表在不同计算节点并发写入,最多支持在32个节点同时写入数据,极大提升整体的并发读写能力 。

故障恢复

PolarDB采用了高效的故障恢复机制,确保在发生故障时能够快速恢复服务并保障数据的一致性。PolarDB的故障恢复机制包括数据备份、日志分析、快速恢复和数据一致性校验等步骤。PolarDB采用了分布式存储系统,通过ROW(Redirect-on-Write)快照的方式实现一级备份,这种备份方式可以实现秒级备份,且备份保留时长可达3~14天。当数据库发生故障时,PolarDB可以根据备份集和增量日志(Redo Log)将数据库恢复到任意时间点,从而实现快速恢复与数据一致性保障 。

2.2 Paxos协议

X-Paxos

PolarDB采用的X-Paxos协议是为了保证数据强一致性的关键技术。X-Paxos是阿里巴巴自研的Paxos协议实现,它在功能、性能上都做了大量优化,且经历了数十载的双十一考验,稳定可靠。X-Paxos实现了Multi-Paxos算法,通常存在一个相对稳定的Leader节点用于处理读写请求。如果Leader节点因为某些意外情况发生宕机或超时,Follower节点就会重新发起选主投票,如果得到超过半数的选票则成为新的Leader。X-Paxos还支持动态添加删除节点、权重化选主、Leader主动回切等企业级特性,允许用户根据业务需求灵活定义部署方式 。

多机房部署

PolarDB通过多机房部署实现机房级容灾。PolarDB-X可以部署到多个机房中,以实现机房级容灾。常见的部署方式有同城三机房、两地三中心等,其中后者主要应用在混合云部署中。由于Paxos协议的特性,通常三个机房中有一个主机房负责对外提供服务。这种部署方式可以确保在一个机房发生故障时,其他机房可以接管服务,从而实现高可用性 。

第三部分:安全性措施

3.1 数据加密

传输加密

PolarDB通过SSL/TLS确保数据传输安全。SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是安全协议,用于在网络通信中提供加密。PolarDB支持在客户端和服务器之间的连接上启用SSL/TLS,以保护数据在传输过程中不被窃听或篡改。启用SSL/TLS后,数据在发送前会被加密,在接收端解密,确保了数据的安全性和完整性。具体操作步骤可以参考阿里云帮助中心的文档 。

静态数据加密

PolarDB的静态数据加密功能对数据安全至关重要。PolarDB PostgreSQL版提供了透明数据加密(TDE)功能,该功能可以在数据库层对数据文件执行实时I/O加密和解密。数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密,从而防止未经授权的访问。TDE不会增加数据文件的大小,且对应用程序透明,无需更改任何应用程序代码即可使用。PolarDB的TDE加密使用的密钥由密钥管理服务(KMS)产生和管理,确保了加密过程的安全性。更多关于TDE的配置和使用,可以参考阿里云帮助中心的详细说明 。

3.2 访问控制

用户身份验证

PolarDB支持多种用户身份验证方式,包括密码验证、证书验证等。用户可以根据自己的安全需求选择合适的验证方式。例如,PolarDB-X 1.0中可以应用访问控制服务RAM(Resource Access Management),通过RAM创建子账号,并为这些账号分配不同的权限,从而实现细粒度的访问控制。这种方式有助于避免云账号密钥的泄露,降低企业信息安全管理风险 。

细粒度权限管理

PolarDB允许通过细粒度权限管理实现最小权限原则。管理员可以为不同的用户或用户组分配精确的权限集,确保用户只能访问其需要的资源。例如,可以通过RAM服务创建自定义策略,对PolarDB进行精细化权限管理。自定义策略可以精确地描述被授权的资源集、操作集以及授权条件,从而实现对PolarDB的细粒度访问控制。这有助于提高数据库的安全性,防止未授权访问和数据泄露。具体操作可以参考阿里云帮助中心的指导 。

第四部分:性能优化

4.1 监控与维护

性能监控

PolarDB提供了强大的性能监控工具,帮助用户实时监控数据库性能并进行优化。用户可以通过PolarDB控制台查看集群、计算节点、数据库代理等的性能指标,如CPU使用率、内存使用率、存储空间使用量、QPS(每秒查询率)、TPS(每秒事务数)等。这些监控数据可以帮助用户快速定位性能瓶颈,如慢SQL查询,并通过优化SQL语句或调整数据库配置来提升性能。例如,用户可以通过慢日志分析功能查看执行耗时较长的SQL语句,并进行相应的优化。

慢SQL分析

PolarDB支持慢SQL分析功能,用户可以通过控制台查看慢日志趋势、统计和明细,从而识别和优化慢SQL。慢SQL是指执行时间超过预设阈值的SQL语句,这些语句可能会影响数据库性能。用户可以通过慢日志分析功能查看慢SQL的执行时间、扫描行数、返回行数等信息,并采取相应的优化措施,如索引优化、查询重写等。

4.2 审计与合规性

审计日志

PolarDB的审计日志功能可以记录所有对数据库的操作,包括数据访问、数据变更等,以便于跟踪和审查。审计日志对于安全审查、问题排查和合规性检查非常重要。PolarDB支持将审计日志投递到日志服务中,实现日志的实时查询、可视化分析、告警、投递和加工等操作。用户可以通过审计日志快速定位问题SQL,进行安全分析和风险评估。

合规性支持

PolarDB支持多种国际标准和法规要求,如GDPR(通用数据保护条例)、HIPAA(健康保险流通与责任法案)等,确保用户的业务在全球范围内都能符合当地法律法规的要求。PolarDB通过数据加密、访问控制、审计日志等安全措施,帮助用户满足这些法规的合规性要求。例如,PolarDB支持静态数据加密和传输加密,确保数据在存储和传输过程中的安全性,满足GDPR和HIPAA对数据保护的要求。

通过上述监控、审计和合规性支持,PolarDB为用户提供了全面的数据安全和可靠性保障,帮助用户在云端安心地存储和处理敏感数据。

第五部分:案例研究

5.1 电子商务平台

案例分析

电子商务平台在面对高并发处理和数据一致性的挑战时,可以利用PolarDB实现高效稳定的数据处理系统。根据阿里云开发者社区的文章 ,PolarDB采用读写分离、弹性扩展和分布式缓存策略来应对高并发场景。通过全局时钟、分布式事务和数据复制等技术保证数据一致性。在大型促销活动中,电商平台可以通过提前扩容、启用读写分离、优化索引和设置监控告警等措施来应对流量高峰,确保用户体验和数据安全。

5.2 金融行业应用

案例探讨

金融行业对数据库的高安全性和高可用性有着极高的要求,以保障业务连续性。PolarDB通过多副本机制和自动故障转移功能,确保了业务的连续性和数据的可靠性。如在阿里云开发者社区的文章 中所述,PolarDB的高可用架构设计包括主从复制、故障转移和数据备份恢复等关键技术,这些技术确保了在异常情况下的服务稳定和数据完整性。此外,PolarDB还提供了多种一致性级别,满足金融行业对数据一致性的不同需求,如最终一致性、会话一致性和全局一致性等,帮助金融企业构建符合监管要求的IT系统。

通过这些案例分析,我们可以看到PolarDB在电子商务和金融行业中的实际应用和优势,它不仅提供了强大的数据处理能力,还通过高可用和安全合规的特性,帮助企业构建稳定可靠的业务系统。

在电子商务和金融行业中,PolarDB的应用案例非常丰富,以下是一些具体的代码示例:

在高并发的电子商务平台中,PolarDB可以通过读写分离和分布式缓存策略来提高性能。以下是一个简单的示例,展示了如何在PolarDB中设置读写分离:

sql

-- 创建数据库和表
CREATE DATABASE e-commerce;
USE e-commerce;-- 创建商品表
CREATE TABLE products (product_id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255),price DECIMAL(10, 2),description TEXT
);-- 插入示例数据
INSERT INTO products (name, price, description) VALUES ('Laptop', 999.99, 'High performance laptop');

在实际应用中,写操作(如商品信息更新)将直接发送到主节点,而读操作(如商品浏览)则可以通过PolarDB的读写分离功能路由到只读节点。这样可以在促销活动期间分散读取负载,提高系统的整体吞吐量。

金融行业对数据的安全性和高可用性有着极高的要求。PolarDB的多副本机制和自动故障转移功能可以确保业务的连续性和数据的可靠性。以下是一个示例,展示了如何在PolarDB中创建数据库和表,并设置自动故障转移:

sql

-- 创建数据库
CREATE DATABASE finance;-- 创建交易表
CREATE TABLE transactions (transaction_id INT AUTO_INCREMENT PRIMARY KEY,account_id INT,amount DECIMAL(10, 2),transaction_time TIMESTAMP
);-- 插入示例数据
INSERT INTO transactions (account_id, amount, transaction_time) VALUES (123, 100.00, NOW());

在金融行业中,PolarDB可以配置为多副本模式,确保数据在多个节点上有备份。同时,PolarDB的自动故障转移功能可以在主节点发生故障时自动切换到从节点,保证服务的连续性。

这些代码示例仅提供了PolarDB在电子商务和金融行业中应用的基本框架。在实际部署时,还需要根据具体的业务需求和性能要求进行详细的配置和优化。

学术会议

重要信息

参会网站:【参会入口】

截稿时间:以官网信息为准

大会时间:2024年11月8-10日

大会地点:中国-南京

提交检索:EI Compendex、Scopus

更多了解:【高录用 / 人工智能 / EI检索】2024年人工智能与数字图书馆国际学术会议(AIDL 2024)_艾思科蓝_学术一站式服务平台

*现场可领取会议资料(如纪念品、参会证书等),【click】投稿优惠、优先审核!

支持单位:

参会方式

1、作者参会:一篇录用文章允许1名作者免费参会;

2、主讲嘉宾:申请主题演讲,由组委会审核;

3、口头演讲:申请口头报告,时间为15分钟;

4、海报展示:申请海报展示,A1尺寸,彩色打印;

5、听众参会:不投稿仅参会,也可申请演讲及展示;

6、论文投稿、口头报告、海报展示、听众参会【参会入口】

 

结语

总结

PolarDB作为阿里云自主研发的云原生数据库,在构建高可用和高防御力的云服务架构中发挥着至关重要的作用。它通过以下关键特性和优势,满足了现代企业对数据库服务的严格要求:

  1. 高性能:PolarDB采用存储计算分离架构,提供高性能的数据处理能力,满足高并发场景的需求。
  2. 高可用性:通过多副本机制、自动故障转移和数据备份恢复功能,PolarDB确保了业务的连续性和数据的安全性。
  3. 弹性扩展:PolarDB支持在线水平扩展,使得企业可以根据业务需求动态调整资源,优化成本效益。
  4. 兼容性:PolarDB兼容MySQL、PostgreSQL和Oracle,使得传统数据库应用可以无缝迁移到云环境。
  5. 安全性:提供数据加密、访问控制和审计日志等安全特性,保障数据安全和合规性。

在电子商务、金融、社交网络和游戏等行业的应用案例中,PolarDB展现了其在处理大规模数据、保证数据一致性、支持高并发访问和实现业务连续性方面的强大能力。

未来展望

展望未来,PolarDB的发展趋势和技术进步可能会集中在以下几个方面:

  1. 云原生技术:随着云计算技术的不断进步,PolarDB将进一步深化云原生特性,提供更加灵活和高效的数据库服务。
  2. 人工智能集成:PolarDB可能会集成更多的人工智能技术,以实现智能化的数据库管理和优化。
  3. 全球化部署:为了满足全球用户的需求,PolarDB可能会扩展其全球化部署能力,提供更广泛的地域支持和服务。
  4. 安全性增强:随着数据安全和隐私保护的要求日益严格,PolarDB将持续加强其安全性能,包括数据加密、访问控制和合规性支持。
  5. 开源生态:PolarDB可能会进一步扩大其开源生态,与更多的开源项目和技术社区合作,推动技术创新和应用发展。

随着技术的不断进步和市场需求的变化,PolarDB将继续演进,为企业提供一个更加强大、可靠和智能的数据库解决方案。

感谢读者

在本文的结尾,我们向所有投入时间阅读本文的读者表示衷心的感谢。我们希望本文提供的信息能够帮助您更好地理解PolarDB在构建现代云服务架构中的关键作用,以及它如何帮助企业应对高并发处理、数据一致性、安全性和合规性等挑战。

您的参与和贡献将有助于我们不断进步,为您提供更高质量的内容和服务。再次感谢您的支持,期待在未来的交流中与您相遇。

希望这篇博客能够为您在学习《构建高可用和高防御力的云服务架构第五部分:PolarDB》中提供一些启发和指导。如果你有任何问题或需要进一步的建议,欢迎在评论区留言交流。让我们一起探索IT世界的无限可能!


博主还分享了本文相关文章,请各位大佬批评指正:

1、构建高可用和高防御力的云服务架构:从DDoS高防到PolarDB

2、构建高可用和高防御力的云服务架构第一部分:深入解析DDoS高防(1/5)

3、构建高可用和高防御力的云服务架构第二部分:SLB负载均衡(2/5)

4、构建高可用和高防御力的云服务架构第三部分:ECS集群(3/5)

5、构建高可用和高防御力的云服务架构第四部分:REDIS(4/5)

6、构建高可用和高防御力的云服务架构第五部分:PolarDB(5/5)

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

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

相关文章

PHP之 实现https ssl证书到期提醒,通过企微发送消息

参考文章 https://blog.51cto.com/17099933344/1935194 https://blog.csdn.net/m0_37346206/article/details/127333463 https://www.cnblogs.com/tk-bolg/p/18108106 使用的企微接口 https://qyapi.weixin.qq.com/cgi-bin/message/send 查询 ssl证书到期时间 // ssl证书即将…

Linux·进程概念(上)

1.操作系统 任何计算机系统都包含一个基本的程序合集,称为操作系统(Operator System)。笼统的理解,操作系统包括: 内核(进程管理,内存管理,文件管理,驱动管理) 其他程序(函数库,shell程序) OS的…

SpringCloudEureka简介

背景 SpringCloudEureka是基于NetfliEureka做了二次封装,负责微服务架构的服务治理功能。 SpringCloud通过为Eureka增加SpringBoot风格的自动化配置,只需要简单的引入依赖和注解配置,就能让SpringBoot构建的微服务应用轻松和Eureka服务治理体…

uniapp实现展示1个或多个文字标签,可点击切换选中、不选中的状态

前言 uni-tag是uni-app框架提供的一个标签组件,用于展示标签或者标记某个元素。它可以在视图中用来显示一组标签,并且支持自定义样式和事件。 提示:以下是本篇文章正文内容,下面案例可供参考 uni-notice-bar组件具有以下特点&…

cefsharp新版本OnBeforeResourceLoad 禁止http自动跳转https显示404错误解决办法 含代码

一、问题 因项目需要,域名没有ssl证书,结果http访问时被强制定向到https前缀,结果会显示404 测试版本cefsharp126.x (x64) 框架 CefSharp.WinForms.NETCore 二、代码(核心代码) 如果请求url是http,且目标是https时,则阻止请求 //判断请求变化 if (url.StartsWith(<…

LInux操作系统安装Jenkins

1、什么是Jenkins Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。 2、Jenkins的作用 持续的软件版本发布/测试项目。 监控…

B-6 meshshader实现,利用vulkan和obj模型

B-6 2024/9/26 MeshShader实现 Vulkanobj模型 经过多次尝试终于实现了meshshader环境&#xff1a;vulkan、fastobj(阅读obj模型)、meshoptimizer(网格分组)放两张截图吧。龙有261w个顶点&#xff0c;87w个三角形。 meshshader流程说明 获取模型的网格数据&#xff0c;也就是顶…

Cpp内存管理(7)

文章目录 前言一、C/C内存区域划分二、C/C动态内存管理C语言动态内存管理C动态内存管理对于内置类型对于自定义类型 三、new和delete的底层实现四、new和delete的实现原理五、定位new六、malloc/free和new/delete的区别总结 前言 软件开发过程中&#xff0c;内存管理的重要性不…

关于 mybatis-plus-boot-starter 与 mybatis-spring-boot-starter 的错误

不是知道你是否 出现过这样的错误 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 经过各种度娘&#xff0c;无非就是让你检查三种情况 情况一&#xff1a;mapper.xml没有按照传统的maven架构进行放置 情况二&#xff1a;mybatis的配置信…

c++ day06

类的栈 实现 #include <iostream>using namespace std;class Stack { private:static const size_t MAX 100; // 定义固定容量int data[MAX]; // 存储栈元素的数组size_t len; // 当前栈的大小public:// 构造函数Stack() : len…

【Python从入门到进阶】65、Pandas如何批量拆分与合并Excel文件

接上篇《64、Pandas如何实现数据的Concat合并》 上一篇我们学习了Pandas如何实现数据的Concat合并&#xff0c;本篇我们来继续学习Pandas如何批量拆分与合并Excel文件。 一、引言 在当今数据驱动的时代&#xff0c;Excel文件作为数据处理和分析的基石&#xff0c;扮演着不可或…

Selenium4.0实现自动搜索功能

01.Selenium4.0实现搜索功能 1.安装Selenium及查看Selenium版本 pip install selenium pip show seleniumfrom selenium import webdriver from chromedriver_py import binary_path import time from selenium.webdriver.common.by import By from selenium.webdriver.commo…

(补充)3DMAX初级小白班第三课:创建物体+物体材质编辑

1.可以点这里来改变材质颜色&#xff08;但是通过材质编辑器给了材质以后就只能在这里改线框颜色&#xff09;。但一般就是用灰色材质和黑色线框 2.材质编辑器快捷键为m 右键可更改个数&#xff0c;最多24个 将材质指定选定对象 如何把材质编辑器面板改成旧版 按f10 改成扫描…

《微信小程序实战(3) · 推广海报制作》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

火车票有电子发票吗?没纸质火车票怎么报销?

火车票有电子发票吗&#xff1f; 火车票、高铁票目前没有电子发票&#xff0c;但是现在已经实行电子客票&#xff0c;车票即购票证件&#xff0c;乘车时&#xff0c;只需购票证件原件&#xff08;如身份证、护照、临时身份证等&#xff09;即可乘车。 没纸质火车票怎么报销&am…

英伟达发布NVLM 1.0:屠榜多模态任务,纯文本性能逆势提升

前沿科技速递&#x1f680; 随着文本大模型的发展&#xff0c;解码器架构已经成为文本处理任务的标准。然而&#xff0c;现有的多模态大模型架构却尚未统一&#xff0c;不同模型在选择 LLM 主干、视觉编码器以及训练数据上存在较大差异&#xff0c;且无法直接进行对比研究。为了…

凤凰模拟器V6中无人机如何设置“有头模式”

凤凰模拟器是一款专为航模新手设计的飞行模拟器&#xff0c;它能够模拟大疆无人机、各种穿越机、固定翼等多种飞行器&#xff0c;提供逼真的飞行体验。该软件的操作简单易懂&#xff0c;适合新手练习使用。 一般来说&#xff0c;打开凤凰模拟器&#xff0c;选择好机型&#xf…

vscode 配置django

创建运行环境 使用pip安装Django&#xff1a;pip install django。 创建一个新的Django项目&#xff1a;django-admin startproject myproject。 打开VSCode&#xff0c;并在项目文件夹中打开终端。 在VSCode中安装Python扩展&#xff08;如果尚未安装&#xff09;。 在项…

鸿蒙HarmonyOS开发:一次开发,多端部署(界面级)天气应用案例

文章目录 一、布局简介二、典型布局场景三、侧边栏 SideBarContainer1、子组件2、属性3、事件 四、案例 天气应用1、UX设计2、实现分析3、主页整体实现4、具体代码 五、运行效果 一、布局简介 布局可以分为自适应布局和响应式布局&#xff0c;二者的介绍如下表所示。 名称简介…

Golang | Leetcode Golang题解之第421题数组中两个数的最大异或值

题目&#xff1a; 题解&#xff1a; const highBit 30type trie struct {left, right *trie }func (t *trie) add(num int) {cur : tfor i : highBit; i > 0; i-- {bit : num >> i & 1if bit 0 {if cur.left nil {cur.left &trie{}}cur cur.left} else …