首页 文章 精选 留言 我的

精选列表

搜索[基础搭建],共10000篇文章
优秀的个人博客,低调大师

MobileNet教程(2):用TensorFlow搭建安卓手机上的图像分类App

本文来自AI新媒体量子位(QbitAI) 上周末,量子位翻译了一份MobileNet教程,其中讲述了怎样在一个新的数据集上重新训练MobileNet,那篇文章的成果,是一个分类器,能在电脑上以每秒钟400张的速度,识别图片是否为道路。 MobileNet是为移动端量身打造的,因此这次我们准备把之前做的辨别道路的模型应用到一个Android App中,看看它在移动设备上效果如何。 目标和计划 首先,让我们明确目标和计划,我们希望做到: 在很小的特定数据上重新训练MobileNet; 模型在hold out测试集(即模型训练前为测试留出的样本)上达到95%的准确率; 程序运行时对300美元以下价位手机CPU的占用要小于5%。 为了达到这些目标,我们的计划是: 生成一个新的训练数据集; 训练多个MobileNet结构,从而寻找所能够达到准确率目标(95%)

优秀的个人博客,低调大师

阿里云Redis读写分离典型场景:如何轻松搭建电商秒杀系统

阿里云数据库全新功能Redis读写分离,全维度技术解析 https://yq.aliyun.com/articles/277325 文末有彩蛋,请务必记得看完整哦 背景 秒杀活动是绝大部分电商选择的低价促销,推广品牌的方式。不仅可以给平台带来用户量,还可以提高平台知名度。一个好的秒杀系统,可以提高平台系统的稳定性和公平性,获得更好的用户体验,提升平台的口碑,从而提升秒杀活动的最大价值。本次主要讨论阿里云云数据库Redis缓存设计高并发的秒杀系统。 秒杀的特征 秒杀活动对稀缺或者特价的商品进行定时,定量售卖,吸引成大量的消费者进行抢购,但又只有少部分消费者可以下单成功。因此,秒杀活动将在较短时间内产生比平时大数十倍,上百倍的页面访问流量和下单请求流量。 秒杀活动可以分为3个阶段: 秒杀前:用户不断刷新商品详情页,页面请求达到瞬时峰值。 秒杀开始:用户点击秒杀按钮,下单请求达到瞬时峰值。 秒杀后:一部分成功下单的用户不断刷新订单或者产生退单操作,大部分用户继续刷新商品详情页等待退单机会。 消费者提交订单,一般做法是利用数据库的行级锁。只有抢到锁的请求可以进行库存查询和下单操作。但是在高并发的情况下,数据库无法承担如此大的请求,往往会使整个服务blocked,在消费者看来就是服务器宕机。 秒杀系统 系统架构图 秒杀系统的流量虽然很高,但是实际有效流量是十分有限的。利用系统的层次结构,在每个阶段提前校验,拦截无效流量,可以减少大量无效的流量涌入数据库。 利用浏览器缓存和CDN抗压静态页面流量 秒杀前,用户不断刷新商品详情页,造成大量的页面请求。所以,我们需要把秒杀商品详情页与普通的商品详情页分开。对于秒杀商品详情页尽量将能静态化的元素尽量静态化处理,除了秒杀按钮需要服务端进行动态判断,其他的静态数据可以缓存在浏览器和CDN上。这样,秒杀前刷新页面导致的流量进入服务段的流量只有很小的一部分 利用阿里云读写分离Redis缓存拦截流量 CDN是第一级流量拦截,第二级流量拦截我们使用支持读写分离的阿里云Redis。在这一阶段我们主要读取数据,读写分离Redis能支持高大60万以上qps的,完全可以支持需求。 首先通过数据控制模块,提前将秒杀商品的缓存到阿里云读写分离Redis,并设置秒杀开始标记: "goodsId_count": 100 //总数 "goodsId_start": 0 //开始标记 "goodsId_access": 0 //接受下单数 秒杀开始前,服务集群读取goodsId_Start为0,直接返回未开始。数据控制模块将goodsId_start改为1,标志秒杀开始。服务集群缓存开始标记位并开始接受请求,并记录到redis中goodsId_access,商品剩余数量为(goodsId_count - goodsId_access)。当接受下单数达到goodsId_count后,继续拦截所有请求,商品剩余数量为0可以看出,最后成功参与下单的请求只有少部分可以被接受。在高并发的情况下,允许稍微多的流量进入。因此可以控制接受下单数的比例。 利用阿里云主从版Redis缓存加速库存扣量 成功参与下单,进入下层服务,开始进行订单信息校验,库存扣量。为了避免直接访问数据库,我们使用阿里云主从版Redis来进行库存扣量,阿里云主从版Redis提供10万级别的QPS。我们使用Redis来优化库存查询,提前拦截秒杀失败的请求,将大大提高系统的整体吞吐量。我们也是通过数据控制模块提前将库存存入Redis: //我们将每个秒杀商品在redis中用一个hash结构表示 "goodsId" : { "Total": 100 "Booked": 100 } 扣量时,服务器通过请求Redis获取下单资格,我们通过lua脚本实现,由于Redis时单线程模型,lua可以保证多个命令的原子性: lua脚本: local n = tonumber(ARGV[1]) if not n or n == 0 then return 0 end local vals = redis.call("HMGET", KEYS[1], "Total", "Booked"); local total = tonumber(vals[1]) local blocked = tonumber(vals[2]) if not total or not blocked then return 0 end if blocked + n <= total then redis.call("HINCRBY", KEYS[1], "Booked", n) return n; end return 0 先使用SCRIPT LOAD将lua脚本提前缓存在Redis,然后调用EVALSHA调用脚本,比直接调用EVAL节省网络带宽: redis 127.0.0.1:6379>SCRIPT LOAD "lua code" "438dd755f3fe0d32771753eb57f075b18fed7716" redis 127.0.0.1:6379>EVAL 438dd755f3fe0d32771753eb57f075b18fed7716 1 goodsId 1 秒杀服务通过判断Redis是否返回抢购个数n,即可知道此次请求是否扣量成功。 使用阿里云主从版Redis实现简单的消息队列异步下单入库 扣量完成后,需要进行订单入库。如果商品数量较少的时候,直接操作数据库即可。如果秒杀的商品是1万,甚至10万级别,那数据库锁冲突将带来很大的性能瓶颈。因此,利用消息队列组件,当秒杀服务将订单信息写入消息队列后,即可认为下单完成,避免直接操作数据库。 消息队列组件依然可以使用Redis实现,在R2中用list数据结构表示: orderList { [0] = {订单内容} [1] = {订单内容} [2] = {订单内容} ... } 将订单内容写入Redis: LPUSH orderList {订单内容} 异步下单模块从Redis中顺序获取订单信息,并将订单写入数据库: BRPOP orderList 0 我们通过使用Redis作为消息队列,异步处理订单入库,有效的提高了用户的下单完成速度。 数据控制模块,管理秒杀数据同步 最开始,我们利用阿里云读写分离Redis进行流量限制,只让部分流量进入下单。对于下单检验失败和退单等情况,我们需要让更多的流量进来。因此,数据控制模块需要定时将数据库中的数据进行一定的计算,同步到主从版Redis,同时再同步到读写分离的Redis,让更多的流量进来。 使用阿里云Redis的优势 阿里云主从版Redis提供10万的QPS,读写分离版本Redis提供60万QPS最大力度支持秒杀系统的高并发需求。 资深专家团队深度开发维护Redis源码,经千万服务考验,超高稳定性和安全性。 双机热备架构,故障秒级自动迁移,全力保障订单数据。 一键创建,一键扩容,全方位智能监控运维平台。请求量,活跃度一眼就能看清。 专业服务团队,实时监控可用性,7 x 24小时在线咨询。 广告 云数据库Redis版(ApsaraDB for Redis)是一种稳定可靠、性能卓越、可弹性伸缩的数据库服务。基于飞天分布式系统和全SSD盘高性能存储,支持主备版和集群版两套高可用架构。提供了全套的容灾切换、故障迁移、在线扩容、性能优化的数据库解决方案。欢迎各位购买使用:云数据库 Redis 版 这里是彩蛋 感谢各位小伙伴的耐心阅读,现在参加Redis读写分离微博转发活动还有机会获得2017年 FIFA世俱杯门票以及阿里云T恤点击云栖社区官方微博活动链接:https://weibo.com/1939498534/FydFv4EB1?ref=home&type=comment#_rnd1512444442357 ,12月6日抽取8名幸运用户2017年 FIFA世俱杯门票1张,12月12日抽20名幸运用户赠阿里云T恤1件。

