首页 > 后端开发 > 正文

大型php框架搭建 php大型应用如何采用分布式架构?

2023-09-10 19:11:33 | 我爱编程网

今天我爱编程网小编整理了大型php框架搭建 php大型应用如何采用分布式架构?相关信息,希望在这方面能够更好帮助到大家。

大型php框架搭建 php大型应用如何采用分布式架构?

php框架需要掌握什么



php框架需要掌握什么?
下面介绍几个主流的PHP框架。
(1)Zend Framework
Zend Framework是由Zend公司开发的PHP框架,可用于开发Web程序和服务。Zend Framework采用MVC架构模式来分离应用程序中不同的部分,从而方便程序的开发和维护。
(2)CakePHP
CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该框架的主要目标是让各种层次的PHP开发人员都能快速灵活地开发健壮的Web应用。
(3)Yii
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。Yii几乎提供了如今Web2.0应用开发所需要的一切功能,事实上,Yii也是最有效率的PHP框架之一。
(4)ThinkPHP
ThinkPHP是一个由国人开发的快速、兼容而且简单的轻量级PHP开发框架。诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP。ThinkPHP遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式。使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了对数据库的常用操作,单一入口模式等。在模板引擎、缓存机制、认证机制和扩展性方面均有独特的表现。
(4)Codelgniter
Codelgniter(CI)也是一个比较老牌的PHP框架。和ZF相反,它非常小巧,核心类库仅有1MB左右。使用起来比较简单,代码框架遵循常见的MVC结构。但是CI的类库封装得还不够精细,某些框架层次感觉设计得过于烦琐;另外CI的文档做得不是很好,特别是缺乏良好的中文文档,这大大阻碍了CI框架在国内的普及。
更多PHP相关知识,请访问PHP中文网!

大型php框架搭建 php大型应用如何采用分布式架构?

php大型应用如何采用分布式架构?

大型分布式架构都是靠多种语言和工具共同分工合作实现的。 我爱编程网

不是一两种工具或者语言能实现的,如果专指php那是没有意义的,因为php本身只是一个单进程的东东,更别说分布式。

大规模的web应用以及分布式架构主要在于服务器的整体架构:

1、web服务集群;

2、数据库集群;

3、分布式缓存;

php充其量只是实现其中一个节点的某个具体的web应用。

SD框架支持长连接协议TCP,WebSocket,短连接协议HTTP,以及UDP。

通过配置开放不同的端口开发者可以轻松管理不同的协议,并且可以共用一套业务代码,当然你可以通过智能路由进行代码的隔离。

长连接可以配置不同的数据传输协议,比如二进制协议文本协议等等,通过框架提供的封装器解包器接口可以自定义各种各种的协议封装,并且各种协议之间可以自动转换,比如你通过广播发送一个信息,该信息流向不同客户端,客户端间采用不同协议,那么框架会根据不同的端口自动转换不同的协议封装。

也可以通过Http给所有长连接客户端发送推送消息,类似这种混合协议协作的业务在SD框架上会异常简单。

扩展资料:

普通的Web开发,常用的模式就是用户登录之后,登录状态信息保存在Session中,用户一些常用的热数据保存在文件缓存中,用户上传的附件信息保存在Web服务器的某个目录上。这种方式对于一般的Web应用,使用很方便,完全能够胜任。但是对于高并发的企业级网站,就应付不了了。需要采用Web集群实现负载均衡。

使用Web集群方式部署之后,首要调整的就是用户状态信息与附件信息。用户状态不能再保存到Session中,缓存也不能用本地Web服务器的文件缓存,以及附件,也不能保存在Web服务器上了。因为要保证集群里面的各个Web服务器,状态完全一致。

因此,需要将用户状态、缓存等保存到专用的缓存服务器,比如Memcache。附件需要保存到云存储中,比如七牛云存储、阿里云存储、腾讯云存储等。

SD框架内大多数的对象都使用了对象池技术,对象池技术有利于系统内存的稳定,减少GC的次数,提高系统的运行效率,事实证明对象池对系统稳定做出了极大的贡献。

开发者也可以使用这一套对象池技术,增加对对象的复用,减少GC和NEW的频率,对系统毛刺现象和内存泄露方面都有很大的稳定性提升。

参考资料: 百度百科-php

大型php框架搭建 php大型应用如何采用分布式架构?

PHP环境搭建注意事项

