php的微服务架构之路
看了一篇文章微服务时代之2017年五军之战:Net PHP谁先死 之后备受打击,作为PHPer自然不希望PHP落后主流技术,
而且我也觉得Docker,微服务 是个很好的东西
- Docker是个应用容器,并不区分语言,所以PHP也是可以用的;
- 微服务架构 Spring Cloud 、Spring Boot 这些好像都是为JAVA定制的,虽然可以使用PHP,但是还是要必须使用JAVA的
所以我首先想到的是swoole,但是在我的印象里swoole好像还没有形成一个良好的生态集,然后就继续找基于swoole扩展的一些内容,随着swoole的发展,也是涌现出不少优秀的项目。
详细请查看swoole官网中衍生开源项目
SwooleDistributed(推荐使用)
SwooleDistributed swoole 分布式全栈框架框架,它的特点:
优秀的框架(MVC)设计,丰富的支持极大加快开发速度
通过开启不同端口同时支持TCP和HTTP,WebSocket,同一逻辑处理不同协议
全异步支持,无需手动处理连接池,异步redis,异步mysql,mysql语法构建器,支持异步mysql事务,异步httpclient,效率出众
协程模式全支持,异步redis,异步mysql,异步httpclient,异步task,全部都提供了协程模式,业务代码摆脱处处回调的困扰(不是swoole2.0同样支持)
支持协程嵌套,支持协程内异常处理(和正常逻辑用法一样)
额外提供了protobuf完整RPC实例,轻松使用protobuf
天然分布式的支持,一台机器不够零配置,零代码修改完成高效分布式系统的搭建
完善详细的文档,还有实例代码,轻松掌握
线上项目打造维护,不断优化与改进
SwooleDistributed 2.0版本为微服务框架,拥有1.x版本全部功能,核心代码重构,协程效率更加优秀,具有服务注册中心,可以发布服务,监测服务状态,进程内的负载均衡,同时具有熔断,降级等保护服务的高级功能。服务健康状态,上下线服务自动感知,可以通过RPC或者HTTP与其他服务器进行交互。如果服务中断框架会自动将请求迁移到可用的服务上,尽量保证高可用性。通过版本管理还可以支持灰度发布。
关于SwooleDistributed个一些个人看法
- SwooleDistributed是PHP端的微服务架构,看好这个项目
- github上commit还是很多的
- SwooleDistributed是个人维护的项目,在更新迭代、文档、社区上还有较长一段路要走
- 没有官网(只有一个简单页面),没有社区,最新3.0文档收费,这些都限制了SwooleDistributed的知名度和推广和贡献
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »