摘要: 我们都知道搞微服务,除了拥有完美生态的java Spring Cloud那套,golang的微服务架构也是非常理想的。而且golang相比java 的臃肿内存占用更小,golang引入了协程并发粒度相比java的多线程先对更小,更可控,并发学习成本更低,不得不说golang就是趋势。 但是相对国内来 阅读全文
posted @ 2020-11-13 11:04 pgman 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 一、先下载插件grpc_php_plugin: 第一种方式: 通过官方文档编译方式: $ git clone -b v1.33.1 https://github.com/grpc/grpc $ cd grpc && git submodule update --init && make grpc_p 阅读全文
posted @ 2020-11-12 14:07 pgman 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 先了解下协程概念:协程可以理解为纯用户态的线程,相对于进程与线程,协程的所有操作都可以在用户端完成,创建和切换的消耗更低。相对于线程分时调度与抢占式调度,协程的调度是用户手动切换。调度策略是协作式调度。再理解一下异步IO与协程的关联:程序执行过程中,一部分使用cpu进行逻辑处理,另一部分进行IO传输 阅读全文
posted @ 2020-10-12 17:41 pgman 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 中间件: Pipline,管道任务实现。每个任务都有一个 handle 操作逻辑。 Handle 接收俩参数,一个是请求信息,另一个是一个闭包Con 或者说是一个匿名函数。提交请求的内容将会被逐个任务顺序处理。 门面:Cache,Redis,中间件,validate。方便调用。 是基于laravel 阅读全文
posted @ 2020-09-07 17:16 pgman 阅读(103) 评论(0) 推荐(0) 编辑
摘要: Swoole 4层生命周期: 1程序全局变量:onStart前创建(在onStart中创建的全局资源对象不能在Worker进程中被使用.onStart与onWorkerStart并行执行),程序运行时常驻内存,在Worker进程间共享。 程序结束(shutdown)时才回收。 2进程全局变量:onW 阅读全文
posted @ 2020-08-26 16:04 pgman 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 由于境外网络问题HubDocker(docker.io),拉镜像比较慢,改用阿里云registry 容器镜像服务。 注册阿里云账号并登录,进入阿里云容器镜像服务,创建个人公有仓库。 在本地登录我的个人: sudo docker login --username=474033326@qq.com re 阅读全文
posted @ 2020-08-18 15:04 pgman 阅读(1417) 评论(0) 推荐(0) 编辑
摘要: 就目前来说所有的服务都是单机部署,而且都基于自定义网络,所以如果是初次运行或者docker数据被重新初始化等 lnmp-network 网路不存在时首先应该执行以下网络,建立此docker 网络。 docker network create -d bridge lnmp-network 在未作出集群 阅读全文
posted @ 2020-08-18 11:39 pgman 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 代码写好部署上线,发现我的服务比其他微服务内存超出很多,并且内存使用增长很快、GC很慢。还好问题发现的快,不然后果就是把整个服务拖垮了。 开始使用pprof 性能分析工具定位。发现heap增量不明显,调试各个接口,看不出问题。但是会出现,GC很慢或者说有些变量没有被GC的现象,就是内存使用之后只GC 阅读全文
posted @ 2020-08-18 11:32 pgman 阅读(942) 评论(0) 推荐(0) 编辑
摘要: Linux下chrome 安装 下载地址:https://www.google.com/chrome/?platform=linux 安装: yum install google-chrome-stable_current_x86_64.rpm 查看版本: google-chrome --versi 阅读全文
posted @ 2020-08-18 11:29 pgman 阅读(1665) 评论(0) 推荐(0) 编辑
摘要: GOPATH 表示go的工作目录,这个目录指定了需要从哪个地方寻找GO的包、可执行程序等,这个目录可以是多个目录表示, go编译或者运行时会从这个环境变量中去对应查找,可能还不够清晰,工作目录或者如官方文档中说的workspace, 可以这么理解为GO源码目录,在这个目录进行编译、链接最后生成所需要 阅读全文
posted @ 2020-08-18 11:22 pgman 阅读(7711) 评论(0) 推荐(0) 编辑