平台设计-多数据源支持

简介: 平台倡导分布数据库,最简单的分库逻辑是按业务领域

平台倡导分布数据库,最简单的分库逻辑是按业务领域,例如人力资源系统一个库,客户关系管理一个库(举个例子而已,在平台正式的系统中,人力资源系统又细分为核心库、绩效管理库、薪资管理库等)。一个微服务对应单个数据源。

      看过很多项目,号称是微服务架构,但是多个微服务实际上联的是同一个库;各个微服务之间实际上不相互调用,需要取数据时,直接从对应表里拿数据,从而导致有大量的重复代码(公用的表对应的实体类、数据访问层、甚至服务层)。平台不倡导这种模式。

      但是万事不能绝对,有种场合必须使用多数据源。例如涉及到数据同步、数据传输的应用,就需要多数据源。平台的后台服务框架支持多数据源,只配置一个数据源时为单数据源;配置多个时就是多个。

     一套架构即可以支持单数据源,也可以支持多数据源,听上去很容易,实际做起来很难很复杂。平台的技术体系是JPA+Hibernate,单数据源时很简单,根本不需要了解太多底层,事实上很多程序都不清楚底层是如何运作的。多数据源配置就很复杂,按照网上的教程配置好后,不出意外的是不能用。网上大部分东西都是你抄我,我抄你,是不是真正自己试过,我持怀疑态度。好不容易调通了,但是怎么兼容单数据源和多数据源又是问题。一个一个错误的消除,最终OK了。

      平台上大部分技术都通过开源获得的,例如druid、nacos、springcloud、feign等等,平台自身的价值如何体现?其实这个问题很好理解,例如国产大飞机C919的零部件都是外购的,那C919的价值何在?系统集成不是件简单的事情。

相关文章
|
3天前
|
运维 监控 负载均衡
动态服务管理平台:驱动微服务架构的高效引擎
动态服务管理平台:驱动微服务架构的高效引擎
8 0
|
2月前
|
SQL 搜索推荐 数据管理
离线集成整库迁移再升级,定制化与灵活性全面增强
为了更好地满足客户对于数据库迁移过程中的个性化管理和操作需求,我们最新版本对“离线集成整库迁移”功能进行了更新,旨在解决客户在实际应用中遇到的痛点,进一步提升迁移任务的可管理性和便捷性。
|
3月前
|
数据库 Java 数据库连接
Struts 2 与 Hibernate 的完美邂逅:如何无缝集成两大框架,轻松玩转高效 CRUD 操作?
【8月更文挑战第31天】本文通过具体示例介绍了如何在 Struts 2 中整合 Hibernate,实现基本的 CRUD 操作。首先创建 Maven 项目并添加相关依赖,接着配置 Hibernate 并定义实体类及其映射文件。然后创建 DAO 接口及实现类处理数据库操作,再通过 Struts 2 的 Action 类处理用户请求。最后配置 `struts.xml` 文件并创建 JSP 页面展示用户列表及编辑表单。此示例展示了如何配置和使用这两个框架,使代码更加模块化和可维护。
93 0
|
6月前
|
数据库
基于jeecgboot的大屏设计器开发——数据源设计(三)
基于jeecgboot的大屏设计器开发——数据源设计(三)
88 1
基于jeecgboot的大屏设计器开发——数据源设计(三)
|
6月前
|
数据库
基于jeecgboot的大屏设计器开发——数据源设计(二)
基于jeecgboot的大屏设计器开发——数据源设计(二)
152 1
|
6月前
|
JSON Oracle 前端开发
基于jeecgboot的大屏设计器开发——数据源设计(一)
基于jeecgboot的大屏设计器开发——数据源设计(一)
73 0
|
6月前
|
人工智能 供应链 监控
推荐一款TinyEngine低代码引擎!支持自定义DSL 生成定制的源码、跨技术栈!
推荐一款TinyEngine低代码引擎!支持自定义DSL 生成定制的源码、跨技术栈!
125 0
|
canal 存储 关系型数据库
Spring Boot业务系统如何实现海量数据高效实时搜索
我们都知道随着业务系统的发展和使用,数据库存储的业务数据量会越来越大,逐渐成为了业务系统的瓶颈。在阿里巴巴开发手册中也建议:单表行数超过500万行或者单表容量超过2GB才推荐进行分库分表,如果预计三年后数据量根本达不到这个级别,请不要在创建表时就分库分表。数据库最终都是存储在磁盘上,随着数据量变大,会导致数据操作变得缓慢,无论是计算还是IO,但是话又说回来,单表数据量大就一定要进行分库分表操作吗?答案是否定的,因为分库分表本身是一个“很重”的操作,这里就不卖关子了,直接来看看分库分表带来的以下问题和挑战
485 1
Spring Boot业务系统如何实现海量数据高效实时搜索
|
数据库
易搭工作流引擎用是什么开源 还是阿里自研产品,零代码平台场景页面映射数据库表是动态创建,采用什么框架处理,怎么让系统产生高并发能力。易搭权限有没有了解,求解。
易搭工作流引擎用是什么开源 还是阿里自研产品,零代码平台场景页面映射数据库表是动态创建,采用什么框架处理,怎么让系统产生高并发能力。易搭权限有没有了解,求解。
|
设计模式 Java Spring
一个项目如何支持多种第三方对接如何实现?
一个项目如何支持多种第三方对接如何实现?