SOA服务架构中,service可以调用service吗可能会引发什么问题。
比如在userService中可以调用MsgService吗?
那在普通三层架构中,也有遇到过这样的情况,如果放在action中,会无法使用事务管理。代码也不可能写在dao。这时候是重新把代码拷贝一份还是Service调用Service。回答请说明SOA服务架构,或者是普通三层架构可能引发的问题。
SOA服务架构中,service可以调用service吗可能会引发什么问题。
比如在userService中可以调用MsgService吗?
那在普通三层架构中,也有遇到过这样的情况,如果放在action中,会无法使用事务管理。代码也不可能写在dao。这时候是重新把代码拷贝一份还是Service调用Service。回答请说明SOA服务架构,或者是普通三层架构可能引发的问题。
当然可以,不过传统的SOA一般粒度都比较大,一个应用一个service,所以很少有service互相调用。而微服务的service粒度小,所以service互相调用比较多。
服务互相调用的事务是个麻烦的问题,因为service会部署在不同的机器上会造成分布式事务问题,不过现在已经有了很多分布式事务框架,实现分布式事务比MQ轻,已经比较成熟。
8 回答6.8k 阅读
4 回答1k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答630 阅读✓ 已解决
2 回答1.2k 阅读
2 回答1.5k 阅读
从功能的实现来说,service调用service是可以的,并不会有什么问题.
需要注意的就是事务管理,根据业务逻辑处理好事务传播就行.
但是会提高耦合性.
至于拷贝还是调用,如果没有其他的方案,调用会是更好的选择.
当然,让
MsgService
提供一个远程服务出来会是更优解.