PaaS 平台学习(开源力量OSF)构建千万级大规模、高可靠PaaS平台的技术挑战 学习笔记
感谢许志强老师的辛苦付出。2015年1月13日 参加云通讯PaaS平台学习,特作此记录。
大纲:
- 选择Paas平台的考量(我的企业是否适合选PaaS平台,我应该选怎么样的PaaS平台)
- 基于PaaS平台的开发、测试、部署和迁移的流程、关键技术和注意事项
- 如何构建能支持千万级用户的大规模PaaS平台?技术挑战有哪些?有哪些经验和教训?
- 如何实现PaaS平台的高可靠性?
- 如何保证PaaS平台的安全性?
一、云通讯PaaS平台的挑战
- 客户业务突然爆发性增长
- 系统受到DDOS攻击
- 运营商政策调整,某些呼叫不能落地
- IDC机房光纤被挖断
- 系统升级出现BUG,业务全停
- 业务主机H突然宕机:
二、可靠性追求
技术挑战
- 可靠性
- 扩展性
- 安全性
- 可管理性
- 经济性
可用性标准
Availability | Downtime/Year | Example |
90% | 36days 2hours | Personal clients |
99% | 87 hours 36 minutes | Entry-Level Business |
99.9% | 8 hours 46 minutes | ISP,mainstream Business |
99.99% | 52 minutes 33 seconds | Data Centers |
99.999% | 5 mintue 15 seconds | carrier-grade Telco,Banking |
99.9999% | 31.5 seconds | Militray defense system |
高可用性——High Availability
- 清除单点故障
- 故障自动检测
- 故障隔离
- 运维操作Web化自动化
消除单点故障原则
- 常规方案,主备、集群Cluster负载均衡:
- 数据库分库、分表方案:
初始规划就要考虑。以前做运营商系统通常选择oracle Sybase,而互联网企业多用MySql。经典案例,余额宝,天宏基金早期是Oracle,后来与阿里合作,移植到MySql上。其单机无法与SyBase比,而是用许多数据库服务器进行分库分表。初期就要考虑分库分表,后期改成本会相当高。 - 大系统小做 :
许多人刚开始策划功能都会想的非常复杂,但其可靠性难以得到保证。设计大的系统一定要往小的做,尽可能降低交互的复杂性,不要设计的非常复杂,交互其中一个环节有问题都会导致故障。
系统里一个小的部分,尽量完成单一职责,不要很多事情一起做。单个服务 高内聚、低耦合。参考文章:http://martinfowler.com/articles/microservices.html。
一个系统过大,不利于扩展,出问题机率大。 - 尽可能做到无状态:nginx每次响应是独立的,这次请求与上次请求尽可能独立。(原子性)。
不是所有东西都可以无状态,如通信过程,发起、接听、摘机等,必须保存呼叫状态,这就必须有状态。这种情况下要做成分组,或子系统。假如所有有状态的请求能分配到不同组,系统出现故障影响小的分组,分组出问题就切换到另外分组。从分组角度看就是无状态。如A、B、C三组。在连接的时候选择一个服务节点。 - 异地部署、容灾
对于云服务提供商很重要,IT机房的可靠性也不是非常高,当部署到一个机房的服务不能使用时,对用户影响很大。所以必须要考虑异地部署、容灾。 - 不能做到无状态就需要分组
一个多机房系统的方案
单IDC内部署结构
跨区域数据同步解决原则:
怎么做故障检测
在用户反馈前发现系统故障
分层次的故障检测:
- 最底层是机器的检测:如检测机房故障,转移DNS。检测机器故障,要把机器移除出来。
- 模块的检测:
- 业务功用的检测:模拟用户操作进行检测。
防止误检测保护:
运维自动化、WEB、数据化:
- 手工操作有极大的安全隐患,避免手工操作引起的系统问题,设计之初就要考虑可运维的、可自动运维的。
- 模块的升级、维护全部通过WEB进行。
- 通过收集的数据进行运维,设计时要考虑把数据采集进来,进行分析,提前预判一些故障。当发现某台机器ping 响应很久,就预示机器可能会出现故障;或机器的I/O非常高,预测磁盘可能出现问题;或带宽高等。通过运维的手段,使系统的可靠性提高。
灰度发布:
三、支持百万、千万、上亿的在线用户
- 操作系统调优:
- 采用异步接口:IOCP、epoll
- 内存数据库缓存、减少数据库操作:
- 内部采用长连接,如Protocol Buffer、thrift avro protobuf等:系统内部长连接减少连接开销。
- 节点可并行扩展、Cluster集群:openstack
- 自动部署新业务节点支持服务:
四、互联网的语音质量保证
- 语音编码的选择:如silk、sap g.729
- 网络状况的检测:
- 自适应码流调整:
- 网络封包大小的选择:
- 质量反馈机制:两端通信,知道对端的情况。如果RDPC标准协议能够知道对方情况。
- 智能IP路由:根据客户端的IP,决定到哪个路径到服务器最短。丢包以后怎么处理,丢弃还是补偿,或用延迟换语音质量。
- NACK捎带机制:
五、安全性:
网络DDOS攻击:
业务的安全沙箱隔离:
通话的安全性:
六、构建自己的云通讯平台
(容联云通讯提供的免费服务)移动端融合通讯能力API
- IM
- 视频通话
- VoIP
- 视频会议
- 语音会议
PaaS 平台学习(开源力量OSF)构建千万级大规模、高可靠PaaS平台的技术挑战 学习笔记相关推荐
- 知乎技术分享:知乎千万级并发的高性能长连接网关技术实践
本文来自知乎官方技术团队的"知乎技术专栏",感谢原作者faceair的无私分享. 1.引言 实时的响应总是让人兴奋的,就如你在微信里看到对方正在输入,如你在王者峡谷里一呼百应,如你 ...
- 世界杯千万级直播高稳定的挑战和实践
今年夏天,俄罗斯世界杯召开.在刚刚落幕的重庆云栖飞天技术汇专场中,阿里视频云技术专家裘良科,就世界杯这个话题,跟参会嘉宾一起探讨了千万级直播高稳定的挑战和相关实践,本文为演讲全文. 2018年俄罗斯世 ...
- 电信运营商基于 MQTT 协议 构建千万级 IoT 设备管理平台
MQTT 是用于物联网的标准消息传递协议.它被设计为一种非常轻量级的发布/订阅消息传送,非常适合以较小的代码占用量和网络带宽连接远程设备.MQTT 协议具有以下特点: 轻巧高效:MQTT 客户端非常小 ...
- 如何打造千万级Feed流系统?阿里数据库技术解读
2017年的双十一又一次刷新了记录,交易创建峰值32.5万笔/秒.支付峰值25.6万笔/秒.而这样的交易和支付等记录,都会形成实时订单Feed数据流,汇入数据运营平台的主动服务系统中去.数据运营平台的 ...
- 浅谈千万级高性能高并发网站架构
浅谈千万级PV/IP规模高性能高并发网站架构 高并发访问的核心原则其实就一句话"把所有的用户访问请求都尽量往前推". 如果把来访用户比作来犯的"敌人",我们一定 ...
- 千万级中电金信信贷平台再传捷报
近期,中电金信又传捷报!数千万中标某头部农信联社下一代信贷业务综合管理平台. 这次中标,标志着中电金信在商业银行信贷业务方向上实现了从量变到质变的成功突破,成为头部和主流商业银行信贷领域建设的核心中坚 ...
- 【课程学习】(中国大学MOOC)武汉理工大学高级人工智能原理与技术课后习题笔记(6-9章)
关于 拾年之璐 微信公众号:知行校园汇,点击查看,欢迎关注 其他平台(点击蓝字可访问): GitHub | Gitee | 哔哩哔哩 | 语雀 | 简书 | 微信小程序 | 知行达摩院 本文专栏:研究 ...
- 【课程学习】(中国大学MOOC)武汉理工大学高级人工智能原理与技术课后习题笔记(1-5章)
关于 拾年之璐 微信公众号:知行校园汇,点击查看,欢迎关注 其他平台(点击蓝字可访问): GitHub | Gitee | 哔哩哔哩 | 语雀 | 简书 | 微信小程序 | 知行达摩院 本文专栏:研究 ...
- bootstrap项目实例_精选开源SpringBoot项目:涵盖权限、搜索、秒杀、支付!值得学习...
头条发文以来,分享了一些科技资讯,有趣的视频剪辑,今天首次整理一些开源项目分享.既是对自己的学习督促,也是对有需要人的一种便利. 开源项目一: mall商城 star数:29.8k 项目地址:http ...
最新文章
- Key-Value数据库:Redis与Memcached之间如何选择?
- [python]目录及文件操作
- 两个ListBox中的项互相移动及上下移动
- [24]CSS3 弹性伸缩布局(上)
- 17秋 软件工程 团队第五次作业 Alpha Scrum3
- 寻找三角形(编程题)
- TCP和UDP报文头格式(转)
- ACdream	1728 SJY's First Task
- 三菱伺服驱动器示例_三菱伺服电机伺服驱动器
- 今天看到CSDN某博客提到的linux在线音乐播放器,移动的咪咕音乐不错,推荐一下
- 【Arduino】步进电机驱动程序Stepper_Motor_TB6600
- Win10删除需要trustedinstaller权限的文件的方法
- 工作两年前端经验分享
- 中国房地产总市值与GDP的比例
- oracle数据库exec用法,Sql中exec的用法
- 神奇的二进制转换和运算
- 《AutoCAD 2014中文版超级学习手册》——第2章 图层设置 2.1 设置图层
- 撤销 git commit操作
- c语言航标知识点,问题——阅读教学的航标
- 互联网教育已过时,教育科技才是未来的趋势
热门文章
- 今天给大家分享用scratch的画笔绘制彩色花瓣!
- 多多情报通:拼多多卖茶叶需要食品许可证吗?还需要什么证件?
- Java爬虫 --- 爬取王者荣耀英雄图片
- wxpython后台如何更新界面信息_wxpython后台线程更新界面控件方法
- 大数据应用案例,告诉你最真实的大数据故事
- [NOI2003] 文本编辑器
- 细说php作者高洛峰免费收徒
- 测开 - 自动化测试selenium(WebDriver API) - 细节狂魔
- 苹果软件更新在哪里_苹果再次为已停产的AirPort发布软件更新
- 批量识别图片中文字(python、百度开发者工具)