1.TDengine 资深研发整理:基于 SpringBoot 多语言实现 API 返回消息国际化
2.一体化实时HTAP数据库StoneDB,源码如何替换MySQL并实现近百倍分析性能的源码提升
TDengine 资深研发整理:基于 SpringBoot 多语言实现 API 返回消息国际化
SpringBoot,作为Java开发领域广受欢迎的源码技术框架,在构建Web应用程序和微服务方面发挥着重要作用。源码它通过简化开发流程、源码提供约定大于配置的源码spring物联网源码原则以及集成常用库和组件,助力开发者高效构建应用程序。源码
为了帮助开发者更好地掌握SpringBoot,源码我们整理了TDengine资深研发的源码内部分享——《SpringBoot 多语言支持方案》,供开发者参考。源码
在项目依赖中引入spring-boot-starter和spring-boot-autoconfigure两个包,源码即可使用SpringBoot提供的源码多语言定义和解析工具。在spring-boot-autoconfigure的源码源码中,可以看到MessageSourceAutoConfiguration类已自动装配了MessageSource对象。源码
在IDEA中,源码在resources资源包上右键新建资源包,买炸金花源码填写资源包名如:messages,选择区域设置,包括en、zh_CN、zh_TC等选项。在resources包内即可看到绑定的多语言文件。
在配置文件中添加message,格式为:{ code}={ message}。在业务模块中使用多语言消息,首先分析API服务请求响应流程,包括身份认证、API接口鉴权认证、权限识别等,验证通过后进入业务逻辑,最后通过接口返回。溯源码扫那里
异常国际化配置可以通过定义多语言message和获取LocaleMessageProvider实现。SpringBoot框架通过LocaleContextHolder.getLocale()获取Locale,并在RequestContextFilter中设置LocaleContext。
客户端在请求中添加Accept-Language=zh-CN头,即可验证返回的结果。例如,登录出错时,客户端接收到的信息为国际化后的错误信息。
以上就是基于SpringBoot多语言支持方案的完整分享,希望对开发者有所帮助。如有其他技术问题或时序数据处理难题,可联系TDengine的技术研发人员进行沟通。
TDengine是一款高性能、集群开源、云原生的qq源码在哪查时序数据库,专为物联网、工业互联网、电力、IT运维等场景设计。它具有内建的缓存、流式计算、数据订阅等系统功能,降低系统设计复杂度和研发运营成本。TDengine提供TDengine Enterprise和TDengine Cloud两个版本,用户可根据需求选择。
一体化实时HTAP数据库StoneDB,如何替换MySQL并实现近百倍分析性能的提升
众所周知,MySQL 是世界上最流行的 OLTP 数据库之一,拥有超过%的市场份额(数据来源:Slintel网站)。许多企业依赖 MySQL 实现业务系统的如何拿到app源码运行。然而,随着数据量的增长,MySQL 在处理复杂分析任务如 BI 报表、可视化和大数据应用时面临挑战。MySQL 的架构(基于流式迭代器模型 Volcano Iterator 的执行引擎,没有充分利用现代多核 CPU 的并行处理能力,采用按行存储的存储引擎)在 AP 场景中存在天然缺陷。为解决这个问题,业界提出了多种解决方案,主要是围绕 MySQL 建立的异构 HTAP(同时支持事务处理和分析处理)数据库系统。
HTAP 的定义:在年,Gartner 定义 HTAP 旨在打破事务型负载和分析型负载之间的壁垒,允许系统在两个系统之间更自由地流动数据,并基于这些数据进行实时业务决策。传统架构中,通过一套事务处理系统加一套分析系统,通过 ETL 进行数据同步,以满足实时性需求,这是当前搭建 HTAP 的主流方案。
业界基于 MySQL 的 HTAP 解决方案:
1. MySQL + Hadoop:将 MySQL 数据通过 ETL 工具同步至开源大数据系统(如 Hive、Hadoop、Spark 等)的数据仓库进行分析。
2. MySQL + 数据湖:通过 ETL 工具将 MySQL 数据同步至数据湖平台,基于数据湖进行数据分析。
3. MySQL + ClickHouse/Greenplum:使用 ETL 工具将 MySQL 数据迁移到 ClickHouse/Greenplum 进行分析。ClickHouse 社区版 MaterializeMySQL 引擎允许将 ClickHouse 作为 MySQL 的从库同步主节点数据。
4. 基于多副本的 Divergent Design:如 TiDB,采用自研列式存储(TiFlash)以响应复杂 AP 查询,并通过智能路由功能自动选取数据源,实现分布式 HTAP 数据库系统。
以上方案存在一些问题,而 StoneDB 提供了一种全新的解决方案。
StoneDB 是一款开源的 MySQL 兼容的一体化实时 HTAP 数据库,采用原生 MySQL 架构,具备一体化行列混合存储能力,以极低的成本实现高性能实时 HTAP。StoneDB 的设计初衷是通过一套数据库同时解决事务处理和分析处理的问题,更轻量、更优雅、更便捷。其架构与国外厂商(如 Oracle、SQL Server、DB2)的方案类似,但 StoneDB 是开源的。
StoneDB 以插件形式接入 MySQL,通过查询/写入接口与 MySQL server 层进行交互。主要特性包括:
数据组织形式:数据按列进行组织,对各类压缩算法友好,可根据数据类型选择合适的高效压缩算法,节约 IO 和 Memory 资源。具备列数据压缩、数据组织结构与知识网格等优点。
知识网格概览:基于知识网格的查询优化,通过剪枝、解压、数据节点分类等策略优化查询效率。
处理流程:通过知识网格确定关联性和不确定性数据节点,执行计划构建时规避非关联节点,减少数据访问。
全面兼容 MySQL 生态的 StoneDB 一体化 HTAP 系统优势显著,包括:
高性能、低延迟、高可扩展性、易于部署和管理、低 TCO 等特点。
StoneDB 2.0 版本将引入基于内存计算的列存引擎,实现 AP 负载的全内存计算,进一步提升性能。更多信息请关注 StoneDB 官方网站。
StoneDB 开源仓库:
<a href="github.com/stoneatom/st...
作者:
李浩,StoneDB PMC、首席架构师,拥有华为、爱奇艺、北大方正等公司的数据库内核核心架构设计经验,擅长查询引擎、执行引擎、大规模并行处理等技术,拥有数十项数据库发明专利,著有《PostgreSQL查询引擎源码技术探析》。
高日耀,StoneDB PMC、HTAP 内核架构师,毕业于华中科技大学,专注于主流数据库架构和源码研究,8年数据库内核开发经验,曾参与 CirdroData、RadonDB 和 TDengine 的内核研发工作。