短视频系统源码,如何推进服务拆分工作?
无论是为了降低系统的复杂度,还是为了提升软件的开发效率,在恰当的时机下均可对短视频系统源码中的服务进行拆分。对于一个稳定且不断迭代的系统而言,实现正确的服务拆分是很有必要的,那么服务拆分工作该如何推进呢?

一、调整代码结构,分析模块间依赖
由于短视频系统源码中可能存在单元测试代码混杂在一起、一个聚合的代码直接访问另一个聚合代码或数据库等情况,所以在进行服务拆分前,需要通过工具或业务上下文进行代码结构的调整,并理清模块间的依赖。
二、添加测试保护
在短视频系统源码进行服务拆分前添加测试保护的目的就是为了保障后续工作的安全和正确性,通常添加测试保护需要从两个方面的分析入手,第一个是确定是否缺少契约测试,第二个是是否缺少接口级别的测试。
三、消除业务代码依赖
在短视频系统源码进行服务拆分时,常用的消除业务代码依赖的方式有:
1、迁移实现位置错误的代码到正确的package中;
2、将直接访问另一个聚合数据库表的操作改为访问聚合的接口;
3、将不同领域中同时依赖一个工具类的服务独立出现,分别复制到两个服务中;
4、利用聚合接口的调用来实现数据库实体嵌套。

四、分离单元测试代码
分离单元测试代码可以从两个方面进行,其一是进行函数方面的单元测试。其二是进行使用内存数据库的接口级别的测试,相较而言,后者的复杂程度比较高,实现起来有一定难度。
五、跨聚合SQL查询和信息冗余处理
在进行服务拆分工作时,需要通过一定的业务调整来适配服务拆分带来的影响,从而保证服务拆分能带给短视频系统源码正面影响。
六、服务拆分
从物理角度上进行服务拆分需要保持现有服务的接口和代码不变,然后新建服务并将上游系统的代码拆分到新服务中,通过BFF和Toggle保证拆分过程的平稳过渡。
七、拆分数据库
服务拆分完毕并没有结束,还需要将数据库拆分成两个,以此来提供对应的数据服务。

在推荐短视频系统源码的服务拆分工作时,有很多需要注意的细节,只有做好这些细节才能保证服务拆分的效果。对于短视频系统源码而言,在合适的时机进行服务拆分可以带来很多不容忽视的好处。
声明:本文由云豹科技原创,转载请注明作者名及原文链接,否则视为侵权