zoukankan      html  css  js  c++  java
  • 关于大数据同步,大家来发表高见吧

    最近做项目,需要用到数据同步,对该项目同步模块描述如下:

    web服务器共20台,这些服务器上的web站点上有很多.config配置文件,都是部署在服务器本地的,这些配置与站点是1对1的关系,对站点管理比较灵活,但随之也带来问题,每次更新配置要对20台服务器进行.config文件进行修改,将来不排除再添加web服务器的可能,显然这样的重复工作量很大,我又比较懒,为解决这个问题,决定开发定制的数据同步服务,来解决这个问题。 

    对该服务技术框架上有两种方案,描述如下:

          两种方案共同点:

          1),配置管理均为树结构

          2),配置管理可分为主从配置

          3),配置服务器端,设置配置管理存储媒介,如:db,文件,NOSQL。

          以下是区别方案描述如下:

          方案A:分发订阅式同步

                   1),配置服务器端,启动主线程监听对配置的变动,发现变动即时创建多子个线程,对变动的配置分发到各个web服务器上去,

                          分发过程中如果出现异常,则尝试多次分发到失败的web服务器上,直到获得web服务器响应。

                   3),web服务器接到数据即时刷新对应业务对象即可。

           方案B:主动轮询式同步

                   1),web服务端定时向配置服务器发出请求,获取配置数据,配置服务器发现配置有变动即给出响应即可

    以上两种方案均可实现同步,个人认为:

                   方案A,对配置服务器自身来说没有压力,因为没有来自web服务器的频繁请求,从而也不需要处理来自web服务器请求并发,在分发过程中是多线程实现的,也没有压力,这样配置服务端编程及维护难度降低;

                   方案B,配置服务器定时(一般以秒为单位)要接受来自web服务器的请求,显然对并发有要求了,在配置服务端无疑要出现锁了,配置文集变动很少变动或者几个月甚至一年变动一次,那web服务端的请求配置服务器时间间隔不好确定,再者,如果这个服务扩张了要给多个业务使用,那么配置服务器无疑压力更大了,这时候恐怕就要添加服务器来负载了,反观方案A,什么时候配置变动什么时候分发,不存在web服务器请求(频繁)的问题,这样服务器是没有压力的,一台机器即可搞定。

    以上是我对这两种数据同步方案的见解,希望看到这篇文章的GG,MM们拍砖,发表你的高见,在下不甚感激。

                   

          

  • 相关阅读:
    Mini440之uboot移植之源码分析board_init_f(二)
    Mini440之uboot移植之源码分析uboot重定位(三)
    Mini440之uboot移植之实践DM9000支持(八)
    Mini2440裸机开发之DM9000
    Mini440之uboot移植之源码分析命令解析(五)
    Mini440之uboot移植之实践NOR启动(六)
    Mini440之uboot移植之实践NOR FLASH支持(七)
    mysql调优和SQL优化
    linux man手册使用相关问题
    关于ca以及证书颁发的一些事
  • 原文地址:https://www.cnblogs.com/liguo/p/lg.html
Copyright © 2011-2022 走看看