开源报告
2018年,360一共开源了6个项目,包括前端、大数据、移动端、机器学习、云计算多个领域。
开源项目地址:https://github.com/Qihoo360
SpriteJS
canvas动画 从未如此简单
1
项目简介
SpriteJS是一款由360奇舞团开源的跨终端canvas绘图库,可以基于canvas快速绘制结构化UI、动画和交互效果,并发布到任何拥有canvas环境的平台上(比如浏览器、小程序和node)。
2
SpriteJS 特点
• 基于canvas绘制的文档对象模型;
• 四种基本精灵类型:Sprite、Path、Label、Group
• 支持基础和高级的精灵属性,精灵盒模型、属性与CSS3具有高度一致性;
• 简便而强大的Transition、Animation API;
• 支持雪碧图和资源预加载;
• 可扩展的事件机制;
• 高性能的缓存策略;
• 对D3、Matter-js、Proton和其他第三方库友好;
• 跨平台,支持node-canvas、微信小程序;
3
开源地址
官网:http://spritejs.org/#/
Github:https://github.com/spritejs/spritejs
4
相关介绍
【官方速报】奇舞团重磅推出跨平台canvas绘图框架——spritejs
SpriteJS:重新定义Canvas API
KafkaBridge
让操作kafka更简单
1
项目简介
KafkaBridge 封装了对Kafka集群的读写操作,接口极少,简单易用,稳定可靠,支持c++/c、php、python、golang等多种语言,并特别针对php-fpm场景中作了长连接复用的优化,已在360公司内部广泛使用。
KafkaBridge 底层基于 librdkafka, 与之相比封装了大量的使用细节,简单易用,使用者无需了解过多的Kafka系统细节,只需调用极少量的接口,就可完成消息的生产和消费;
针对使用者比较关心的消息生产的可靠性,作了近一步的提升;
2
KafkaBridge 特点
• 支持多种语言:c++/c、php、python、golang, 且各语言接口完全统一;
• 接口少,简单易用;
• 针对高级用户,支持通过配置文件调整所有的librdkafka的配置;
• 在非按key写入数据的情况下,尽最大努力将消息成功写入;
• 支持同步和异步两种数据写入方式;
• 在消费时,除默认自动提交offset外,允许用户通过配置手动提交offset;
• 在php-fpm场景中,复用长连接生产消息,避免频繁创建断开连接的开销;
3
开源地址:https://github.com/Qihoo360/kafkabridge
4
相关介绍
【360开源】360开源又一力作——KafkaBridge:让操作kafka更简单!
ArgusAPM
性能检测 尽在ArgusAPM
1
项目简介
ArgusAPM是360手机卫士客户端团队继RePlugin之后开源的又一个重量级开源项目。ArgusAPM是360移动端产品使用的可视化性能监控平台,为移动端APP提供性能监控与管理,可以迅速发现和定位各类APP性能和使用问题,帮助APP不断的提升用户体验。
产品价值:
实时掌控应用性能
降低性能定位成本
有效提升用户体验
2
ArgusAPM 特点
• 非侵入式:无需修改原有工程结构,无侵入接入,接入成本低;
• 无性能损耗:ArgusAPM针对各个性能采集模块,优化了采集时机,在不影响原有性能的基础上进行性能的采集和分析;
• 监控全面:目前支持UI性能、网络性能、内存、进程、文件、卡顿、ANR等各个维度的性能数据分析,后续还会继续增加新的性能维度;
• Debug模式:独有的Debug模式,支持开发和测试阶段、实时采集性能数据,实时本地分析的能力,帮助开发和测试人员在上线前解决性能问题;
• 支持插件化方案:在初始化阶段进行设置,可支持插件接入,目前360手机卫士采用的就是在RePlugin插件中接入ArgusAPM,并且性能方面无影响;
• 支持多进程采集:针对多进程的情况,我们做了相应的数据采集及优化方案,使ArgusAPM即适合单进程APP也适合多进程APP;
• 节省用户流量:ArgusAPM使用wifi状态下上传性能数据,这样避免了频繁网络请求带来的耗电问题及用户流量的消耗;
3
开源地址:https://github.com/Qihoo360/ArgusAPM
4
相关介绍
【360开源】——ArgusAPM移动性能监控平台
Wayne
业务上云首选
1
项目简介
Wayne是由360搜索云平台团队开发的,一个通用的、基于Web的Kubernetes多集群一站式可视化管理平台。内置了丰富多样的功能,满足企业的通用需求,同时插件化的方式可以方便集成定制化功能。通过直观的页面操作便可完成Kubernetes中资源的创建、部署等操作。
采用微内核架构,通过插件化的方式将不同功能尽量的分离,更利于各种定制化功能的扩展。
在此基础上,融入了部门、项目的概念,通过RBAC的方式细化了资源控制的权限,适合建立企业内部的私有云平台。
2
Wayne 特点
• 可视化操作:提供直观、简便的方式操作Kubernetes集群,减小学习成本,快速上线业务;
• 多样的编辑模式:支持图形化编辑,也支持Json、Yaml两种高级定制化编辑模式;
• 微内核架构:采用可扩展的插件化方式开发,定制化选择特性功能,更方便的集成符合企业需求的新功能;
• 多集群管理:可以同时管理多个Kubernetes集群,更方便地管理多个集群;
• 丰富的权限管理:将资源抽象化为部门、项目级别,角色的权限可以更细化的控制,适用于多部门、多项目的统一集中管理;
• 多种登录模式:支持企业级LDAP登录、支持OAuth2登录,支持数据库登录多种模式;
• 完备的审计:所有操作都会有完整的审计功能,方便追踪操作历史;
• 开放平台:支持APIKey开放平台,用户可自主申请相关APIKey并管理自己的项目;
• 多层次监控:提供多级别的监控统计信息,实时关注集群的运行状态;
3
开源地址:https://github.com/Qihoo360/wayne
4
相关介绍
【360开源】Wayne:企业级可视化多集群Kubernetes一站式管理平台
XDML
超大规模数据与超高维特征
机器学习计算平台
1
项目简介
XDML是一款基于参数服务器(Parameter Server),采用专门缓存机制的分布式机器学习平台。它在360内部海量规模数据上进行了测试和调优,在大规模数据量和超高维特征的机器学习任务上,具有良好的稳定性,扩展性和兼容性。
2
XDML 特点
• 提供特征分析与变换等功能模块;
• 实现常用的大规模数据量场景下的机器学习算法;
• 充分利用现有的成熟技术,保证整个框架的高效稳定;
• 完全兼容hadoop生态,和现有的大数据工具实现无缝对接,提升处理海量数据的能力;
• 在系统架构和算法层面实现深度的工程优化,在不损失精度的前提下,大幅提高性能。
3
开源地址:https://github.com/Qihoo360/XLearning-XDML
4
相关介绍
【360开源】XDML——超大规模数据与超高维特征机器学习计算平台
Quicksql
更简单,更安全,更快速的
跨数据源统一SQL查询引擎
项目简介
Quicksql旨在成为简单,更安全,更快速的跨数据源统一SQL查询引擎。
它帮助用户减少在使用不同数据引擎时需要的学习成本和切换成本,忽略不同数据引擎底层存储和数据查询方式的差异,使用户仅需要关注查询的业务逻辑和数据本身。对于组织而言,这样的设计可以大幅度提高整体数据分析的效率,降低新员工的培训成本,更快速更高效的帮助组织使用数据促进发展。
2
Quicksql 特点
• 统一SQL语义:提供统一SQL语言,方便用户学习使用;
• 混合SQL的支持:在日常工作中,我们发现有很多业务线同事面临需要将Hive的数据连接MySQL的操作等需要,这在传统的SQL查询中是无法实现的。但是Quicksql做到了。用户可以完全忽略掉不同数据引擎的底层存储,对两种或两种以上的引擎进行连接(JOIN)、合并(UNION)等操作,更快速的达到数据分析的结果;
• 易扩展:Quicksql拥有数据底层存储无关,数据计算引擎无关的特性。也就是说,它可以很方便地扩展多种数据源(Druid、Mongo等),扩展多种计算引擎(Spark、Flink等)。在0.5-release版中,Quicksql重点实现了Hive、MySQL、Elasticsearch的混查,引擎支持JDBC和Spark,后面我们会添加常用的数据存储引擎和计算引擎,也欢迎大家来和我们一起完善构建统一SQL的世界;
3
开源地址:https://github.com/Qihoo360/Quicksql
4
相关介绍
【360开源】Quicksql——更简单,更安全,更快速的跨数据源统一SQL查询引擎
- 2019 -
开放共赢 源广流长
2019,360 会继续深耕技术,赋能行业,为开源社区贡献力量
也欢迎更多的小伙伴一起参与到开发过程中~
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31555491/viewspace-2295462/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31555491/viewspace-2295462/