网站服务迁移实践和注意问题

先说下背景,公司一直使用ucloud的云服务,由于近期旧的机房网络太慢,需要迁移到新的机房。

 

整个架构:后台是mysql+dubbo服务,使用zookeeper对dubbo服务进行管理。

                  前端使用jquery+springMVC+cdn。

                  缓存:memcache。

                  版本控制:svn+maven。

                  服务器:nginx,resin。  

迁移时对数据库,dubbo服务,web服务,maven,memcache,nginx进行迁移(svn,cdn未动)。

迁移策略,模拟一次迁移,copy数据库,maven,svn,memcache,dubbo服务,web服务。进行模拟测试,测试中遇到很多问题,比如数据库用户不存在,注册不上zookeeper,写死ip,java代码写死读取的配置文件等。

迁移顺序:

      1.搭建mysql,maven仓库,nginx,并同步数据和配置数据。

       2.安装memcache,zookeeper服务,copy  dubbo服务和web服务到新的机器上。

       3.按照一定的顺序启动所有服务,有的服务依赖别的服务,有先后顺序。

        由于四十多个rpc服务和二十多个web服务,并分布在多台机器上,整个模拟时间用了2-3天。

在正式迁移过程中,选择整个服务暂停3-4个小时(主要是数据库),在暂停前,所有的dubbo服务和web服务都已在新的机器上了,并处于关闭状态。开始同步数据库,大约花了3个小时,同步完数据库,启动dubbo服务,接着再启动web服务,整个过程还是比较顺利的,没有遇到什么大问题。

总结下:

1.良好的服务部署和统一的服务框架,这个不管在什么时候都是必要的。

2.统一的代码结构,这次发现有的java代码读取linux的路径下文件,而不是放在自己项目下,导致服务起不来。

3.良好的日志和异常处理,很多问题通过查看日志就可以发现问题。dubbo的日志和异常处理做的不错。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值