优秀的个人博客,低调大师

linux与 windows环境的Subversion版本控制企业架构搭建之svn协议

1、前言 1.1、需求和目的 公司要求引入版本管理服务器对两大对象进行管理: 1)针对windows环境的开发人员的源代码做版本控制。 2)针对linux服务器的配置文件做版本控制。 本章将使用svn协议的方式完成文件的版本控制。 如果有linux系统建议参阅: http://cmdschool.blog.51cto.com/2420395/1710315 1.2、系统架构模式描述 1)linux的服务器端 服务器端通过ssh协议提供版本控制服务(port:tcp3690) 2)windows的客户端 windows以开发者版本控制客户端的角色出现 2、理论部分 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。 3、实践部分 3.1、主机信息 svnSer: ipaddress=10.168.0.176 hostname=svnSer windows Client: ipaddress=10.168.0.x hostname=will2 3.2、yum包的安装 In svnSer & Linux Client 1 yum-y install subversion 其他包安装: 1 yum-y install tree 3.3、linux服务端、客户端的配置 3.3.1、step1 In svnSer: 定义仓库文件夹: 1 2 3 svnadmincreate /var/local/svn ls /var/local/svn tree /var/local/svn 注意"revprops"节点(版本控制内容) 3.3.2、step2 In svnSer: 定义权限控制(非必须) 1 2 3 4 5 6 7 ll /var/local/svn groupadd-g5000svngroup chgrp -Rsvngroup /var/local/svn ll /var/local/svn/db/ chmod g+w-R /var/local/svn/db/ chmod o=-R /var/local/svn/db/ ll /var/local/svn/db/ 定义只有svngroup组对“/var/local/svn/db/”有写的权限,其他用户没有任何权限 3.3.3、step3 In svnSer 启动服务和默认开机启动 /etc/init.d/svnserve restart chkconfig svnserve on 3.3.4、step4 开启防火墙: vim编辑/etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT 重启防火墙: 1 /etc/init .d /iptables restart 3.3.5、step5 In svnSer: vim修改/var/local/svn/conf/svnserve.conf 1 2 3 4 5 6 7 [general] anon-access=none auth-access=write password-db= passwd authz-db=authz [sasl] 将anon-access修改为等于none 3.3.6、step6 In svnSer: 定义svn用户名和密码: vim修改/var/local/svn/conf/passwd 1 2 3 4 user1=passwd1 user2=passwd2 user3=passwd3 user4=passwd4 注:密码可以是任意字符(引号等特殊字符符也一样,都被识别为密码的字符) 3.3.7、step7 In svnSer: 定义svn的组、组成员和目录的组权限: vim修改/var/local/svn/conf/authz 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [aliases] [ groups ] gp1_rw=user1,user2 gp1_r=user3 gp2_rw=user4 gp2_r= [/] @gp1_rw=rw @gp1_r=r [ /dir2 ] @gp2_rw=rw @gp2_r=r [groups]下定义组、组成员 [/]表是定义跟目录的权限 [/dir2]表是定义跟目录下的子目录dir2的权限 @组名=rw表是组有读写权限 @组名=r表是组只有读的权限 3.3.8、step8 In svnSer: 启动服务: 1 /etc/init .d /svnserve restart 3.4、windows客户端的配置 In windows Client: 3.4.1、step1 下载并安装svn 1)下载并安装 下载地址: http://tortoisesvn.net/downloads.html 由于windowsn的安装都是无师自通,本教程省略。 3.4.2、step2 检出记录 如上图所示: 文件夹单击[SVN Checout] 填入检出路径:"svn://user1@10.168.0.176/var/local/svn/" 以上内容意义: 协议:svn:// 用户名:user1 路径:10.168.0.176/var/local/svn/ 如上图所示: 文件检出中…… 本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1715856,如需转载请自行联系原作者

