python多进程处理数据 如何在分布式环境中实现多服务器多进程间数据同步?
如何在分布式环境中实现多服务器多进程间数据同步?
环境:
:多个应用程序服务器进程,
:每个进程都有自己相对较大的缓存(可能有100-300万个用户数据)
:这些进程可能开始在同一台机器上运行,并且将来将分布到多台机器,
:在初始化期间从RDBMS读取所有缓存。
]:现在的问题是如果RDBMS中的数据发生了变化,或者如果多个进程中某个进程的用户数发生了变化
:如何同步所有这些进程中的数据?]:如果多个进程在同一台服务器上,我将考虑共享内存信号量、
同一个进程的各个线程可以共享哪些内容?
进程代码段、进程公共数据(使用这些共享数据,线程可以轻松地相互通信)、进程打开文件描述符、信号处理器、进程当前目录、,进程用户ID和进程组ID。同一进程的每个线程可以共享什么
1。多进程不一定比多线程好
2。共享内存没问题
3。在Linux上,D-Bus可以用来在进程之间共享数据,这更可靠、更简单。D-Bus也会广播。
如果您想考虑高可靠性,那么采集程序可以是单个进程,然后使用mom(如ActiveMQ)以持久的方式传输数据。它可以广播、点对点和分布式。有两个侦听程序,一个用于显示,另一个用于保存到数据库。这样,只要考虑采集程序的高可靠性,因为如果采用持久模式发送数据,对方在没有接收到数据时就会保存数据。
python多进程处理数据 python多进程共享全局变量 python进程间共享数据
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。