作者回复: 很好的案例👍
作者回复: 经典,没有依赖就没有伤害,但实际上我们依赖还是少不了,我们尽量降低依赖程度,接口依赖是比较可控的
作者回复: 这个够开三个专栏了😄并且我也不太擅长这些软技能培训
作者回复: 这个没办法避免,短期内大家会不习惯,原来一条SQL语句搞定的事情,现在要调用接口还要改逻辑,但长远来看是好的,SQL的问题在于后续的系统越来越复杂后,很容易出现将整个系统拖垮的慢查询,业务扩展也很麻烦,因为逻辑都在SQL中了
作者回复: 要业务上考虑兼容,底层存储无法避免。
作者回复: 这样做没问题,是普遍的做法
作者回复: 感觉这样还是没有有的放矢呢,重构不是什么问题都解决。
例如关联查询,电商业务是不可避免的,禁止关联查询,业务改动非常大,如果是关联查询导致性能问题,首先应该分析一下慢查询,80%的慢查询集中在20%的语句上。
例如慢操作改为异步,实现起来没那么容易,有的就是要同步调用,而有的可以用消息队列异步通知异步处理。
作者回复: 两个中心都有完整数据。
网络异常时,两个中心各自都可以服务,只有一部分用户如果先在A机房注册,再到B机房注册,可能会有重复数据产生,我们的业务用算法保证数据重复产生是一样的,因此没问题
作者回复: 1. 数据先不动,先拆分代码到多个子系统,然后再拆分数据
2. 重写一套新的,然后做数据割接
老板决心大的话,方案2实施更快,但风险高;老板决心不大的话,那就方案1,实施周期长,风险会小一些
作者回复: 思路很清晰👍👍
作者回复: 现在还准备上么😂😂😂
作者回复: 功能独立,不代表只能一台机器呀,肯定会做集群方案的
作者回复: 重构通常都会涉及数据,为了避免风险,我们一般都是分步骤实施,从易到难,先将关联度不大的,比较独立的数据重构,再来动复杂的。
你的这个案例业务上的场景我没看的太懂,如果你说的site是我常规理解的站点,那一个site一个库反而是合理的,至于mq通知tomcat更新数据源,没理解这样。
建议和后端同学一起分析讨论重构方案。
作者回复: 多模块聚合不是好的重构手段,版本开发和测试部署一样比较麻烦,我认为你们应该将公共功能独立为服务
作者回复: 没这个能力呀,写几篇文章可以,这个专栏有点难😄
作者回复: 是的,架构重构是大动作,不要轻易采用,大招不要乱放😀
作者回复: 优化指找到瓶颈进行改进,重构指重新规划架构