优秀的个人博客,低调大师

Linux的企业-分布式文件系统mfs(moosefs)搭建与配置

一、MFS 特性: 1. Free(GPL) 2. 通用文件系统,不需要修改上层应用就可以使用 3. 可以在线扩容,体系架构可伸缩性极强。 4. 部署简单。 5. 高可用,可设置任意的文件冗余程度(提供比 raid1+0 更高的冗余级别,而绝对不会影响读或写的性能,只会加速) 6. 可回收在指定时间内删除的文件( “ 回收站 ” 提供的是系统级别的服务,不怕误操作了,提供类似 oralce 的闪回等高级 dbms 的即时回滚特性) 7. 提供 netapp,emc,ibm 等商业存储的 snapshot 特性。(可以对整个文件甚至在正在写入的文件创建文件的快照) 8. google filesystem 的一个 c 实现。 9. 提供 web gui 监控接口。 10. 提高随机读或写的效率。 11. 提高海量小文件的读写效率。可能的瓶颈: 1. master 本身的性能瓶颈。mfs 系统 master 存在单点故障如何解决? moosefs+drbd+heartbeat来保证 master 单点问题?不过在使用过程中不可能完全不关机和间歇性的网络中断! 2. 体系架构存储文件总数的可遇见的上限。(mfs 把文件系统的结构缓存到 master 的内存中,文件越多,master 的内存消耗越大,8g 对应 2500w 的文件数,2 亿文件就得 64GB 内存 )。 master 服务器 CPU 负载取决于操作的次数,内存的使用取决于文件和文件夹的个数。 二、MFS 文件系统结构:包含 4 种角色: 管理服务器 managing server (master) 元数据日志服务器 Metalogger server(Metalogger) 数据存储服务器 data servers (chunkservers) 客户机挂载使用 client computers 各种角色作用: 1. 管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复,多节点拷 贝。 2. 元数据日志服务器: 负责备份 master 服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在 master server 出问题的时候接替其进行工作。 3. 数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。 4. 客户端:通过 fuse 内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文件系统和本地 unix 文件系统使用一样的效果。 原始的读/写速度很明显是主要取决于所使用的硬盘的性能、网络的容量和拓扑结构的,使用的硬 盘和网络的吞吐量越好,整个系统的性能也就会越好。 三.mfs的安装配置 1.配置环境 redhat6.5 servre1:master 172.25.50.1 mfsmaster server2:chunk 172.25.50.2 server2:chunk 172.25.50.3 真机client:172.25.50.250 2.将mfs源码包变为rpm包安装 安装rpm-build软件 创建rpm包时需要的包依赖 3.在server1上安装mfsmaster 4.使用mfs分布式文件系统需要做好解析 master端 设置为mfsmaster 5.mfsmaster端无需配置,直接启动 master端三个端口正常启动,cgi web图形端口已经打开 6.在客户端做好解析,网页访问 四.server2和server3配置chunk 1.server2安装chunk 安装包依赖 2.server2配置解析 3.配置共享点chunk1 权限限制,在启动chunk server前,需确保用户mfs有权限读写将要被挂载的分区 4.启动chunk 查看数据 4.server3上的chunk配置和server2一样,共享点为chunk2 五.客户端连接 1.安装mfs 客户端软件,配置解析 2.创建挂载点并挂载mfsmount 3.在/mnt/mfs创建两个目录,并设置其文件存储份数 将目录dir1的储存份数设置为1 4.测试 拷贝passwd文件,查看信息: dir1一份 在server2上 dir2二份在server2和server3上 浏览器查看server2和server3 注:关闭一个chunkserver2(172.25.50.2)后,dir1无法查看,因为只存了一份在sevrer2上,但dir2没有影响,因为存了2份,chunkserver2重新启动后,恢复正常。 5.恢复垃圾箱文件: 误删: [root@foundtion50 mfs]# rm -fr /mnt/mfs/dir2/passwd [root@foundtion50mfs]# mfsgettrashtime dir2#查看垃圾箱中文件的保留时间 dir2: 86400##86400s=1day [root@foundtion50mfs]# mkdir /mnt/mfsdeta#创建目录 [root@foundtion50~]# ll -d /mnt/mfsdeta/ drwxr-xr-x 2 root root 4096 Sep 19 18:40 /mnt/mfsdeta/ [root@foundtion50~]# mfsmount -m /mnt/mfsdeta/#挂载 mfsmaster accepted connection with parameters: read-write,restricted_ip [root@foundtion50~]# cd /mnt/mfsdeta/ [root@foundtion50mfsdeta]# ls sustained trash [root@foundtion50mfsdeta]# cd trash/ [root@foundtion50trash]# find -type f ./004/00000004|dir2|passwd [root@foundtion50trash]# mv ./004/00000004\|dir2\|fstab undel/#恢复误删文件 [root@foundtion50trash]# ls /mnt/mfs/dir2/ passwd 本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1975415,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android开发环境搭建--完美解决eclipse安装Genymotion插件找不到图标问题

