Mix PHP V2.2 发布,与 go-micro 深度集成的 PHP 微服务开发框架

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Mix PHP 是一个基于 Swoole 开发的高性能 PHP 框架,从 2017 年开始经过多年发展收获了很多中小型团队的支持,框架版本也经历了多个版本的迭代: V1.*: 基于 Swoole 的常驻内存型 PHP 高性能框架 V2.0: 基于 Swoo...

Mix PHP 是一个基于 Swoole 开发的高性能 PHP 框架,从 2017 年开始经过多年发展收获了很多中小型团队的支持,框架版本也经历了多个版本的迭代:

  • V1.*: 基于 Swoole 的常驻内存型 PHP 高性能框架
  • V2.0: 基于 Swoole 的 FastCGI、常驻内存、协程三模 PHP 高性能框架
  • V2.1: 基于 Swoole 4.4+ 单线程协程 PHP 框架
  • V2.2: 基于 Swoole 4.4+ 单线程协程 PHP 微服务框架 ????

微服务开发

本次版本更新主要是增加微服务开发相关的组件与开发骨架,从上一次 Mix V2.1 非常激进的切换为单线程协程后 [为何从 Reactor+Manager+Worker 多进程改为单线程协程],Mix V2.2 在微服务方面也非常激进的选择了和其他 Swoole 框架截然不同的路径:与 go-micro 微服务生态深度集成,借用 golang 微服务生态的治理工具

Mix Micro

在很多 Swoole 框架自建微服务生态的时候,我认为微服务生态要是能与主流生态直接无缝通信可能更具有实用价值,Mix 从 V2.1 开始完全切换为单线程协程,这一特性非常适合微服务的打造,同时 Mix 一直都是 Go 风格框架,因此我决定将微服务融入 go-micro 生态,让 Mix 框架用户能与 go-micro 编写的微服务直接代码级无缝通信,并且能直接使用 go-micro 运行时 工具 包的网关、代理、Dashboard 等全部微服务治理基础设施,让 PHP 与 Go 能一起开发高性能微服务,取长补短。

  • Mix Micro:动态语言,开发效率高,view 模板渲染更加适合,单线程协程没有锁的烦恼,try/catch 不用忍受 go 大量 err 处理的烦恼,更加完善的 OOP 让业务封装更加人性。
  • Go Micro:静态语言,编译时即可过滤大量代码问题,CPU 密集型计算更加擅长,原生的协程库生态更加丰富。

基于以上 Mix 打造了可独立使用的 Mix Micro 同时还提供了包含大量代码的 Mix Micro Skeleton 微服务开发骨架。

Mix gRPC

在 gRPC 方面,由于 phpgrpc 官方的局限性导致 PHP 在 gRPC 中一直都是充当 Client 的角色,Mix gRPC 试图改变这一现状,我们提供了 grpc 官方类似的 protoc 插件,能根据 .proto 直接生成基于 Swoole 的 PHP gRPC Server/Client 代码 (官方只能生成 Client 代码),使 PHP 具有与 go-micro 具有同样的微服务编程体验。

  • Mix gRPC:基于 Swoole 协程的 gRPC 类库,包含 protoc 代码生成器、服务器、客户端

更新详情

Added

  • 增加 mix/micro 与 go-micro 生态深度集成的 php 微服务开发框架
  • 增加 mix/grpc 类库,包含 protoc 代码生成器、服务器、客户端
  • 增加 mix/tracing、mix/tracing-zipkin 符合 opentracing 标准的调用链追踪库
  • 增加 mix/micro-hystrix 微服务熔断器
  • 增加 mix/micro-etcd 基于 Etcd 的服务注册中心、配置中心
  • 增加 mix/monolog 取代之前自主研发的日志库,并扩展了控制台打印的功能

Improved

  • 强化 mix/json-rpc 支持微服务调用
  • 修改 mix/database、mix/redis、mix/sync-invoke 的连接池为内置,使用更加简单

以上所述就是小编给大家介绍的《Mix PHP V2.2 发布,与 go-micro 深度集成的 PHP 微服务开发框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java程序设计与应用开发

Java程序设计与应用开发

於东军 / 清华大学出版社 / 2005-3 / 27.00元

本书作为Java程序的入门与应用教材,共分为3部分:第一部分讲解Java程序设计的基础知识,包括Java基本编程语言、面向对象设计思想、类、对象、接口以及异常处理。第二部分讲解Java程序设计的高级知识,包括:GUI编程、套接口编程、I/O系统、数据库访问以及多线程编程。第三部分详细分析一个实际项目的开发过程,包括系统分析及功能实现。在项目实例中综合应用第一、二部分的Java知识,能够帮助读者进一......一起来看看 《Java程序设计与应用开发》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具