TV应用技术总结.docx

上传人:b****3 文档编号:27228741 上传时间:2023-06-28 格式:DOCX 页数:13 大小:546.41KB
下载 相关 举报
TV应用技术总结.docx_第1页
第1页 / 共13页
TV应用技术总结.docx_第2页
第2页 / 共13页
TV应用技术总结.docx_第3页
第3页 / 共13页
TV应用技术总结.docx_第4页
第4页 / 共13页
TV应用技术总结.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

TV应用技术总结.docx

《TV应用技术总结.docx》由会员分享,可在线阅读,更多相关《TV应用技术总结.docx(13页珍藏版)》请在冰豆网上搜索。

TV应用技术总结.docx

TV应用技术总结

易腾设计文档

TV分析应用技术总结

编写

高建华梁雪芹王凯

时间

2016年`1月12日

审核

时间

审批

时间

文档管理

页码

共页

修订次数

共次

版本

V1.2

编号

北京易腾时代科技有限公司版权所有

文档中的全部内容属北京易腾时代科技有限公司版权所有,

未经允许,不可全部或部分发表、复制、使用于任何目的。

 

文档控制

文档修订摘要

日期

修订号

描述

著者

审阅者

2016年1月11日

1.0

Wesocket

梁雪芹

2016年1月11日

1.1

TV技术

王凯

2016年1月12日

1.2

RDS读写分离mongodb

高建华

1.前言

1.1引言

技术总结,交流

2.今日关注--推送

2.1Websocket

WebSocket是HTML5一种新的协议。

在浏览器中通过http仅能实现单向的通信,comet可以一定程度上模拟双向通信,但效率较低,并需要服务器有较好的支持。

而WebSocket能够实现浏览器与服务器全双工通信。

现很多网站为了实现即时通讯,所用的技术都是轮询(polling),但是轮训有很多缺点(如:

 浏览器需要不断的向服务器发出请求,而HTTPrequest的header是非常长的,里面包含的有用数据可能只是一个很小的值,这样会占用很多的带宽)。

在WebSocketAPI,浏览器和服务器只需要做一个握手(在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程称为“握手” )的动作,然后,浏览器和服务器之间就形成了一条快速通道。

两者之间就直接可以数据互相传送。

2.2Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

我们在此用了Redis的Pub/Sub:

"发布/订阅"功能。

一个Redisclient发布消息,其他多个redisclient订阅消息,发布的消息“即发即失”,redis不会持久保存发布的消息;

消息订阅者也将只能得到订阅之后的消息,通道中此前的消息将无从获得。

消息发布者,即publish客户端,无需独占链接,你可以在publish消息的同时,使用同一个redis-client链接进行其他操作;

消息订阅者,即subscribe客户端,需要独占链接,即进行subscribe期间,redis-client无法穿插其他操作,此时client以阻塞的方式等待“publish端”的消息。

2.3openrestylua-resty-websocket

OpenResty(也称为ngx_openresty)是一个全功能的Web应用服务器。

它打包了标准的Nginx核心,很多的常用的第三方模块,以及它们的大多数依赖项。

通过众多进行良好设计的Nginx模块,OpenResty有效地把Nginx服务器转变为一个强大的Web应用服务器,基于它我们可以使用Lua编程语言对Nginx核心以及现有的各种NginxC模块进行脚本编程,构建出可以处理一万以上并发请求的极端高性能的Web应用。

lua-resty-websocket是OpenResty的官方组件,它实现了基于ngx_luaWebSocket服务器和客户端库模块,确保链接的非阻塞。

2.4实现思路

选取openresty作为服务,利用其官方组件lua-resty-websocket建立websocket连接,根据前台传递的频道,订阅redis的频道.

其他服务可通过接口,向redis的频道发布消息,这样前台通过websocke连接,随时得到,redis订阅频道中发布的消息

2.5问题

Redis频道多余10000时,考虑集群

Openrestyredis连接断开处理

Websocket与openresty的连接断开的处理

2.61.6扩展

利用消息队列,

2.7参考:

实现参考:

图例:

参考:

官方组件说明:

3.TV应用开发

3.1开发平台与技术

用以往的angularjs以及ionic,bootstrap框架开发webapp即可适用于TV,兼容性经初步测试并无太大问题。

3.2TV与手机的差别

TV相比于手机的差别在于TV主用遥控器进行操作(也可以用外接键盘,鼠标)因此手机上一些操作顺手的部分在TV上也许并不能得到较好的体验。

TV界面设计要简洁,布局要工整,尽量避免输入操作。

3.3焦点处理

TV不支持触屏,一切考虑用“上下左右”键和“OK”键来完成。

事件要在焦点的基础上才能触发,因此“上下左右”键和“OK”键也依赖于焦点。

需要解决如何通过焦点以及CSS来灵活的配合遥控器按键从而给予用户最好的体验。

3.4其他

其他在TV的未知领域里也许还存在一些其他问题只是未曾发现,需要进一步探索

4.RDS读写分离

4.1RDS只读实例

功能特点:

l一个主实例(限MySQL5.6)最多可以创建5个只读实例;

l只读实例的规格大小可以与主实例不一致,可以更方便的弹性升降级;

l根据业务压力,在需要时可以随时将实例规格升级,并在业务低峰降级(没有时间限制);

l支持按小时计费;

l只读实例不需要维护帐号与数据库,全部通过主实例同步;

l独立的白名单配置;

l系统性能监控:

RDS提供近20个系统性能的监控视图,如磁盘容量、IOPS、连接数、CPU利用率、网络流量等,用户可以轻松查看实例的负载;

需要注意的:

∙和其它云产品一样,要使用RDS按量付费实例,您必须先通过实名认证,且账户至少有100元现金余额。

∙按量付费即按小时付费,计费的颗粒度为小时(不足一小时按一个小时收费)。

∙按量付费RDS实例允许随时升级配置(内存或存储空间),也允许随时降级配置(内存或存储空间),但降级存储空间的时候,降级的存储空间必须大于等于目前RDS磁盘已用空间的1.1倍,防止磁盘空间降级后,导致实例触发锁定(已用空间已满导致的实例锁定,RDS将只可以读取数据,不能够写数据)。

∙系统每个小时将会对上一个小时产生的费用扣费,如果账户欠费,RDS实例将被锁定(实例只可以连接,不可读不可写),7天后如果还未续费实例将会被释放(数据永久无法恢复)。

4.2读写分离

*在应用侧配置判断和分配读写请求。

*下面是基于MySQLConnector/J中com.mysql.jdbc.ReplicationDriver驱动的应用侧配置读写分离样例:

具体请参考:

 

4.3DRDS—公测中

分布式关系型数据库服务DRDS

分布式关系型数据库服务(DistributeRelationalDatabaseService,简称DRDS)是一种水平拆分、可平滑扩缩容、读写分离的在线分布式数据库服务。

前身为淘宝TDDL,是近千个应用首选组件,已稳定服务了七年以上。

如同单MySQL数据库使用

兼容MySQL交互协议

兼容90%以上的MySQLSQL

4.4其他读写分离方案

其他应用侧实现读写分离的方式和配置(比如通过MySQLProxy、Amoeba、Cobar或DBWare)请参考对应实现的技术文档

Atlas参考黄总文档

4.5其他RDS使用场景

4.6参考:

RDS只读实例介绍

RDS读写分离

RDS只读增加释放操作

DRDS控制台操作

DRDS读写分离

5.Mongodb

5.1特点

它的特点是高性能、易部署、易使用,存储数据非常方便。

主要功能特性有:

∙面向集合存储,易存储对象类型的数据。

∙模式自由。

∙支持动态查询。

∙支持完全索引,包含内部对象。

∙支持查询。

∙支持复制和故障恢复。

∙使用高效的二进制数据存储,包括大型对象(如视频等)。

∙自动处理碎片,以支持云计算层次的扩展性

∙支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。

∙文件存储格式为BSON(一种JSON的扩展)

∙可通过网络访问

所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。

每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。

集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。

模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。

如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。

存储在集合中的文档,被存储为键-值对的形式。

键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。

我们称这种存储形式为BSON(BinarySerializeddOcumentFormat)。

3.0之后提升

MongoDB3.0在性能和伸缩性方面都有非常巨大的提升,通过在存储层的大幅改进实现。

内建WiredTiger存储引擎,这是一项难以置信的技术实现,提供无门闩、非堵塞算法来利用先进的硬件平台(如大容量芯片缓存和线程化架构)来提升性能。

通过WiredTiger,MongoDB3.0实现了文档级别的并发控制,因此大幅提升了大并发下的写负载。

透明的磁盘压缩技术减少对存储的容量要求达80%。

同时 MongoDB3.0还提供了企业OpsManager管理工具,用来管理大规模的MongoDB架构。

5.2Why

∙模式自由。

∙支持动态查询。

∙支持多种语言

∙Map-reduce

∙社区成熟

∙更接近大数据处理

5.3使用位置

图示:

5.4问题

1.自己运维,安装部署,

2.多表处理缓慢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1