使用eclipse安装Genymotion插件的时候官方网站会提供一个Jar包,但是复制到D:\Green\eclipse\dropins和D:\Green\eclipse\features发现无效。重启eclipse也不生效,有的教程说多次重启几次就能出现,真是可笑! 废话不多说,上图:(dropins目录结构) 小编用的是Windows10的内置Bash Shell(Ubuntu)。 折腾前请先下载附件哦! 附件:http://down.51cto.com/data/2367043 本文转自 棋帅小七 51CTO博客,原文链接:http://blog.51cto.com/xvjunjie/1972219

优秀的个人博客,低调大师

MariaDB 10的复制 集群 高可用搭建 大表拆分【持续更新中】

视频地址 http://edu.51cto.com/course/course_id-1691.html MariaDB 10培训课程 第一部分 复制 1.基于GTID方式复制配置及注意事项 2.基于表的并行复制 3.多源复制(MariaDB 10支持多主一从) 4.从库延迟如何找到那条执行慢的SQL 5.复制异常处理1062,1032错误处理技巧 6.检查主从是否一致 第二部分 高可用 1.什么是高可用 2.导致宕机的原因 3.如何实现高可用 4.高可用的几种形式 a)主库基于mmm/mha构建的高可用 b)基于Mariadb-Cluster集群的高可用 c)从库基于haproxy负载均衡方案介绍 第三部分 大表拆分 MariaDB Spider中间件解决方案 有问题请联系:chunyang_he@139.com 本文转自hcymysql51CTO博客,原文链接:http://blog.51cto.com/hcymysql/1437014 ,如需转载请自行联系原作者

