不同业务场景使用不同的方案。

PHP Laravel

优点:

  • 开发效率没得说,确实快。有想法时,可以瞬间实现。我依然觉得,如果是作为个人 side project,作为试错,用 Laravel 开发确实是首选。
  • PHP 作为最好的语言,各种三方服务都会提供 SDK,或者参考,开发者社区环境很好。
  • Laravel 的更新频繁,新功能确实贴心。

缺点:

  • CPU 损耗非常高。高到离谱,导致 Laravel 能处理的请求并发数极其有限。虽然网页可以通过静态缓存的方式解决,但是对于接口类的开发非常不合适。甚至所有给客户开发的非网站项目都不适合使用。
  • 当 Laravel 的服务需要部署在客户服务器上时,代码无法加密保护。

Golang Gin

优点:

  • 代码简洁,规范
  • 性能高。适合充分发挥低配服务器的性能。
  • 包管理方便,可以方便的发布自己的包到 github 上。
  • Golang 版本升级方便

缺点:

  • Gin 的内置功能确实有点少
  • 三方服务器 SDK 支持有限,需要不断造轮子

Kotlin SpringBoot

优点:

  • Kotlin 真是一门不错的语言,弥补了 Java 的不足
  • Spring 功能强大,只有你想不到的

缺点:

  • 对内存要求高。单台服务器上不适合同时部署多个网站。

现阶段

我现在使用的个人服务器都是小内存的 1 核 1G 的最低配服务器。为了压榨服务器,在上面尽可能多的跑服务器和网站,目前使用 PHP Laravel / Wordpress 开发网站,配合 Golang Gin 写频繁调用的接口或者网页。

待业务增长,低配服务器扛不住时,再考虑换到 Kotlin SpringBoot 的实现。

可以考虑在公司服务器上用 Kotlin SpringBoot 重写部分业务,练练手。

tags: Golang Gin PHP Laravel Kotlin SpringBoot