我目前正在试验zeromq并构建一个面向服务的分布式体系结构。每个服务都需要操作公共数据库中的数据。
什么是最好的方法:
第二种选择对我来说似乎更干净,但我担心这会对性能产生影响,因为每个数据请求都有一个额外的网络通信。
将来,可能会有其他数据源,而不是数据库。这就是我为什么想到第二种选择的原因,但我害怕过于工程化。
发布于 2011-03-27 15:46:24
由于您正在使用“正确处理”的长度,构建了一个面向分布式服务的系统,需要启动zeromq,所以我认为您应该一路走下去,将一个服务放在数据库前面。
关于性能,请记住Knuth的建议,即过早优化是万恶之源。最好使用更干净的选项,然后根据需要进行优化,除非您事先知道您将出现性能问题。此外,抽象数据库应该使您能够更容易地进行扩展(例如通过分发、缓存等)。如果将来需要的话。
尽管如此,如果您正在考虑的另一个选项是共享库,并且假设它也是更快的实现选项,那么您总是可以以这种方式开始并在以后更改它--只需将共享库更改为与服务一起工作,而不是直接使用数据库,那么您的所有服务都应该可以使用。
https://stackoverflow.com/questions/5442161
复制相似问题