您的位置:首页 > 编程语言

【转】在分布式开发时,代码一般要分发到多台机器,大家都用什么来做分发组件?

2012-09-19 23:43 441 查看
http://www.dewen.org/q/1020/?utm_source=weekly_82514821_24&utm_field=5&utm_id=5

分布式


在分布式开发时,代码一般要分发到多台机器,大家都用什么来做分发组件?



浪际天涯

3 票




12.51K

在分布式开发时,代码一般要分发到多台前端机器上,大家一般都用什么来做分发组件?简要说明一下组件的优缺点。




至尊宝
904

编辑于2012-01-18

评论
(0) • 分享链接 • 2012-01-13 

10个答案







毛杭军

4 票




6727

说一下我们现在的做法

1.svn export整个代码

2.rsync 到发布机 同时把每个文件的MD5值记录后也带上去

3.在发布机点击check

验证正式环境中每个文件的MD5值是否和发布机一样

check哪些文件是新增,哪些是修改,哪些需要删除

4.点击发布后,rsync到各台正式环境

评论
(1) • 链接
2012-01-19

0

我们现在用的就是这种方式 – 浪际天涯 2012-06-13



浪际天涯


3 票




12.51K

居然没人回答我的问题,我自己找了一个叫Gearman的东东,在这里记着,改天研究研究,有兴趣的朋友也可以研究研究,如何通过它来完成分发,以下是关于Gearman的介绍:

Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统。

一个Gearman请求的处理过程涉及三个角色:Client -> Job -> Worker。   

Client:请求的发起者,可以是 C,PHP,Perl,MySQL UDF 等等。   

Job:请求的调度者,用来负责协调把 Client 发出的请求转发给合适的 Work。   

Worker:请求的处理者,可以是 C,PHP,Perl 等等。   

因为 Client,Worker 并不限制用一样的语言,所以有利于多语言多系统之间的集成。   

甚至我们通过增加更多的 Worker,可以很方便的实现应用程序的分布式负载均衡架构。

用这玩意来弄弄分发应该可以实现

评论
(0) • 链接
2012-01-16



大人

2 票




1034

我一直用的svn的钩子,去勾 rysn。

只有两台同步,如果达到10台,就不知道性能怎么样了。

不过话说回来,部署环境的web,更新周期比较长,影响不大

评论
(0) • 链接
2012-01-17



黄新颖

2 票




1381

我们也是用rsync去同步代码,上百台服务器同时更新也没有问题。你刚才说的gearman是运行时的框架,而现在你关心的是如何做分布式的部署,不是分布式的运行吧?

评论
(0) • 链接
2012-01-17



彭玮琳

2 票




281

可以借鉴一下hypertable的同步更新工具,使用的是Capistrano,感觉还比较不错
https://github.com/capistrano/capistrano/
评论
(0) • 链接
2012-06-13



halk

1 票




51

主要有分发和同步两种方式,其中分发就是源代码的发送方主动呢传送,而同步就是接受方定时\根据某规则询问

具体的方法和工具,请具体查询

评论
(0) • 链接
2012-07-02



lijinglin

1 票




16

zookeeper和分发无关。 跑分发都可以直接写scp脚本,建立各台机器的ssh信任关系,用scp拷贝过去。 不过这种是全量拷贝同步了,也可以用rsync做。rsync主要你不知道何时结束了。rsync做增量同步。

评论
(0) • 链接
2012-06-12



至尊宝

1 票




904

可以考虑使用Zookeeper

Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

评论
(0) • 链接
2012-01-18



庞彤彤

0 票




434

SVN(版本控制)+Jenkins(持续集成管理平台)+Maven(项目集成),具体的操作方式baidu或者google

评论
(0) • 链接
2012-08-20



Eryx

0 票




1

我们用 Redhat RPM,所有软件都打包成 RPM

有一套自动的包集成工具,RPM 是自动生成的

“分发” 在我们本地使用队列服务,向所有 Agent 执行 yum update/install

评论
(0) • 链接
2012-09-18
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