Apollo框架可行性分析 |
您所在的位置:网站首页 › apollo配置中心动态更新 › Apollo框架可行性分析 |
3.2 网络拓扑 3.3 软/硬件环境 环境角色IP地址指向Portal MySQLApolloEureka 192.168.103.111 Apollo-portalApollo-configApollo-adminMySQLportalDB->111MySQLconfigDB->111Eureka->111,112 DEV 192.168.103.111192.168.103.112 Apollo-configApollo-adminMySQLportalDB->111MySQLconfigDB->111Eureka->111,112 PRO 192.168.103.113192.168.103.114 Apollo-configApollo-adminMySQLportalDB->111MySQLconfigDB->113Eureka->113,114 四、Apollo测试项对比 针对配置文件的修改是否生效 经测试生效 通过 经测试生效 通过 模拟灾难发生(宕机或网络波动等)看是否切换备用Apollo正常工作 将其中一台服务器down机后,依然可发布 通过 将其中一台服务器down机后,依然可发布 通过 模拟大应用发布并发看是否Apollo能抗压正常工作 经过测试,测试apollo得到如下压测数据 经过测试,测试apollo得到如下压测数据 同时由于整体采用apollo框架,对整体项目的压测即对apollo整体框架的压测,给出的压测结论为: 系统经过一系列业务接口的压力测试,在响应与并发量上表现优秀,期间系统稳定可靠,服务器资源波动正常,全部业务场景千万次交互错误率为0%。 业务混合模式在长达8小时(1:2:1.5充值:查询:交易)的测试场景中,压测聚合报告数据表现优秀,720万次业务交互错误率为0%,95%连接响应时间均低于1000毫秒,TPS稳定在250/sec。 通过 系统经过一系列业务接口的压力测试,在响应与并发量上表现优秀,期间系统稳定可靠,服务器资源波动正常,全部业务场景千万次交互错误率为0%。 业务混合模式在长达8小时(1:2:1.5充值:查询:交易)的测试场景中,压测聚合报告数据表现优秀,720万次业务交互错误率为0%,95%连接响应时间均低于1000毫秒,TPS稳定在250/sec。 通过 一旦框架出现问题,可能出现的情况: 1. 客户端无法接收到配置情况 2. 服务端无法更新配置发布 1. 客户端无法接收到配置情况 2. 服务端无法更新配置发布 针对以上两点,需要仔细分析框架为何会出现此问题从而解决。再次之前应急方案为手动修改配置发布。(注:无论出现何种现象只影响自动化) 六、测试结论 经过Apollo性能测试,发现此框架稳定,能够承载大量信息处理,同时与spring集成最大程度兼容和方便了研发同学的使用与对接,实现了发布自动化,并且符合运维的分布式部署与集群理念,既为当一台服务器发生故障,不影响应用使用。再权限管控方面优异,实现了角色划分,方便管控。 以下为整体可用性分析: 场景影响降级原因某台Config Service下线 无影响 Config Service无状态,客户端重连其它Config Service 所有Config Service下线 客户端无法读取最新配置,Portal无影响 客户端重启时,可以读取本地缓存配置文件。如果是新扩容的机器,可以从其它机器上获取已缓存的配置文件 某台Admin Service下线 无影响 Admin Service无状态,Portal重连其它Admin Service 所有Admin Service下线 客户端无影响,Portal无法更新配置 某台Portal下线 无影响 Portal域名通过SLB绑定多台服务器,重试后指向可用的服务器 全部Portal下线 客户端无影响,Portal无法更新配置 某个数据中心下线 无影响 多数据中心部署,数据完全同步,Meta Server/Portal域名通过SLB自动切换到其它存活的数据中心 数据库宕机 客户端无影响,Portal无法更新配置 Config Service开启配置缓存后,对配置的读取不受数据库宕机影响 以上结论总结:此框架适合大型研发团体,随着团队发展壮大,使用成熟框架是势在必行,此框架符合公司需求,各个测试均通过,可以使用。 *本文原创作者:煜阳yuyang,本文属于FreeBuf原创奖励计划,未经许可禁止转载返回搜狐,查看更多 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |