当前位置: 首页 > >

360开源项目汇总(一)

发布时间:

发表于21小时前|?2607次阅读| 来源CSDN|?0?条评论| 作者薛梁

奇虎360
开源项目
开源技术
基础架构
编程语言
缓存服务器


allowtransparency="true" frameborder="0" scrolling="no" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-04-10%2F2824452&type=3&count=&appkey=&title=%E6%A0%B9%E6%8D%AE360%E6%9C%80%E8%BF%91%E7%9A%84%E5%BC%80%E6%BA%90%E5%8A%A8%E5%90%91%EF%BC%8C%E6%88%91%E4%BB%AC%E6%95%B4%E7%90%86%E5%87%BA%E4%BA%86%E5%85%B6%E5%85%AC%E5%B8%83%E5%87%BA%E6%9D%A5%E7%9A%84%E4%B8%80%E4%BA%9B%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%EF%BC%8C%E6%88%96%E8%AE%B8%E6%9C%89%E4%BA%9B%E9%A1%B9%E7%9B%AE%E6%98%AF%E4%BD%A0%E4%B8%80%E7%9B%B4%E5%9C%A8%E4%BD%BF%E7%94%A8%E7%9A%84%EF%BC%8C%E4%BD%86%E6%98%AF%E4%BD%A0%E6%A0%B9%E6%9C%AC%E4%B8%8D%E7%9F%A5%E9%81%93%E8%BF%99%E6%98%AF360%E5%BC%80%E6%BA%90%E5%87%BA%E6%9D%A5%E7%9A%84%EF%BC%8C%E4%B8%80%E8%B5%B7%E6%9D%A5%E8%AE%A4%E8%AF%86%E4%B8%80%E4%B8%8B%E5%90%A7%E3%80%82%E6%88%91%E4%BB%AC%E4%B9%9F%E5%B8%8C%E6%9C%9B%E6%9C%89%E6%9B%B4%E5%A4%9A%E7%9A%84%E5%BC%80%E5%8F%91%E8%80%85%E5%8F%82%E4%B8%8E%E5%88%B0%E9%A1%B9%E7%9B%AE%E5%BC%80%E6%BA%90%E6%B5%AA%E6%BD%AE%E4%B8%AD%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1429064244682" width="22" height="16">
摘要:根据360最*的开源动向,我们整理出了其公布出来的一些开源项目,或许有些项目是你一直在使用的,但是你根本不知道这是360开源出来的,一起来认识一下吧。我们也希望有更多的开发者参与到项目开源浪潮中。



团队项目开源的话,需要走哪些流程呢?在开源技术使用方面有什么经验可以分享给读者么?您认为开源对于“改善业务开发效率,缩减资源成本”的效果有多大?可以用案例说明吗?360在免费杀毒软件方面的贡献很大,未来在开源方面有哪些导向??





2013年7月份的时候,奇虎360开源了线上数据库中间件 Atlas,那么紧随其后又有哪些项目开源了呢?通过360基础架构团队负责人&360技术委员会委员王超的帮助下,我们整理出了360开源项目的前几个。


1. QConf


QConf 是一个分布式配置管理工具。 用来替代传统的配置文件,使得配置信息和程序代码分离,同时配置变化能够实时同步到客户端,而且保证用户高效读取配置,这使的工程师从琐碎的配置修改、代码提交、配置上线流程中解放出来,极大地简化了配置管理工作。


