我们从应用的视角出发整理抽象了我们在访问、使用数据库时场景的一些稳定性治理、性能优化、提效等方面的实战经验,对于每一个后端应用来说,数据库无疑是重中之重,我们希望通过我们的数据库治理能力,可以帮助到大家更好地使用数据库服务。 本文将详细介绍MSE数据库治理的热点功能,动态读写分离的设计与实现。 01 读写分离的概述数据库动态读写分离的常见场景: 一个大客户的请求过来,查询数据库返回上万条几百M的数据,数据库的CPU直接打满。 微服务应用的某些业务并不是那么重要,却存在大量查询数据库的逻辑,影响数据库实例稳定性,从而导致整体服务质量的下降。 在业务处理过程中,如果对数据库的读操作远多于写
我们从应用的视角出发整理抽象了我们在访问、使用数据库时场景的一些稳定性治理、性能优化、提效等方面的实战经验,对于每一个后端应用来说,数据库无疑是重中之重,我们希望通过我们的数据库治理能力,可以帮助到大家更好地使用数据库服务。 本文将详细介绍MSE数据库治理的热点功能,动态读写分离的设计与实现。 01 读写分离的概述数据库动态读写分离的常见场景: 一个大客户的请求过来,查询数据库返回上万条几百M的数据,数据库的CPU直接打满。 微服务应用的某些业务并不是那么重要,却存在大量查询数据库的逻辑,影响数据库实例稳定性,从而导致整体服务质量的下降。 在业务处理过程中,如果对数据库的读操作远多于写
摘要: 本文介绍了CANN自定义算子开发的几种开发方式和算子的编译运行流程。然后以开发一个DSLAdd算子为例,讲解算子开发的基本流程。本文分享自华为云社区《昇腾CANN算子开发揭秘》,作者:昇腾CANN。开发者在利用昇腾硬件进行神经网络模型训练或者推理的过程中,可能会遇到以下场景:训练场景下,将第三方框架(例如TensorFlow、PyTorch等)的网络训练脚本迁移到昇腾AI处理器时遇到了不支持的算子。推理场景下,将第三方框架模型(例如TensorFlow、Caffe、ONNX等)使用ATC工具转换为适配昇腾AI处理器的离线模型时遇到了不支持的算子。网络调优时,发现某算子性能较低,影响网络
摘要: 本文介绍了CANN自定义算子开发的几种开发方式和算子的编译运行流程。然后以开发一个DSLAdd算子为例,讲解算子开发的基本流程。本文分享自华为云社区《昇腾CANN算子开发揭秘》,作者:昇腾CANN。开发者在利用昇腾硬件进行神经网络模型训练或者推理的过程中,可能会遇到以下场景:训练场景下,将第三方框架(例如TensorFlow、PyTorch等)的网络训练脚本迁移到昇腾AI处理器时遇到了不支持的算子。推理场景下,将第三方框架模型(例如TensorFlow、Caffe、ONNX等)使用ATC工具转换为适配昇腾AI处理器的离线模型时遇到了不支持的算子。网络调优时,发现某算子性能较低,影响网络
技术Leader是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力。所以通常来说技术Leader的技能是虚实结合的居多,繁杂的工作偏多。为此我把自己在工作中经常用到的思考技巧也做了一个整理。 技术常用思考方法一、向前思考,向后倒推 这个思考方法的含义是: 在思考一个命题时可以采取未来视角,先对未来发展做个预判,然后基于你的判断倒推现在应该要做什么,最后制定出关键里程碑和节奏。 这个思考模型经常用
技术Leader是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力。所以通常来说技术Leader的技能是虚实结合的居多,繁杂的工作偏多。为此我把自己在工作中经常用到的思考技巧也做了一个整理。 技术常用思考方法一、向前思考,向后倒推 这个思考方法的含义是: 在思考一个命题时可以采取未来视角,先对未来发展做个预判,然后基于你的判断倒推现在应该要做什么,最后制定出关键里程碑和节奏。 这个思考模型经常用
目录Fireasy3揭秘--依赖注入与服务发现Fireasy3揭秘--自动服务部署Fireasy3揭秘--使用SourceGeneraor改进服务发现Fireasy3揭秘--使用SourceGeneraor实现动态代理(AOP)Fireasy3揭秘--使用Emit构建程序集Fireasy3揭秘--代码编译器及适配器Fireasy3揭秘--使用缓存提高反射性能Fireasy3揭秘--动态类型及扩展支持Fireasy3揭秘--线程数据共享的实现Fireasy3揭秘--配置管理及解析处理Fireasy3揭秘--数据库适配器Fireasy3揭秘--解决数据库之间的语法差异Fireasy3揭秘--获取数
目录Fireasy3揭秘--依赖注入与服务发现Fireasy3揭秘--自动服务部署Fireasy3揭秘--使用SourceGeneraor改进服务发现Fireasy3揭秘--使用SourceGeneraor实现动态代理(AOP)Fireasy3揭秘--使用Emit构建程序集Fireasy3揭秘--代码编译器及适配器Fireasy3揭秘--使用缓存提高反射性能Fireasy3揭秘--动态类型及扩展支持Fireasy3揭秘--线程数据共享的实现Fireasy3揭秘--配置管理及解析处理Fireasy3揭秘--数据库适配器Fireasy3揭秘--解决数据库之间的语法差异Fireasy3揭秘--获取数
目录Fireasy3揭秘--依赖注入与服务发现Fireasy3揭秘--自动服务部署Fireasy3揭秘--使用SourceGeneraor改进服务发现Fireasy3揭秘--使用SourceGeneraor实现动态代理(AOP)Fireasy3揭秘--使用Emit构建程序集Fireasy3揭秘--代码编译器及适配器Fireasy3揭秘--使用缓存提高反射性能Fireasy3揭秘--动态类型及扩展支持Fireasy3揭秘--线程数据共享的实现Fireasy3揭秘--配置管理及解析处理Fireasy3揭秘--数据库适配器Fireasy3揭秘--解决数据库之间的语法差异Fireasy3揭秘--获取数
目录Fireasy3揭秘--依赖注入与服务发现Fireasy3揭秘--自动服务部署Fireasy3揭秘--使用SourceGeneraor改进服务发现Fireasy3揭秘--使用SourceGeneraor实现动态代理(AOP)Fireasy3揭秘--使用Emit构建程序集Fireasy3揭秘--代码编译器及适配器Fireasy3揭秘--使用缓存提高反射性能Fireasy3揭秘--动态类型及扩展支持Fireasy3揭秘--线程数据共享的实现Fireasy3揭秘--配置管理及解析处理Fireasy3揭秘--数据库适配器Fireasy3揭秘--解决数据库之间的语法差异Fireasy3揭秘--获取数