暂时未有相关云产品技术能力~
CSDN优质博主,华为云云享专家,曾获多个奖项,JAVA后端开发工程师。
【1月更文挑战第16天】 一、JdbcTemplate 1、简介 2、准备工作 3、实现CURD ①装配 JdbcTemplate ②测试增删改功能 ③查询数据返回对象 ④查询数据返回list集合 ⑤查询返回单个的值 二、声明式事务概念 1、事务基本概念 ①什么是事务 ②事务的特性 2、编程式事务 3、声明式事务
【1月更文挑战第12天】 一、Docker容器命令: 二、Docker镜像命令 三、重启Docker命令 四、Docker数据卷命令 五、挂载数据卷
【1月更文挑战第12天】用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。在以前的单应用系统中,我们只需要把数据操作放入事务中即可,发生错误立即回滚,但是再响应客户端的时候也有可能出现网络中断或者异常等等
【1月更文挑战第12天】延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列的。
【1月更文挑战第11天】 一、clustering(集群) 1、使用集群的原因 2、搭建步骤 2.1、拉取镜像 2.2、创建三个RabbitMQ容器节点 2.3、集群搭建 二、镜像队列 1、使用镜像的原因 2、搭建步骤
【1月更文挑战第11天】 一、消息应答 1.概念 2.自动应答 3.消息应答方法 4.Multiple 的解释 5.消息自动重新入队 6.消息手动应答代码 7.手动应答效果演示 二、RabbitMQ持久化 1.概念 2.队列如何实现持久化 3.消息实现持久化 4.不公平分发 5.预取值
【1月更文挑战第11天】 一、MQ的相关概念 1.什么是MQ? 2.为什么要用MQ 2.1流量消峰 2.2应用解耦 2.3异步处理 3.MQ 的分类 3.1.ActiveMQ 3.2.Kafka 3.3.RocketMQ 3.4.RabbitMQ 4.MQ 的选择 4.1.Kafka 4.2.RocketMQ 4.3.RabbitMQ 二、RabbitMQ的相关概念 1.四大核心概念 2.RabbitMQ 核心部分 3.RabbitMQ的工作原理 三、RabbitMQ的安装 1.docker下载(针对没有下载docker的粉丝) 2.安装RabbitMQ镜像 3.根据下载的镜像创建和启动容器
【1月更文挑战第10天】 在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢?特别是在这样比较极端的情况,RabbitMQ 集群不可用的时候,无法投递的消息该如何处理呢:
【1月更文挑战第10天】 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出,broker 回传给生产者的确认消息中 delivery-tag 域包含了确认消息的序列号,此外 broker 也可以设置basic.ack 的 multiple 域,表示到这个序列号之前的所有消息都已经得到了处
【1月更文挑战第10天】先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。 应用场景:为了保证订单业务的消息数据不丢失,需要使用到 RabbitMQ 的死信队列机制,当消息消费发生异常时,将消息投入死信队列中.还有比如说: 用户在商城下单成功并点击去支付后在指定时间未支付时自动失效。
【1月更文挑战第9天】 RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中。 相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来自生产者的消息,另一方面将它们推入队列。交换机必须确切知道如何处理收到的消息。是应该把这些消息放到特定队列还是说把他们到许多队列中还是说应该丢弃它们。这就的由交换机的类型来决定。
【1月更文挑战第9天】 1.消息属性 RabbitMQ是基于AMQP消息传输协议来实现的消息中间件;类似HTTP有header和body两部分数据,Message是RabbitMQ中的消息体概念。 Message由Properties和Body组成,前者是一些元信息,如消息的优先级、持久化、传输格式(如JSON)、延迟等高级特性,Body则是传递的消息数据实体 2.消息投递 Exchange、Queue与Routing Key三个概念是理解RabbitMQ消息投递的关键。RabbitMQ中一个核心的原则是,消息不能直接投递到Queue中。 Producer只能将自己的消息投递到Exc
【1月更文挑战第9天】 无论是面试还是工作,持久化都是重点! Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能!——RDB(Redis DataBase)和AOF(Append Only File)
【1月更文挑战第8天】 Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。
【1月更文挑战第8天】哨兵模式说白点就是:自动选举老大的模式。
【1月更文挑战第8天】主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(masterleader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。 默认情况下,每台Redis服务器都是主节点; 且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。
【1月更文挑战第7天】 消息队列 Redis 发布订阅(publsub)是一种消息通信模式︰发送者(pub)发送消息,订阅者(sub)接收消息。微信、微博、关注系统! Redis客户端可以订阅任意数量的频道。
【1月更文挑战第7天】启动的时候,就通过配置文件来启动!
【1月更文挑战第7天】Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行!一次性、顺序性、排他性!执行一些列的命令。
【1月更文挑战第6天】在Ubuntu下安装Redis
【1月更文挑战第5天】 一、MyBatis-Plus简介 二、 MyBatis-Plus操作 1、准备数据库脚本 2、准备boot工程 3、导入依赖 4、配置文件和启动类 5、功能编码 6、测试和使用
【1月更文挑战第3天】 一、resultMap处理字段和属性的映射关系 二、多对一映射处理 1、级联方式处理映射关系 2、使用association处理映射关系 3、分步查询 1. 查询员工信息 2. 查询部门信息 三、一对多映射处理 1、collection 2、分步查询 3. 查询部门信息 4. 根据部门id查询部门中的所有员工 四、延迟加载
【1月更文挑战第3天】 一、MyBatis的各种查询功能 1、查询一个实体类对象 2、查询一个List集合 3、查询单个数据 4、查询一条数据为map集合 5、查询多条数据为map集合 1、方法一 2、方法二 二、特殊SQL的执行 1、模糊查询 2、批量删除 3、动态设置表名 4、添加功能获取自增的主键
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
【1月更文挑战第2天】 MyBatis 是一款优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程 MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。
【1月更文挑战第1天】 1、注释 注释分为单行注释和多行注释两种,单行注释用#表示,多行注释用(三个双引号"“”“”")或‘(三个单引号’‘’‘’')表示。如下所示:
【1月更文挑战第1天】 2、标识符 3、行与缩进和多行语句 4、print输出语句 5、关键字 6、import和from...import的语法 二、数据类型 1、Number(数字) 1.1、三种数据类型: 1.2、数字类型转换: 1.3、常用数学函数: 1.4、随机数函数 2、String(字符串) 2.1、常用字符串运算符 3、Tuple(元组) 3.1、 常用运算符 4、List(列表) 4.1、修改列表 4.2、 嵌套列表 4.3、常用运算符 4.4、常用方法 5、Dictionary(字典) 5.1、访问字典的值 5.2、 修改字典 6、Set(集合) 6.1、两种创建格式
技术实力提升:
中国数据库产业的突破意味着技术实力的显著提升,包括数据库管理系统(DBMS)的核心技术、数据存储和处理技术、分布式数据库系统等方面的创新。这有助于提高中国在全球科技领域的竞争力。
自主创新和知识产权:
通过在数据库领域的突破,中国企业和研究机构能够积累更多的自主创新经验,拥有更多的知识产权。这对于构建自主可控的信息基础设施,保护国家核心技术具有重要意义。
推动数字化转型:
数据库是数字化时代的基础设施之一,其性能和稳定性直接影响着企业和社会的数字化转型。中国数据库产业的突破有助于推动各行各业的数字化发展,提升数据管理和分析的水平。
支持大数据和人工智能:
大数据和人工智能应用需要强大而高效的数据库支持。中国数据库产业的突破将有助于满足不断增长的数据需求,为大数据和人工智能应用提供更可靠的基础设施。
提高信息安全水平:
数据库是信息存储和管理的核心,因此数据库产业的提升也涉及到信息安全。通过自主创新和技术突破,中国可以加强数据库系统的安全性,防范数据泄露和网络攻击。
国际合作与标准制定:
中国在数据库领域的强大实力有助于国际间的技术合作和标准制定。这有助于中国在全球数据库标准和规范的制定中发挥更大的作用,促进国际数据库产业的共同发展。
促进产业链发展:
数据库产业的突破将推动整个产业链的发展,包括硬件设备、数据库软件、数据管理服务等。这有助于形成完整的产业生态系统,促进相关行业的协同发展。
提升国家软实力:
具备先进的数据库技术和产业实力有助于提升国家的软实力。数据库是信息社会的基石,具备强大的数据库技术能力将有助于塑造国家在信息科技领域的形象。
这就很多了,比如以为是配置文件问题,谁知是注解问题,还有就是镜像搭建问题,当我重新搭建Ubuntu系统的时候,有时VScode打不开,要配置虚拟机,但是window虚拟机的的分片没法切分,是固定,这就解决不了了,只能换Ubuntu系统版本,很离谱
你预测年度最受欢迎的编程语言会是什么?
我认为应该是Rust,rust现在的生态虽然不是很完善,但也在突飞猛进中,属实不错
我的2023年度关键词是:奋斗,充实
我认为软件SaaS化管理平台应该具备以下功能:
1、用户管理:提供用户注册、登录、身份验证和权限管理等功能,确保安全可控的用户访问和管理。
2、组织管理:支持创建和管理多个组织,以便不同企业或团队能够共享和协作使用平台。
3、订阅和计费管理:处理用户的订阅信息,支持不同的订阅计划和付款方式,提供灵活的计费管理功能。
4、应用管理:允许用户在平台上部署和管理各种SaaS应用程序,包括项目管理、客户关系管理、人力资源管理等不同领域的应用。
5、数据管理:提供数据存储和管理功能,包括数据备份、恢复、迁移等,以保护用户数据的安全和可用性。
6、集成和扩展:支持与其他第三方应用和服务的集成,以便用户可以在一个统一的界面中管理各种不同的工具和系统。
7、安全和隐私:提供数据加密、身份认证、访问控制等安全机制,保护用户数据的安全和隐私。
8、监控和报告:提供实时的性能监控和报告功能,帮助用户了解系统的运行状况和性能指标。
9、自定义配置:允许用户根据自己的需求进行个性化设置和配置,以满足不同用户的特定要求。
用户支持:提供多种形式的用户支持,包括在线帮助文档、社区论坛、在线聊天支持等,以保证用户能够及时解决问题和获得帮助。
对于未来数据库的演进有哪些思考?
1、更加智能化的自我管理能力。未来数据库有望进一步融合AI技术,能够智能化地检测和诊断问题,以及在运行时自动做出调整和优化。例如,数据库可以预测未来负载,从而开辟新的节点以支持高吞吐量的工作负载。
2、更加云化的部署模式。随着云计算技术的普及,越来越多的企业开始使用云服务来托管和管理自己的数据库。未来数据库将进一步云化,支持更灵活、可扩展和高可用的部署模式。
3、更加大规模的数据处理能力。随着数据增长速度的加快,未来数据库将转向更加大规模的数据处理能力,可以存储和处理更多的数据量。数据库还需要支持分布式计算和大数据分析框架,以帮助企业快速获取有价值的信息。
4、更加重视数据安全和隐私保护。随着数据泄露和恶意攻击的频繁发生,未来数据库必将更加重视数据的安全和隐私保护。数据库需要支持更加复杂的身份验证、访问控制和数据加密机制,以保护数据的安全和隐私。
我认为DBA(数据库管理员)的角色在某种程度上可能会受到AI技术的影响,但不太可能完全被取代。
AI技术在数据库管理领域的发展已经取得了一些成果,可以自动化执行一些常见的数据库管理任务,例如备份和恢复、性能优化、查询优化等。这些自动化功能可以提高效率并减少错误,从而减轻DBA的工作负担。
然而,DBA的角色不仅仅是执行常规的数据库管理任务。他们还负责数据库设计、架构规划、安全性管理、数据质量保障等任务,这些都需要人工智能目前无法完全替代的人类判断和专业知识。
此外,DBA还需要与业务团队合作,理解业务需求并根据需要进行调整和优化数据库。这种在业务上的理解和沟通能力是AI无法取代的。
定期维护数据库:执行数据库维护任务,如定期更新统计信息、清理不再使用的索引或表、压缩表等,以保持数据库的性能和健康状况。
除了慢查询,还有其他的 SQL 性能异常,如死锁、临时表过多、高并发等情况。针对这些异常,解决方法会因具体情况而异,可以结合数据库监控工具、性能调优工具以及运维经验来进行分析和解决。
确定项目目标:明确项目的目标和愿景,并将其纳入需求流程规范中。这有助于确保需求的准确性和一致性。
形成跨职能团队:组建一个跨职能团队,包括项目经理、业务分析师、开发人员和测试人员等。这样的团队可以确保从不同角度考虑需求,并减少误解和沟通障碍。
需求收集和分析:采用多种方法和工具,如访谈、问卷调查、用户故事和用例分析等,收集和分析需求。这有助于理解用户需求、业务流程和系统功能。
确定需求优先级:根据项目目标和业务价值,为每个需求设置优先级。这有助于团队在资源受限的情况下决定哪些需求是最重要和最紧迫的。
编写详细和清晰的需求文档:需求文档应该包含清晰、一致和可衡量的需求描述,包括功能需求、非功能需求和技术约束等。这有助于避免模糊和歧义,并提供给开发人员和测试人员准确的指导。
进行需求审查和验证:在需求文档编写完成后,组织一次需求审查会议,邀请项目团队成员和关键利益相关者参与。这有助于发现和解决潜在问题和矛盾之处。
需求变更管理:建立一个变更管理过程,以跟踪和记录需求的变更请求,并评估其对项目进度、成本和可行性的影响。这有助于确保需求的稳定性和一致性。
持续沟通和反馈:建立一个有效的沟通渠道,以便团队成员和利益相关者定期交流需求的进展和变化情况。收集和反馈用户的意见和建议,以不断改进需求流程规范。