我不反驳存在即合理这句话
原有:假设公司有 10 多个互联网产品的业务,公司开发一个 CRM 去管理 10 多个互联网的业务,那么如何让这个 CRM 系统高效的承接业务需求。在架构层面该如何设计?
方案:
1. 所有产品业务线单独有自己的数据库和中间件,CRM 去通过接口调用获取数据
2. 所有的业务线的表都必须通过中间件同步到 CRM 数据库中,让 CRM 自己开发去操作,修改数据必须要调对应业务的接口
3. 所有的数据都在一个实例。列表 TIDB 分布式 MySQL 然后通过不同的 MySQL user 做表和库权限,CRM 拥有所有库的查询权限,修改数据必须要调对应业务的接口
大家觉得怎么样?有更合理的方案吗?
目前痛点是
1. CRM 查询做报表的接口,有根据业务产品线的维度去查询,CRM 没有存对应数据,导致查询接口复杂度直线上升