美文网首页码农庄园
探讨关于lumen微服务框架的标题

探讨关于lumen微服务框架的标题

作者: 小马过河R | 来源:发表于2020-12-28 11:09 被阅读0次

    “Lumen是用于构建微服务的快速PHP微框架”

    “为速度而生的 Laravel 框架”

    看到这样的标题吃鲸了,然而PHP不是常驻内存的,并不适合作微服务的服务端。这个标题成功勾起了小马的好奇心。

    官网的文字:

    Lumen 是一个“微框架”,基于 Laravel 组件构建,是 Laravel 官方支持的微框架。Lumen 诞生的目的是更快的执行速度,它是目前所有微框架中速度最快的一个 -- 甚至明显快于同类框架,例如 Silex。

    然而,和其他微框架不同的是,Lumen 能够让你利用 Laravel 框架的强大功能,例如 路由(routing)、依赖注入(dependency injection)、Eloquent ORM、数据库迁移(migrations)、队列任务(queued jobs),甚至定时指令(scheduled commands)。

    Laravel 已经很快、很强大了,但是 Lumen 去除掉了 Laravel 所提供的很多配置和定制选项,为的就是尽可能地减少后台服务的加载时间。

    Lumen 超快的执行速度与 Laravel 提供的方便特性相结合,让你能够同时享受到“微框架”与“宏框架”两者的优点,让开发工作更愉快。

    先来看看Symfony官网对lumen的介绍:

    Lumen is a micro-framework based on the same foundation as Laravel and built for developing microservices.

    lumen 是一个微框架并且为微服务而构建,而laravel 又使用了 一些 Symfony 组件。那Symfony 是啥?

    Symfony is a set of PHP Components, a Web Application framework, a Philosophy, and a Community — all working together in harmony.

    Symfony 被认为是一个企业级的框架,有很多组件和成熟解决方案。

    那么终极问题来了,这三者都是HTTP协议且非常驻内存的,lumen凭什么就能称作微服务框架?

    曾经看过一份某电商网的架构,使用的lumen开发的微服务架构,不过其RPC是基于HTTP协议通信的。于是,开始查看laravel官网,会发现安装lumen也是需要配置apache 和nginx的。所以,lumen严格来说其实也并不是一个微服务的框架,其必须依赖web server。当然,如果结合swoole 来提供守护进程就可以向微服务服务端靠拢了。之所以把它称作微服务框架,可能是跟其框架架构的设计和微服务概念相吻合,包括路由,服务提供者,服务容器等的,这就不难理解了。

    总结:lumen框架适合微服务实现,可以基于HTTP通信结合apache,nginx或者swoole 来实现服务端。

    以上仅为个人观点,欢迎指正交流。

    相关文章

      网友评论

        本文标题:探讨关于lumen微服务框架的标题

        本文链接:https://www.haomeiwen.com/subject/vlyznktx.html