最近的由于业务变动的需求较多,经常同步外网的页面.
导致某次由于一个程序员不小心的编码,将请求全部指向了源服务器(为CDN提供数据的服务器).直接导致源服务器down机.所有业务对外访问异常.为了减少类似的问题导致的down机,同时解决目前对外服务的单点的危险.
重新制定了外网服务的优化方案.
如图:
改造后的优点:
1.保证盒子和弹窗业务都有双点进行互备.
2.通过域名区分外网访问的源服务器,避免由于某个业务的问题,直接导致的其他业务同时出现down机的危险.
3.CDN访问直接定向到某个IP.此时访问的负载均衡设备(F5或Ngins),如果现有的负载均衡设备down机,立刻将该业务访问的IP直接绑定其某台业务源服务器.解决用户不能访问的风险.
4.优化现有的部署服务到多台源服务器的代码.
将需要同步的文件发布到指定的部署目录:
1)盒子业务,文件名称box5_rsync.sh:
#!/bin/bash
#box public dirs
BOX5DIRS='js,style,images,img,flash,search'
#box5 public file
BOXFILE='index.html,data_ad.xml'
SOURCE_DIR='/var/www/html/admin/public_html/box5'
TARGET_DIR='/var/www/html/admin/public_html/box5_online'
#function rsync dirs
rsync_dirs()
{
for j in `echo ${1} | tr ',' ' '`
do
echo ' /usr/bin/rsync -rtDvz' $SOURCE_DIR/$j/ $TARGET_DIR/$j
/usr/bin/rsync -rtDvz $SOURCE_DIR/$j/ $TARGET_DIR/$j > /dev/null 2>&1
done
}
#function rsync file
rsync_file()
{
for j in `echo ${1} | tr ',' ' '`
do
echo ' /usr/bin/rsync -rtDvz' $SOURCE_DIR/$j $TARGET_DIR/$j
/usr/bin/rsync -rtDvz $SOURCE_DIR/$j $TARGET_DIR/$j > /dev/null 2>&1
done
}
rsync_dirs $BOX5DIRS
rsync_file $BOXFILE
2)弹窗业务,文件名称pop_rsync.sh
#!/bin/bash
#pop public dir
POPDIRS='178,kj,js,style,images,xml,flash,tab2'
#pop public file
POPFILE='index.html'
#pop coop dir
TAOBAO_COOP_DIRS='taobao/css,taobao/js,taobao/flash,taobao/images'
VANCL_COOP_DIRS='vancl/img,vancl/js,vancl/css'
BEAUTY_COOP_DIRS='beauty/img,beauty/css'
FRIEND_COOP_DIRS='friend/css,friend/js,taobao/images'
SOURCE_DIR='/var/www/html/admin/public_html/pop'
TARGET_DIR='/var/www/html/admin/public_html/pop_online'
#function rsync dirs
rsync_dirs()
{
for j in `echo ${1} | tr ',' ' '`
do
echo ' /usr/bin/rsync -rtDvz' $SOURCE_DIR/$j/ $TARGET_DIR/$j
/usr/bin/rsync -rtDvz $SOURCE_DIR/$j/ $TARGET_DIR/$j > /dev/null 2>&1
done
}
#function rsync file
rsync_file()
{
for j in `echo ${1} | tr ',' ' '`
do
echo ' /usr/bin/rsync -rtDvz '$SOURCE_DIR/$j $TARGET_DIR/$j
/usr/bin/rsync -rtDvz $SOURCE_DIR/$j $TARGET_DIR/$j > /dev/null 2>&1
done
}
rsync_dirs $POPDIRS
rsync_dirs $TAOBAO_COOP_DIRS
rsync_dirs $VANCL_COOP_DIRS
rsync_dirs $BEAUTY_COOP_DIRS
rsync_dirs $FRIEND_COOP_DIRS
rsync_file $POPFILE
将部署目录同步到远端的源服务器:
#!/bin/bash
SERVERS='192.168.1.15 192.168.1.70 192.168.1.150 192.168.1.71'
SOURCE_DIR='/var/www/html/admin/public_html'
TARGET_DIR='/opt/data/moviebox/root'
LOG_DIR='/home/rsync/logs'
CUR_TIME=`date +\%Y\%m\%d\%H`
for j in $SERVERS
do
#box5
echo "RSYNC BOX5"
echo "server IP:"$j >> $LOG_DIR/box5_$CUR_TIME.log
/usr/bin/rsync -rtDvz $SOURCE_DIR/box5_online/ $j:$TARGET_DIR/box5 >> $LOG_DIR/box5_$CUR_TIME.log
#pop
echo "RSYNC POP"
echo "server IP:"$j >> $LOG_DIR/pop_$CUR_TIME.log
/usr/bin/rsync -rtDvz $SOURCE_DIR/pop_online/ $j:$TARGET_DIR/pop >> $LOG_DIR/pop_$CUR_TIME.log
done
- 大小: 65.8 KB
分享到:
相关推荐
面向服务的架构(Service-Oriented Architecture,SOA)是一种设计模式,旨在通过将功能封装成独立的服务,使企业能够构建灵活、可重用的软件系统。这些服务可以通过标准接口进行交互,允许不同系统间的互操作性。...
### 清算总部现有业务流程优化方案研讨 #### 背景与目的 随着证券市场的发展及证券清算业务的不断革新,清算总部决定从八月初开始进行一系列改革措施,包括组织架构重组和业务流程优化。此举旨在提升工作效率、...
- **可扩展性**:接口设计应考虑到未来可能的业务变更,允许添加新的方法或修改现有行为。 - **安全性**:对敏感操作进行权限验证,防止未授权访问。 - **事务管理**:对于涉及多个数据库操作的业务,应妥善处理事务...
SOA(面向服务的架构)是一种在计算机领域广泛采用的架构范式,其核心思想是将企业的业务能力定义为一组独立的服务,这些服务可以通过网络进行调用。服务间通过明确定义的接口进行交互,以实现业务流程的松耦合集成...
- **抽象**:将复杂的业务逻辑封装在服务内部,对外只暴露简单的接口。 - **自治**:服务应具有自我管理的能力,包括数据、状态和行为。 - **契约优先**:先定义服务的接口(契约),再实现服务。 **4. SOA实施策略...
此外,SOA还特别强调服务资源库的建立,所有服务的信息都会被集中管理和维护,这样不仅可以提高服务的复用率,还可以让业务人员更容易地了解现有服务的能力,并在此基础上调整服务,以更好地适应不断变化的业务需求...
SOA(Service-Oriented Architecture,面向服务架构)是一种软件设计模式,它强调将功能封装为独立的服务,这些服务可以通过网络进行交互,以提供更大的业务灵活性和可重用性。在"SOA实际系统方案与Web Service1"的...
- **更改中心**: 用于管理服务的版本控制和变更历史,确保服务的一致性和可维护性。 - **项目管理器**: 提供了一个统一的界面来管理服务项目,包括开发、测试和生产环境的迁移。 - **服务集成和路由**: 通过管道...
数据治理的整体框架可以概括为“业务数据化→数据资产化→资产服务化→服务价值化”。 1. **业务数据化**:通过数据采集、清洗、加工等步骤,将业务过程转化为可分析的数据形式。 2. **数据资产化**:对收集的数据...
- **升级能力和传输协议**:Grid服务支持可升级的能力,这意味着可以通过更新服务的版本来改进服务性能或增加新功能,而不会影响到现有客户端的应用程序。此外,Grid服务支持多种传输协议,如HTTP、JMS(Java Message...
- 通过API Gateway统一对外提供服务,降低了客户端与多个服务交互的复杂度。 - 实现了服务之间的解耦和故障隔离,增强了系统的整体稳定性和性能。 #### 四、SpringCloud与SpringBoot的关系 1. **关系说明**: -...
这一层可以使用JavaBean或Service类来实现,它们封装了具体的业务操作,对外提供服务接口。 3. 数据访问层:这一层负责与数据库的交互,包括数据的增删改查等操作。在Java中,常用的持久化框架有JDBC、Hibernate、...
在建设数据治理平台时,面临的主要挑战包括确定平台在架构中的位置以减少对现有系统的干扰,建立统一的指标维度信息管理流程,整合多种存储引擎以实现高并发和高可用的数据出口,以及确保不同业务线间的信息隔离和...
然而,实现LPM的一个挑战在于现有的管理网架构。当前项目中,所有分区的管理网卡都是小型机本地HEA网卡,而HEA网卡并未配置为SEA虚拟网卡,而是直接分配给各个分区。为启用LPM,需要将HEA网卡改为VIOS的SEA虚拟网卡...
滴滴作为一家领先的出行服务平台,在面对业务快速增长和技术复杂度提升的过程中,采取了组件化的架构策略来提高开发效率、降低维护成本并增强系统的可扩展性。本文将围绕“中台之前——滴滴组件化实践”这一主题进行...
5. **消息版本控制**:随着服务的发展和变化,可能会出现接口不兼容的情况,WCF提供了一种机制来管理这种版本变更,确保现有客户端不受影响。 #### 五、WCF的实践应用 WCF不仅理论知识丰富,在实际开发中也具有...
2. **版本控制**: 对GraphQL接口进行版本管理,以便在不破坏现有客户端的情况下进行API变更。 3. **性能优化**: 使用缓存策略、批处理查询等手段提升GraphQL服务的性能。 4. **安全性考虑**: 实施身份验证、授权和...