sofa框架个人见解

1:博主最近接触了支付宝开源的sofa框架,支付宝开源的项目地址在 在接触当中,使用到我个人的项目中。本人项目中使用到sofa多模块的方式,sofa的多模块,与普通多模块最大的区别是,sofa多模块住提现每个每个模块都是独立的spring上下文,我个人比较喜欢这样的方式,因为这样在多个团队维护项目过程中,不必关系其他团队的修改代码,引入其他jar包导致我的模块出现问题。A模块中想要调用B模块内容,通过jvm注入的方式进行调用,如果项目慢慢成长业务量大了,需要把模块变成服务,那就更改模块的调用方式就好了,jvm调用改成rpc调用,让项目中模块之间完全解耦。
2:从第一点中介绍了博主,为什么把架构改成sofa的原因。但是这样的结构会给原始项目带来非常大的改变,现在分布式结构中,每个服务都自己维护自己的数据库层面。我们一般在业务没有成长起来的时候,还是会选择把服务做成业务系统中的模块,我们目前项目中mybytis怎去配置,DataSource应该配置到那个阶层比较合适,这都是需要去考虑的问题,后面个人选择把DataSource配置到root模块中.还有数据库事务应该怎么考虑,在分布式事务中。每个模块配置sqlsessionFactory都去注入root中的DataSource。如果把DataSource配置到每个模块中,该项目如果使用到应用直接的分布式事务,那么就会变的有问题,个人在这个层面花了较多时间。
3:个人比较建议目前很多伙伴在服务之间调用去选择sofaRpc他性能肯定是要比feign要好的,他提供的访问方式也更多。
4:sofa分布式链路追踪,SOFATracer 在分布式体系中,也能比较便捷的排查问题,
5:欢迎大家入坑
6:非常感谢支付宝一系列中间件等的开源。开源地址https://www.sofastack.tech/projects/sofa-boot/overview/ 希望支付宝的分布式事务能快些成熟,目前还是比较多坑。

你可能感兴趣的:(分布式技术,java,框架)