上海聚届电子商务有限公司手工活找到可信的家庭手工活么?

多进程中如何保持单例,且实现同步
现在准备2个tomcat,但是其中有快业务是取流水的,1个tomcat我用的是单例加上java的同步锁synchronized,测试是没问题的,但是多个tomcat,就是多进程,如何解决呢?
1、用select*from a for update 能解决吗?
2、还是临时表的方式,具体的思路呢?是在取流水前,在临时表把数据锁上,取完后删除临时表的数据吗?
用数据库事务是可以的吧
--- 共有 1 条评论 ---
今天问了人,用事务的确可以,更新的时候加更新条件
可以实现同步:1、事务执行的数据变更只能基于上一个一致的状态,且只能体现在一个状态中。T(n)的变更结果只能基于C(n-1),C(n-2), ...C(1)状态,且只能体现在C(n)状态中。也就是说,一个状态只能有一个事务变更数据,不允许有2个或者2个以上事务在一个状态中变更数据。至于具体一致写基于哪个状态,需要判断T(n)事务是否和T(n-1),T(n-2),...T(1)有依赖关系。
2、事务读取数据只能从一个状态中读取,不能从2个或者2个以上状态读取。也就是T(n)只能从C(n-1),C(n-2)... C(1)中的一个状态读取数据,不能一部分数据读取自C(n-1),而另一部分数据读取自C(n-2)。
1.数据库事务。
2.消息中间件。
数据库的锁吧,乐观锁和悲观锁
事务管理 还有加锁nmshuishui 的BLOG
用户名:nmshuishui
文章数:48
评论数:125
访问量:97109
注册日期:
阅读量:5863
阅读量:12276
阅读量:424520
阅读量:1112981
51CTO推荐博文
一、前言& &可以配置SSH信任,做信任后,同步就不需要密码文件了 & &1、rsync & &如果你man一下sync的话,就会发现:sync-flush file system buffers,它是一个把缓冲区中的数据同步到文件系统中的一个命令;而rsync其实就是remote rsync,它是一个远程同步工具,兼具cp和scp的功能,rsync命令的使用几乎和scp是一样一样的。rsync是通过超级守护进程xinetd进行触发同步的。 & &1)优点:与cp和scp相比来说,rsync更快,更安全,支持增量备份。rsync在数据同步的过程中,不像cp一样全部都拷贝,而是先去比对特征码,只有不一样的才会去拷贝,如果一样了,就不需再做多余操作。通过使用rsync+crontab可以解决对实时性要求不是太高的场景。 & &2)缺点:在这个大数据年代,如果你的数据量非常大,你每做一次任务计划,rsync都会先去遍历目标目录,把所有数据做一次特征码比对,然后进行差量传输,这个过程会是很漫长的,对于那些要求实时性更新比较高的企业来说,无疑是一场噩梦。但是如果能够出现一个工具能够实时的去监控我们的文件系统,只有在数据改变时才会触发它去同步,那该有多好啊!为了满足广大需求者的心声rsync+inotify组合就出现了 & &2、inotify Inotify 是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、***,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件。 & &3、rsync+inotify 之推荐理由 & &1)服务器性能:rsync+crontab会定时去检查是否有文件更新,这势必会造成服务器性能下降;而rsync+inotify组合是触发式更新,只有在数据文件有变化时,才会去更新,因此相对前者而言,是提高了服务器性能 & &2)数据实时性:rsync+crontab是周期性任务计划,不能保证数据的实时性;rsync+inotify组合是触发式更新,只要有数据变化,就立刻同步更新二、系统平台环境 & &1、操作系统:CentOS6.4-X86_64 & &2、rsync客户端(rsync+inotify):172.16.150.150 & &3、rsync服务端:172.16.251.93,172.16.251.194三、实验拓扑四、配置rsync服务端(172.16.251.93、172.16.251.194) & &1、配置rsync服务端:172.16.251.93 & & 1)检查系统是否已经安装rsync和xinetd超级守护进程,CentOS6.4默认已经安装rsync,但未安装xinetd[root@nmshuishui&www]#&rpm&-qa&|&grep&rsync
rsync-3.0.6-9.el6.x86_64yum&-y&install&xinetd&rsync &2)为rsync服务提供配置文件 &vim /etc/rsyncd.conf #Global&Settings&全局配置
uid&=&nobody&&&&&&&&&&&&&&&&&&&&&&&&&#运行rsync的用户
gid&=&nobody&&&&&&&&&&&&&&&&&&&&&&&&&#运行rsync的用户组
use&chroot&=&no&&&&&&&&&&&&&&&&&&&&&&#是否让进程离开工作目录
max&connections&=&5&&&&&&&&&&&&&&&&&&#最大并发连接数,0为不限制
timeout&=&600&&&&&&&&&&&&&&&&&&&&&&&&#超时时间
pid&file&=&/var/run/rsyncd.pid&&&&&&&#指定rsync的pid存放路径
lockfile&=&/var/run/rsyncd.lock&&&&&&#指定rsync的锁文件存放路径
log&file&=&/var/log/rsyncd.log&&&&&&&#指定rsync的日志存放路径
path&=&/var/www&&&&&&&&&&&&&&&&&&&&&&#认证的模块名,在client端需要指定
ignore&errors&=&yes&&&&&&&&&&&&&&&&&&#忽略一些无关的I/O错误
read&only&=&no&&&&&&&&&&&&&&&&&&&&&&&#客户端是否能拉(PULL)
write&only&=&no&&&&&&&&&&&&&&&&&&&&&&#客户端是否能推(PUSH)
hosts&allow&=&172.16.150.150&&&&&&&&&#白名单,可以访问此模块的主机
hosts&deny&=&*&&&&&&&&&&&&&&&&&&&&&&&#黑名单,*表示任何主机
list&=&yes&&&&&&&&&&&&&&&&&&&&&&&&&&&#客户端请求是否可以列出模块列表
uid&=&root&&&&&&&&&&&&&&&&&&&&&&&&&&&#以root的身份去获取文件
gid&=&root
auth&users&=&web&&&&&&&&&&&&&&&&&&&&&#认证此模块的用户名
secrets&file&=&/etc/web.passwd&&&&&&&#指定存放“用户名:密码”格式的文件#一种更简便的写法
#Global&Settings&
hosts&allow&=&10.10.64.218&10.10.1.10&59.108.99.178
max&connections&=&10
pid&file&=&/var/run/rsyncd.pid
lockfile&=&/var/run/rsyncd.lock
log&file&=&/var/log/rsyncd.log
path&=&/data/www
read&only&=&yes&&&&&&&&&&#如果要写入此模块,则&read&only&=&no
auth&users&=&www
secrets&file&=&/etc/rsyncd.secret
path&=&/data/opt
read&only&=&yes
auth&users&=&opt
secrets&file&=&/etc/rsyncd.secret& &3)创建同步目录[root@nmshuishui&~]#&mkdir&/var/www & &4)配置rsync认证文件/etc/web.passwd[root@nmshuishui&~]#&echo&"web:web"&&&/etc/web.passwd
[root@nmshuishui&~]#&cat&/etc/web.passwd
opt:opt & &5)修改/etc/web.passwd(服务端)的权限为600,且属主必须为root& & 客户端的密码文件的属主可以不为root,需为当前登录系统用户,权限也为600。有时候会遇到在服务器上只有普通用户权限的情况,那就不能在/etc/下创建密码文件了,可以创建在此登录用户的家目录下,一样解决问题[root@nmshuishui&~]#&chmod&600&/etc/web.passwd
[root@nmshuishui&~]#&ll&/etc/web.passwd
-rw-------&1&root&root&10&Mar&27&22:31&/etc/web.passwd & &6)配置服务能够启动[root@nmshuishui&~]#&chkconfig&rsync&on
[root@nmshuishui&~]#&service&xinetd&start
Starting&xinetd:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[&&OK&&] & &7)检查873端口是否成功监听 & &8)检查rsync运行状态[root@nmshuishui&~]#&chkconfig&--list & &2、配置rsync服务端:172.16.251.194 & &步骤同上 & &1)检查系统是否已经安装rsync和xinetd超级守护进程 & &2)为rsync服务提供配置文件 & &vim /etc/rsyncd.conf#Global&Settings
uid&=&nobody
gid&=&nobody
use&chroot&=&no
max&connections&=&5
timeout&=&600
pid&file&=&/var/run/rsyncd.pid
lockfile&=&/var/run/rsyncd.lock
log&file&=&/var/log/rsyncd.log
path&=&/var/www
ignore&errors&=&yes
read&only&=&no
write&only&=&no
hosts&allow&=&172.16.150.150
hosts&deny&=&*
list&=&yes
uid&=&root
gid&=&root
auth&users&=&web
secrets&file&=&/etc/web.passwd&&3)创建同步目录[root@shuishui&www]#&mkdir&/var/www & &4)配置rsync认证文件/etc/web.passwd[root@shuishui&~]#&echo&"web:web"&&&/etc/web.passwd
[root@shuishui&~]#&cat&/etc/web.passwd
web:web & &5)修改/etc/web.passwd的权限为600[root@shuishui&~]#&chmod&600&/etc/web.passwd
[root@shuishui&~]#&ll&/etc/web.passwd
-rw-------&1&root&root&10&Mar&29&15:21&/etc/web.passwd & &6)配置服务能够启动[root@nmshuishui&~]#&chkconfig&rsync&on
[root@nmshuishui&~]#&service&xinetd&start
Starting&xinetd:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[&&OK&&] & &7)检查873端口是否成功监听 & &8)检查rsync运行状态五、配置rsync客户端(172.16.150.150) & &1、设置 rsync 客户端的密码文件,客户端只需要设置 rsync 同步的密码即可,不用设置用户名(默认已经安装了rsync)[root@shuishui&~]#&echo&web&&&/etc/web.passwd
[root@shuishui&~]#&cat&/etc/web.passwd
web & 2、修改/etc/web.passwd的权限为600,客户端密码文件属主.属组为登录系统的当前用户[root@shuishui&www]#&chmod&600&/etc/web.passwd
[root@shuishui&www]#&ll&/etc/web.passwd
-rw-------&1&root&root&10&Mar&26&21:28&/etc/web.passwd & 3、安装inotify-tools#&tar&xf&inotify-tools-3.13.tar.gz
#&cd&inotify-tools-3.13
#&./configure
#&make&&&&make&install & &4、在172.16.150.150上测试下能否同步文件&&&&不管是推还是拉,推、拉操作都是在rsync客户端执行的[root@shuishui&www]#&rsync&-vzrtopg&--delete&--password-file=/etc/web.passwd&/etc/fstab&web@172.16.251.93::web1&&&&&&&&&#PUSH
[root@shuishui&www]#&rsync&-vzrtopg&--delete&--password-file=/etc/web.passwd&web@172.16.251.93::web1/123&/var/www/&&&&&&&&&&#PULL & &上面这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数&&&1)第1条是是从rsync客户端(172.16.150.150)上传文件到rsync服务端(172.16.251.93),这里必须要指定密码文件 & &2)第2条是从rsync服务端(172.16.251.93)下载文件到rsync客户端(172.16.150.150) & &3)以上两条说明了,rsync服务端和客户端是可用的;经测试,另一台rsync服务端也可用,不再贴图了。接下来的任务就是编写服务脚本了,能够让rsync客户端自动监测目录的变动情况,并自动同步到rsync服务端,完全实现自动化。& &5、排除文件及目录&rsync&-vzrtopg&--delete&--password-file=/etc/web.passwd&--exclude="logs/nginx.log"&web@172.16.251.93::web1/123&/var/www/
rsync&-vzrtopg&--delete&--password-file=/etc/web.passwd&--exclude="logs"&web@172.16.251.93::web1/123&/var/www/六、编写rsync脚本,实现数据实时同步 & &1、在rsync客户端(172.16.150.150)编写rsync脚本 & & vim /var/www/rsync.sh#!/bin/bash
src=/var/www/
host1=172.16.251.93
host2=172.16.251.194
/usr/local/bin/inotifywait&-mrq&--timefmt&'%d/%m/%y&%H:%M'&--format&'%T&%w&%f'&-e&modify,delete,create,attrib&$src&|&while&read&file&DATE&TIME&DIR;
/usr/bin/rsync&-vzrtopg&--delete&--progress&$src&$user1@$host1::$des1&--password-file=/etc/web.passwd
/usr/bin/rsync&-vzrtopg&--delete&--progress&$src&$user2@$host2::$des2&--password-file=/etc/web.passwd
echo&"${files}&was&rsynced"&&&&/var/log/rsync.log&2&&1
done & &2、给rsync.sh执行权限[root@shuishui&www]#&chmod&+x&rsync.sh
[root@shuishui&www]#&ll&rsync.sh
-rwxr-xr-x&1&root&root&523&Mar&27&00:46&rsync.sh & &3、把脚本加入到开机自动启动文件[root@shuishui&www]#&echo&"/var/www/rsync.sh&&"&&&&/etc/rc.local & 4、同步测试 & & &在测试之前,为了演示效果的明显,我先把两台rsync服务端的/var/www/下的所有文件都清除掉,让其把持一个空目录,然后重启下rsync客户端,开机后,在rsync客户端的/var/www目录中,新建一个文件,看其是否能够成功监控并自动同步 & &1)rsync服务端(172.16.251.93,172.16.251.194)/var/www目录下都空;rsync客户端(172.16.150.150)/var/www目录下非空 & & & &2)开机在rsync客户端(172.16.150.150)/var/www目录下touch一个6
& &3)查看rsync服务端(172.16.251.93)是否同步成功
& & 4)查看rsync服务端(172.16.251.194)是否同步成功七、rsync报错1、rsync: chgrp "/." (in res_hk) failed: Operation not permitted (1)&&&&解决办法:需要加一个 --no-grouprsync&-vzrtopg&--no-group&&--delete&--password-file=/etc/rsync.vietnam&/root/config/&backupfront@103.19.96.149::res_hk本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
19:44:38 19:48:23 19:49:59 20:44:172007年5月 总版技术专家分月排行榜第一
2008年6月 总版技术专家分月排行榜第二2007年6月 总版技术专家分月排行榜第二
2012年2月 挨踢职涯大版内专家分月排行榜第三2011年11月 挨踢职涯大版内专家分月排行榜第三2011年10月 挨踢职涯大版内专家分月排行榜第三
2017年2月 总版技术专家分月排行榜第三
2017年5月 .NET技术大版内专家分月排行榜第一2017年4月 .NET技术大版内专家分月排行榜第一2017年3月 .NET技术大版内专家分月排行榜第一2017年2月 .NET技术大版内专家分月排行榜第一2016年10月 .NET技术大版内专家分月排行榜第一2016年8月 .NET技术大版内专家分月排行榜第一2016年7月 .NET技术大版内专家分月排行榜第一
2017年2月 总版技术专家分月排行榜第三
2017年5月 .NET技术大版内专家分月排行榜第一2017年4月 .NET技术大版内专家分月排行榜第一2017年3月 .NET技术大版内专家分月排行榜第一2017年2月 .NET技术大版内专家分月排行榜第一2016年10月 .NET技术大版内专家分月排行榜第一2016年8月 .NET技术大版内专家分月排行榜第一2016年7月 .NET技术大版内专家分月排行榜第一
2017年2月 总版技术专家分月排行榜第三
2017年5月 .NET技术大版内专家分月排行榜第一2017年4月 .NET技术大版内专家分月排行榜第一2017年3月 .NET技术大版内专家分月排行榜第一2017年2月 .NET技术大版内专家分月排行榜第一2016年10月 .NET技术大版内专家分月排行榜第一2016年8月 .NET技术大版内专家分月排行榜第一2016年7月 .NET技术大版内专家分月排行榜第一
2012年2月 挨踢职涯大版内专家分月排行榜第三2011年11月 挨踢职涯大版内专家分月排行榜第三2011年10月 挨踢职涯大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。分布式多数据库数据同步ERP应用案例_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
分布式多数据库数据同步ERP应用案例
上传于|0|0|文档简介
&&介绍分布式、多数据库、多数据库间数据同步的ERP应用案例
阅读已结束,如果下载本文需要使用5下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩8页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 上海手工活外发基地 的文章

 

随机推荐