特点



  • 一处修改,所有机器实时同步更新。
  • 高效读取配置。
  • 安装部署方便,使用简单。
  • 服务器宕机、网络中断、集群迁移等异常情况对用户透明。
  • 支持C/C++、shell、PHP、Python 等语言。


    2. phptrace


    phptrace 是一个追踪(trace)PHP 执行流程的工具,你如果用过 strace 的话,则可能很容易想到phptrace 到底实现了什么样的功能。其实,phptrace 是类 strace 的一个实现,不同的是,strace用来追踪系统调用,而 phptrace 用来追踪 PHP 函数调用。无论是开发测试还是线上追查问题,代码执行流程往往会提供许多有用的信息,大大提高了开发人员的工作效率;对于系统函数,我们可以用strace 来观察其调用信息,然而 PHP 却长久以来缺少这么一个行之有效的工具,因此我们开发了phptrace。


    phptrace 目前包括两部分功能:打印当前 PHP 调用栈,实时追踪PHP调用。


    3. ssdb


    ssdb 是一个 C/C++ 语言开发的高性能 NoSQL 数据库,支持 zset(sorted set),map(hash),kv,list 等数据结构,支持 PHP/Java/Python/C/C++ 等客户端。用来替代或者与 Redis 配合存储十亿级别列表的数据。ssdb?在奇虎360 被大量使用,非常稳定。而且,ssdb?支持在线备份功能,可以通过网络备份数据,不再担心数据丢失。ssdb?还支持主从同步复制,可用于负载均衡。同时也被国内外业界的众多互联网企业所使用。




    更重要的是,ssdb?支持 Redis 中的 zset 数据类型,以及 hashmap 类型,所以不是一个简单的 KV 存储服务器,实际应用中,KV 存储的局限性非常大。


    4. thinkjs


    thinkjs 是一款高效、简单易用的 Node.js MVC 框架。该框架借鉴了很多?ThinkPHP?的特性,同时结合 Node.js 的特性,使用了?ES6 Promise,让异步编程更加简单、方便。



    特性
    • 自动启动服务
    • 支持 Http 访问、命令行调用、WebSocket、Restful
    • CBD 架构,MVC 模式
    • 基于 Promise,异步编程更加简单
    • 封装了 DB,Cache,Session 等常用功能


      5. Atlas


      Atlas 是由奇虎360 Web *台部基础架构团队开发维护的一个基于 MySQL 协议的数据中间层项目。它在 MySQL 官方推出的 MySQL-Proxy 0.8.2 版本的基础上,修改了大量 bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多 MySQL 业务已经接入了 Atlas *台,每天承载的读写请求数达几十亿条。


      特点:



      • 读写分离
      • 从库负载均衡
      • IP 过滤
      • SQL 语句黑白名单
      • 自动分表


        6. Mario


        Mario是一个让编写从同步到异步的类库,它的线程安全较大,易于使用。Mario 的最基本的想法就是为了减少人员的安排,降低成本和时间投入。但是有了这个类库,操作人员就可以抽出精力做别的事情了。所以 Mario 类库能够很轻易的解决你的问题,你只需要你自己的消息功能。


        两个引擎类型:



        • memory,这种类型就是将数据缓冲存储器留在内存里。
        • file,这种类型就是能够在本地日志路径里创建做出一个?write2file。


          7. elog


          简介:elog 是一个用 Erlang 编程语言写出来的日志库,使用起来很简单很快速。


          特点:



          • 具有六个不同的日志级别(跟踪、调试信息、警告、错误、致命的)
          • 支持可配置的日志等级

            8. ngx_http_subrange_module


            ngx_http_subrange_module 模块是一个过滤器,它修改网站响应内容中的字符串,比如你想把响应内容中的‘ttlsa’全部替换成‘运维生存时间’,这个模块已经内置在 Nginx 中,但是默认未安装,需要安装需要加上配置参数:?with-http_sub_module


            这个 Nginx 替换响应内容的模块安装使用尤为简单,应用的地方相对较少,在 Nginx 中也是一个可选模块。假如站点出现什么敏感字,想修改很耗时间,不妨试试这个模块。或者想临时在站点中加上一个通用 JavaScript 或者 CSS 之类的文件,也可以使用这个模块。


            9. kmemcache


            kmemcache 是一个对象缓存服务器,属于分布式 Linux 内核内存对象缓存服务器,实现基于 memcached v1.4.15,基本兼容 memcached 的所有操作。经初步测试,内存数据操作比 memcached 快1倍,网络并发量比 memcached 的也大许多,目前处于 alpha 版本。


            特点:



            • 优点:由于在内核的 socket 层实现,所有处理网络事件性能比 epoll 机制快,另外无需内存由用户空间到内核空间的拷贝。
            • 缺点:不建议在 32bits 下使用。


              以上只是目前统计出来的360的部分开源项目,欲看更多的内容,等待第二期的发布。



友情链接: