Giter Site home page Giter Site logo

youzan / zanphp Goto Github PK

View Code? Open in Web Editor NEW
1.4K 128.0 240.0 2.71 MB

PHP开发面向C10K+的高并发SOA服务 和RPC服务首选框架

Home Page: http://zanphp.io/

License: MIT License

PHP 98.14% HTML 1.39% Makefile 0.08% Shell 0.38%
php zanphp rpc soa asyncio yield high-performance

zanphp's Introduction

有赞logo

zanphp logo

基于 PHP 协程的网络服务框架,提供最简单的方式开发面向 C10K+ 的高并发SOA服务和RPC服务。

每天为2,000+个服务提供300,000,000+次访问量支持,广泛应用于有赞各项业务。

License Build Status

核心特性

  1. 基于 yield 实现了独立堆栈的协程
  2. 类似于 Golang 的并发编程模型实现
  3. 基于 zan 提供异步非阻塞I/O服务
  4. 连接池支持(内置 MySQL、Redis、syslog 等多种组件)
  5. 类似 Golang 的 defer 机制解决由于异常导致的资源未释放、锁未释放的问题
  6. 可继承的View布局及组件化支持,方便完成 bigPipe/bigRender/首屏加载优化等不同的渲染方式
  7. 基于模型驱动的 SQLMap,实现了 SQL 的快速定位及方便的 sharding、cache 支持
  8. 提供类似于 Laravel 的 middleware(Filters & Terminators) 机制
  9. Di及单元测试的良好支持
  10. 完整的RPC远程服务调用方案

框架定位

ZanPHP 的定位是高并发 Web 服务或业务中间件。

ZanPHP既可以满足创业公司或者个人建站的需求,也可以满足服务化架构下的框架需求。

ZanPHP 参考了很多 Golang 特性,不过目的绝不是为了替换掉 Golang。

PHP 在业务系统开发上的优势明显,而 Golang 相信会是将来系统编程的霸主。

ZanPHP 和 Golang 的边界是:ZanPHP做业务系统;Golang 做平台系统(中间件或基础服务组件)。

而 ZanPHP 和 Golang 编程模型的驱近,是希望能给PHP程序员一个更好的桥梁到Golang。

理想的技术栈是:ZanPHP + Go + 少量的C/C++。

当然对于致力于终身coding的码农来说:Java依然是很难跨过去的坎。

官方文档

Zan PHP 的文档仓库地址:zanphp-doc

在线查看文档 http://zanphpdoc.zanphp.io/ ✈

常用链接

官方交流渠道

捐赠我们

请点击 -> 捐赠通道

License

Zan PHP 框架基于 MIT license 进行开源。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.