php函数的定义和调用写一个乘法代码(教你利用 PHP 实现微服务)PHP函数 / PHP函数在微服务架构中的实践...

wufei123 发布于 2024-05-18 阅读(12)

随着互联网浏览越来越大. 传统的 MVC 单一架构随着应用规模的不断扩大,应用模块不断增加,整个应用也显得越来越臃肿,维护起来也更加困难.我们必须采取措施,按应用拆分,就是把原来的应用按照业务特点拆分成多个应用。

比如一个大型电商系统可能包含用户系统、商品系统、订单系统、评价系统等等,我们可以把他们独立出来形成一个个单独的应用多应用架构的特点是应用之间各自独立 ,不相互调用多应用虽然解决了应用臃肿问题,但应用之间相互独立,有些共同的业务或代码无法复用。

单一应用的解决方案对于一个大型的互联网系统,一般会包含多个应用,而且应用之间往往还存在共同的业务,并且应用之间还存在调用关系除此之外 ,对于大型的互联网系统还有一些其它的挑战,比如如何应对急剧增长的用户,如何管理好研发团队快速迭代产品研发,如何保持产品升级更加稳定等等 。

因此,为了使业务得到很好的复用,模块更加容易拓展和维护,我们希望业务与应用分离,某个业务不再属于一个应用,而是作为一个独立的服务单独进行维护应用本身不再是一个臃肿的模块堆积,而是由一个个模块化的服务组件组合而成。

服务化特点那么采用服务化给有那些亮点的特色呢 ?应用按业务拆分成服务各个服务均可独立部署服务可被多个应用共享服务之间可以通信架构上系统更加清晰核心模块稳定,以服务组件为单位进行升级,避免了频繁发布带来的风险

开发管理方便单独团队维护、工作分明,职责清晰业务复用、代码复用非常容易拓展服务化面临的挑战系统服务化之后, 增加了依赖关系复杂, 也会增加服务与服务之间交互的次数. 在 fpm 的开发模式下. 因为无法常驻内存给我们带来了, 每一次请求都要从零开始加载到退出进程, 增加了很多无用的开销, 数据库连接无法复用也得不到保护, 由于fpm是以进程为单位的fpm的进程数也决定了并发数, 这也是是fpm开发简单给我们带来的问题. 所以说为什么现在互联网平台Java比较流行了,.NET和PHP在这方面都不行。

PHP非内存常驻的就不用说了除此之外,还有很多其他问题需要解决那么有没有好的方案呢?答案是有的,它就是-SwoftSwoft就是一个带有服务治理功能的RPC框架Swoft是首个 PHP常驻内存协程全栈框架, 基于高性能协程swoole打造的一个 PHP界的Spring Boot。

Swoft 提供了类似 Dubbo 更为优雅的方式使用 RPC 服务, Swoft 性能是非常棒的有着类似Golang性能, 下面是 对Swoft 性能的压测情况.

ab压力测试处理速度十分惊人, 在 i78代CPU, 16GB 内存下100000万个请求只用了5s时间在fpm开发模式下基本不可能达到. 这也足以证明Swoft` 的高性能和稳定性,优雅的服务治理服务注册与发现

微服务治理过程中,经常会涉及注册启动的服务到第三方集群,比如 consul / etcd 等等,以 Swoft 框架中使用 swoft-consul 组件,实现服务注册与发现为例实现逻辑

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

大众 新闻90980