- 博客(26)
- 收藏
- 关注
原创 mac m1 安装arm64v8 的elk
直接执行:brew tap elastic/tapbrew install elastic/tap/elasticsearch-fullbrew install elastic/tap/logstash-fullbrew install elastic/tap/kibana-full操作日志:Last login: Fri Aug 20 07:53:31 on ttys000➜ ~ brew tap elastic/tap==> Tapping elastic/tapClo
2021-08-20 19:37:03 563
原创 mac m1芯片安装arm64v8的docker,和docker环境下安装arm64v8的elk
mac m1芯片安装arm64v8的docker,和docker环境下安装arm64v8的elkhttps://hub.docker.com/进入官网下载m1芯片的桌面版docker下载安装后什么都不用配置然后在这里搜索arm64v8/elasticsearch找自己想要安装的版本或者直接执行:docker pull arm64v8/elasticsearch:7.14.0docker pull arm64v8/logstash:7.14.0docker pull arm64v8/kib
2021-08-20 05:23:25 2142
原创 win环境php7.2无法加载curl,openssl的问题解决方法
在win7或者win10搭建php开发环境遇到一个奇怪的问题1.执行php -m时,openssl显示已经加载,如图:2.但是在实际使用curl或者openssl相关函数时,却提示没有这种函数,直接报错3.解决办法3.1建一个test.php执行var_dump(get_loaded_extensions());首先看看实际的加载情况3.2 openssl的解决办法1、正确安装VC库。2、php7...
2020-04-11 16:54:27 1973
原创 php五大设计模式
策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)//单例模式class Single{ private $name; publ...
2020-03-23 00:58:37 194
原创 13.微服务-分布式事务TCC型(二)
代码实现实现一个完整的业务活动由一个主业务服务与若干从业务服务组成主业务服务负责发起并完成整个业务活动从业务服务提供TCC型业务操作业务活动管理器控制业务活动的一致性,它登记业务活动中的操作, 并在业务活动提交时确认所有的TCC型操作的confirm操作,在业务活动取消时调用所有TCC型操作的cancel操作首先在rpc控制器中给业务服务加tcc标记,例如主服务调用orderSuc...
2020-03-21 23:13:31 752 1
原创 12.微服务-分布式事务TCC型(一)
柔性事务解决方案:TCC实现一个完整的业务活动由一个主业务服务与若干从业务服务组成主业务服务负责发起并完成整个业务活动从业务服务提供TCC型业务操作业务活动管理器控制业务活动的一致性,它登记业务活动中的操作, 并在业务活动提交时确认所有的TCC型操作的confirm操作,在业务活动取消时调用所有TCC型操作的cancel操作成本实现TCC操作的成本业务活动结束时confirm...
2020-03-21 21:07:46 949
原创 11.微服务-分布式事务最大努力通知型
最大努力通知型1、Rabbitmq实现延迟队列2、使用swoft自带服务组件3、将最大努力通知服务放入到swoft柔性事务解决方案:最大努力通知(定期校对)实现业务活动的主动方,在完成业务处理之后,向业务活动的被动方发送消息,被动方需主动响应正确消息,否则根据定时策略,最大努力通知。业务活动的被动方也可以向业务活动主动方查询,恢复丢失的业务消息。约束被动方的处理结果不影响主动方...
2020-03-21 12:17:35 979 1
原创 10.微服务-分布式事务最终一致性(三)
消息恢复子系统对应的步骤看看代码实现流程,支付成功后,首先是pay网关收到支付成功的消息,调用rpc接口,预发送消息,更新订单状态,存储发送消息,发送消息到中间件,由中间件把消息传递给消费端的监听队列,最终增加用户的积分,更新订单状态和增加积分虽然不是同时进行,但是最终的结果是一致的,就是分布式事务的最终一致性先看看pay网关的order函数,预发送消息,然后通过rpc调用messge微服...
2020-03-20 16:46:38 369
原创 9.微服务-分布式事务最终一致性(二)
封装rabbitMQ的连接池消息子系统的构建1.构建消息服务子系统(包含接口)2.构建其他服务(骨架大搭建)3.简单的封装rabbitMQ的连接池4、消息发布确认5、消息存储的设计(任务数据存储)6、消息id的生成7、服务提供任务执行结果查询接口整体流程:现在在做红色框框的部分,代码体现消息子系统的构建1.构建消息服务子系统(包含接口)存储预发送消息(主动方应用系统)确认并发送消息(主动方...
2020-03-19 16:23:38 332 1
原创 8.微服务-安装rabbitmq
1.docker安装rabbitMQdocker run -d --hostname my-rabbit --name rabbit -15672:15672 -p 5672:5672 rabbitmq2.安装 rabbitmq-c,C 与 RabbitMQ 通信需要依赖 rabbitmq-c 库(librabbitmq),具体请看https://github.com/alanxz/ra...
2020-03-18 02:26:56 220
原创 7.微服务-分布式事务最终一致性(一)
微服务架构-最终一致性方案设计思路本节内容一、可靠消息最终一致(异步确保型)1、从主动方应用的角度2.从中间件的角度3.异常情况的总结处理三、常规消息队列的流程跟特点3.1、MQ队列消息的生产与消费常规流程3.2、AMQP协议的认识四、当前包含了消息管理子系统本节内容)1、如何做到消息一致,消息可靠投递2、消息中间件的使用,快速入门rabbitMQ3、设计消息子系统(重点)一、可靠消息...
2020-03-17 05:11:30 574
原创 6.微服务-项目大体架构
第三方支付平台一、支付平台服务化流程二、分布式事务问题的代码场景三、不同的事务的解决方案2.1可靠消息最终一致(异步确保型)2.2柔性事务解决方案:TCC(两阶段型、补偿型)2.3柔性事务解决方案:最大努力通知(定期校对)一、支付平台服务化流程二、分布式事务问题的代码场景当支付平台收到扣款结果的处理伪代码,我们可以看到如果是多个服务,位于不同主机,不同的网络当中,我们没有办法用本地事务保证...
2020-03-17 03:09:33 1297
原创 5.微服务-熔断降级组件
熔断组件封装熔断技术可以说是一种“智能化的容错”,当调用满足失败次数,失败比例就会触发熔断器打开,有程序自动切断当前的RPC调用,来防止错误进一步扩大。实现一个熔断器主要是考虑三种模式,关闭,打开,半开。<?php declare(strict_types=1);namespace App\Http\Controller;use App\Rpc\Lib\PayInterface...
2020-03-16 10:59:45 1169
原创 4.微服务-docker构建consul集群
consul组建consul集群创建dockerfile接下来使用此docker镜像 创建容器配置consul集群访问web-ui http://182.61.147.77:8501/ui/dc1/nodes最后用服务器的swoft开启一个http服务,用作consul-serverswoft向consul注册并且向consul查询健康服务从consul当中获取健康服务并且实现加权负载均衡...
2020-03-16 08:05:27 447
原创 3.微服务-RPC解析及封装
微服务架构-RPC组件封装一、RPC启动之前准备二、RPC启动之后的流程三、封装RPC组件一、RPC启动之前准备1.1、配置文件启动的时候,通过指定要启动的监听服务,使用多端口监听的方式启动rpc服务,并且会每个组件里的AutoLoader.php文件,调用加载beans方法所返回的信息,放入到bean容器当中其中src/AutoLoader.php 是每一个组件必须存在的文件,swoft...
2020-03-15 11:49:35 908
原创 2.微服务-模拟实现注解形式的路由收集
模拟实现注解形式的路由收集入口文件index.phpinit()方法最后通过swoole开启一个http服务入口文件index.php<?php$loader = require __DIR__ . "/vendor/autoload.php";Core\Application::init();$server=new Swoole\Http\Server('0.0.0.0'...
2020-03-15 08:22:14 171
原创 1.微服务-swoft入门
Swoft介绍1.swoft生命周期①.首先会调用相关处理器做相关的初始化工作②.注解信息扫描收集2.框架快速入门首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言...
2020-03-15 05:26:02 511
原创 基于laravel的微信商城组件之会员组件(1)
步骤1.创建基本的文件,在lixiyong目录下执行cmd命令:2.删掉一些不必要的文件,如member里面的src文件夹3.在laravelnew项目中加载本地的lshop-laravel组件4.创建一些组件基本的文件夹5.通过中间件快速实现微信授权 laravel+easywechat6.组件实现微信网页授权登入1.基础流程2.自定义组件的认证模型7.通过组件命令发布配置文件以及数据库迁移文件...
2019-11-14 14:28:19 731
原创 发布写好的composer组件到官方仓库,以及上传代码到代码仓库
步骤组件包发布1.创建代码仓库,首先在github上创建仓库2.填写名称与描述3.然后准备提交我们的代码切换到包目录,执行下面的命令提交到packagist1.Composer安装包都是从packagist源读取信息的,先注册一下账号2.登录以后,点击submit开始提交项目,然后填入我们 代码所在的github的仓库URL 然后check,就可以了3.发布第一个版本组件包发布1.创建代码仓库...
2019-11-11 09:19:44 469
原创 写一个laravel的composer单元测试组件
开发步骤laravel的compser单元测试组件1.用别人创建好的第三方工具包来创建一些基本的文件,比较方便,手动上一篇博客也做过了2.在cmd窗口执行:laravel的compser单元测试组件1.用别人创建好的第三方工具包来创建一些基本的文件,比较方便,手动上一篇博客也做过了composer global require "overtrue/package-builder" --pre...
2019-11-10 10:58:00 577
原创 开发一个简单的compser组件
这里写自定义目录标题compser组件1.新建一个composer文件夹2.新建一个composer.json文件3.往文件里面写入三条json数据4.composer文件夹下创建一个src文件夹,并在里面新建一个index.php文件,并写入如下代码5.cmd命令cd到composer文件夹下,执行composer update6.在composer文件夹下新建一个test.php文件测试一下...
2019-11-09 06:21:43 153
原创 记录centos7.6安装cuda10的一些坑
ubuntu18安装cuda10挺顺畅的,不过centos7.6掉的坑还是多一些1.禁用nouveauSTEP1:bios禁用secure boot,设置为disableSTEP2:卸载之前安装的驱动sudo apt-get purge nvidia*STEP3:禁用nouveau一定要禁用,否则可能会导致一些乱七八糟的问题!sudo gedit /etc/modprobe.d/bl...
2019-02-17 16:41:12 4972
原创 wordpress异步ajax上传文件
1建立表单 &amp;amp;amp;amp;amp;amp;amp;lt;form id=&amp;amp;amp;amp;amp;amp;quot;biaoge1&amp;amp;amp;amp;amp;amp;quot; method=&amp;amp;amp;amp;amp;amp;quot;post&amp;amp;amp;amp;amp;amp;quot; enctype=&amp;amp;amp;
2018-11-06 20:40:03 1132
原创 linux无法加载上级目录文件的解决方法
chmod -R 777 文件名给读写权限,具体看需求2.lnmp一键安装默认设置了无法跨目录访问,可以把防跨目录访问功能关闭,具体如下:把目录下的.user.ini删除如果无法删除,执行chattr +i /网站目录/.user.ini,然后就可以删除了然后vim /usr/local/nginx/conf/fastcgi.conf在fastcgi_param PHP_ADMIN...
2018-10-17 01:11:29 1940
原创 yii移除的basic/web的方法
yii移除的basic/web的方法一键lnmp搭建的aws主机环境,可以通过域名.如localhost/basic/web/index.php正常访问,根据官方文档的方法,吧documentroot设置为basic/web后,发现报错500,经过排查,发现index.php无法加载上级目录的文件,没有权限,修改了很久,还是无法加载,最后通过这个方法解决了.1.直接把web目录里面的文件直接复...
2018-10-14 17:19:54 301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人