优秀的个人博客,低调大师

排错经历:openstack搭建dashboard进入输入帐号密码登录后报错

查看error日志: cat /var/log/httpd/error.log [Thu Oct 13 13:37:00 2016] [error] raise exceptions.ConnectionFailed(reason=_("Maximum attempts reached")) [Thu Oct 13 13:37:00 2016] [error] ConnectionFailed: Connection to neutron failed: Maximum attempts reached neutron日志显示neutron的用户密码: cat /var/log/neutron/server.log perationalError: (OperationalError) (1045, "Access denied for user 'neutron'@'controller' (using password: YES)") None None 进入mysql查看果然: [root@controller images]# mysql -uroot -p123456 mysql> SELECT user,host,password FROM mysql.user; +----------+------------+-------------------------------------------+ | user | host | password | +----------+------------+-------------------------------------------+ | root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | controller | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | keystone | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | keystone | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | glance | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | glance | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | nova | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | nova | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | neutron | localhost | | | neutron | % | | | cinder | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | cinder | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | heat | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | heat | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | sahara | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | sahara | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +----------+------------+-------------------------------------------+ 17 rows in set (0.06 sec) 解决:(重新建立用户,并授权) mysql> drop database neutron; mysql> create database neutron; mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456'; mysql> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456'; mysql> SELECT user,host,password FROM mysql.user; +----------+------------+-------------------------------------------+ | user | host | password | +----------+------------+-------------------------------------------+ | root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | controller | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | keystone | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | keystone | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | glance | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | glance | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | nova | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | nova | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | neutron | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | neutron | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | cinder | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | cinder | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | heat | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | heat | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | sahara | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | sahara | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +----------+------------+-------------------------------------------+ 重启mysqld、memcached、httpd、neutron-server服务 成功解决,登录正常进入dashboard界面。 本文转自谢育政 51CTO博客,原文链接:http://blog.51cto.com/kurolz/1861869,如需转载请自行联系原作者

优秀的个人博客,低调大师

如何搭建直播平台?低延时连麦+人工智能让互动升级

2016年是直播平台爆发增长的一年,直播领域不断有新应用进入,其他垂直领域也纷纷加入直播功能。为了快速切入行业,掌握市场先机,绝大部分公司都选择了用视频云厂商的解决方案来促成业务能力的快速实现,如同快手、虎牙、熊猫TV、陌陌、全民TV等热门直播平台均采用了阿里云的视频直播解决方案。 阿里云视频直播服务(ApsaraVideo Live),提供端到端的一站式视频直播解决方案。通过集成阿里云直播SDK,用户可以轻松实现移动端、PC端的直播流推送。直播服务器接收到直播流,对流进行处理(转封装、转码等),并通过CDN进行分发。支持10万+路流输出,1000万+观众同时在线。 同时,除了端的强大能力,阿里云视频直播服务在云端可以提供一站式的直播解决方案,包括实时转码、直播截图、直播录制、添加水印、时移观看等功能,并且提供直播IM,连麦等直播互动

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册