php_college

基于laravel 5.5 实际业务场景中一些组件的封装和示例

rdkafka的封装和使用示例

需要安装pecl rdkafka扩展
rdkafka源码Github
rdkafka的pecl
示例说明:
主要代码:
AppServicesKafkaServiceKafkaProducerFactory
AppServicesKafkaServiceKafkaProducer
AppServicesKafkaServiceKafkaConsumerFactory
AppServicesKafkaServiceKafkaConsumer
示例代码位置:
生产者示例代码:AppHttpControllersIndexkafkaProducer
消费者示例代码:AppConsoleCommandsKafkaKafkaConsumer
使用说明:
启动消费者:php artisan command:consumer
访问对应的生产者路由:http://{your_host}/index/kafkaProducer

异步/同步记录到Mongodb的log服务

需要安装mongodb扩展,如使用异步方法则需要加装redis扩展
功能说明:使用mongodb作为持久化记录常用的程序信息功能。
记录的内容包括:
1.时间戳
2.客户端IP
3.uri
4.代码源文件的路径以及行数 5.对应的controller以及function
6.自定义的信息
主要代码: AppServicesLogServiceLogService
示例代码位置:
AppHttpControllersIndextestLog
使用说明:
同步方法直接使用;
异步方法需要先启动队列消费者,如下命令(timeout和重试可以视情况省略):
php artisan queue:work --timeout=60 --tries=3 --queue=log_job

基于简化Flexihash的一致性hash的分表算法

主要代码:
AppLibrariesConsistentHashConsistentHash
AppLibrariesConsistentHashConsistentHashFactory
示例代码: AppHttpControllersIndextestConsistentHash

基于swoole Process Pool的组件封装

主要代码:
AppConsoleCommandsSwooleBaseProcessPool
示例代码:
AppConsoleCommandsSwooleSwooleTest
AppHttpControllersIndextestSwoole
优雅停止swoole进程组: AppConsoleCommandsSwooleSwooleCtrl

基于swoole client/Server 的包含拆包逻辑的简单例子

主要代码:
AppConsoleCommandsSwooleSwooleServerSimple
AppConsoleCommandsSwooleSwooleClientSimple 示例代码:
AppHttpControllersIndextestClient
使用说明:需要先启动服务器: php artisan command:swoole_server

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。