1、如果要使用现成的套件主使用phpnow
2、但是想系统学习还是手动来配置开发环境,比jsp配置方便多了。
3、mysql基本上没有什么要配置的直接安装就ok了
4、apache和php要修改一下配置文件。我给你一个我的配置方案,写在我的blog
5、下载php,解到d:php我下载的是php5.26
6、下载apache_2.2.9-win32-x86-no_ssl-r2.msi安装apache好以后,我安装在d:apache2
7、如果apache不能运行,请到apache2/bin运行httpd.exe-kinstall作为服务
8、如果你安装了IIS,请将端口设置为8080
9、打开conf/http.conf文件
10、在最任意位置,我是在末尾处加上下面三行
11、LoadModulephp5_moduled:/php/php5apache2_2.dll
12、AddTypeapplication/x-httpd-php.php
13、AddTypeapplication/x-httpd-php.html
14、默认虚拟目录是apachehtdocs你可以修改一下,比如我是d:/www
15、把d:php下面的php5ts.dllmysqli.dll复制到windowssystem32下面
16、把d:php下面的php.ini文件复制到windowssystem下面
17、php.ini请指定session目录和ext扩展目录

以上,就是我爱编程网小编给大家带来的大型php框架搭建 php大型应用如何采用分布式架构?全部内容,希望对大家有所帮助!
与“大型php框架搭建 php大型应用如何采用分布式架构?”相关推荐
php高并发用什么框架 php大型应用如何采用分布式架构?
php高并发用什么框架 php大型应用如何采用分布式架构?

php大型应用如何采用分布式架构?大型分布式架构都是靠多种语言和工具共同分工合作实现的。不是一两种工具或者语言能实现的,如果专指php那是没有意义的,因为php本身只是一个单进程的东东,更别说分布式。大规模的web应用以及分布式架构主要在于服务器的整体架构:1、web服务集群;2、数据库集群;3、分布式缓存;php充其量只是实现其中一个节点的某个具体的w

2023-09-28 05:15:21
分布式定时任务框架php 分布式任务调度框架选型,如何选择一个合适的框架?
分布式定时任务框架php 分布式任务调度框架选型,如何选择一个合适的框架?

PHP实现定时任务的几种方法一.简单<?phpignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去ini_set('memory_limit','512M');//设置内存限制$interval=60*30;//每隔半小时运行do

2023-10-07 06:37:22
php分布式部署框架 php框架搭建方法?
php分布式部署框架 php框架搭建方法?

php框架搭建方法?php框架搭建步骤:1.项目初始化首先我们在自己的web目录下创建我们的项目目录,我暂且把项目命名为hellovod,因此我的电脑目录就是:D:laragonwwwhellovod。在该目录下创建composer.json文件。2.添加入口文件初始化完毕后,我们来配置入口文件。在hellovod目录下新建一个public文件夹,并在该文件夹下创建

2023-09-29 16:08:29
php大型项目框架搭建 php的开发框架是什么
php大型项目框架搭建 php的开发框架是什么

php的开发框架是什么php的开发框架是什么?下面为您详细介绍。框架是通过提供一个开发Web程序的基本架构,PHP开发框架就是一种搭建好了的PHP的基本架构。它能够促进快速软件开发(RAD),为我们节约时间,有助于创建更稳定的程序,并减少开发者的重复编写代码的劳动,让我们可以花更多的时间去创造真正的Web程序。拓展:四种主流框架ThinkPHPThinkPHP(FCS)是

2023-09-25 20:24:41
大型项目php框架搭建 php的开发框架是什么
大型项目php框架搭建 php的开发框架是什么

php框架需要掌握什么php框架需要掌握什么?下面介绍几个主流的PHP框架。(1)ZendFrameworkZendFramework是由Zend公司开发的PHP框架,可用于开发Web程序和服务。ZendFramework采用MVC架构模式来分离应用程序中不同的部分,从而方便程序的开发和维护。(2)CakePHPCakePHP是一个运用了诸如ActiveRecord、

2023-09-29 10:30:30
php调度框架 分布式任务调度框架选型,如何选择一个合适的框架?
php调度框架 分布式任务调度框架选型,如何选择一个合适的框架?

php面试题memcache和redis的区别Redis与Memcached的区别传统MySQL+Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:1.MySQL需要不断进行拆库拆表,Memca

2023-09-03 22:32:59
tb框架php 大型的PHP应用,通常使用什么应用做消息队列?
tb框架php 大型的PHP应用,通常使用什么应用做消息队列?

大型的PHP应用,通常使用什么应用做消息队列?一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。二、消息队列应用场景以

2023-09-05 15:29:17
任务调度框架php 分布式任务调度框架选型,如何选择一个合适的框架?
任务调度框架php 分布式任务调度框架选型,如何选择一个合适的框架?

分布式任务调度框架选型,如何选择一个合适的框架?首先,这种框架现在市面上是有的。强烈建议,不要重复造轮子。先介绍几种比较主流的。Elastic-Job,是当当网开源的分布式调度解决方案,支持任务分片功能,可以充分利用资源。Elastic-Job有两个独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。具体实现可以参考官方教程。其整体架构图如下。

2023-09-11 03:37:04