kubernetes+harbor实践之搭建无状态服务nginx-php环境

看这个文章之前,如果没有接触过k8s的同学,建议先简单了解一些k8s的基本概念。kubernetes官网,开始之前,先列一下我自己本地搭建环境的一些清单吧,因为不是生产环境,只能用vagrant+vm创建虚拟机器,打造所需的集群环境,详见:

名称 IP 配置 备注
k8s master节点 192.168.1.103 系统:centos、内存:2G、 CPU核数:2 master节点至少需要的最低配置,不然运行会很卡,而且CPU低于2的话是启动不起来的
k8s node节点 192.168.1.104 系统:centos、内存:512M、 CPU核数:1
harbor服务 192.168.1.108 系统:centos、内存:512M、 CPU核数:1
阅读更多...

Swoole4协程专题总结

swoole4出来了也好段时间了,很久之前也用swoole协程做过一些东西。最近由于公司在项目中想用swoole优化并行处理一些逻辑业务,于是重新看了协swoole4,发现这次版本对协程的支持更加完善了,于是有了整理此出此文章的想法,目的让大家比较清晰了解到swoole协程的一些例子或者使用,特别是没用过或者没接触过协程的朋友。想起当年自己了解协程是啥的时候,也是四处找不到什么好文章。在我看来,这样系统的总结起来,才是最快入坑的。

什么是协程

大家应该都知道线程是CPU的最小调度单元,而协程可以认为是用户状态下的线程,所以是依赖进程存在的。但是协程不能利用多核CPU,不能跨进程调度,但它的调度不需要系统参与,所以创建销毁和切换的成本很低,所以在swoole的文档也有写到,在协程中,1s内你可以读写1万次文件,睡眠1万次,用PDO和mysqli与数据库通信1万次等

阅读更多...

swoole4应用之协程并发和多进程实践

背景

某租车平台,在用户请求搜索车辆时,需要先去请求租车公司的接口,拿到对应的套餐报价回来,然后再进行统一的根据具体规则进行业务加装,例如加装一些优惠券,评分和芝麻标示等,然后返回结果给前端。

分析

  • 上诉过程,由于考虑请求的供应商是大量的,假设一次二十个供应商,然后每个供应商有1千的报价返回,就有2万报价数据返回。然后在自身业务加装的时候,也不单单只有一两个业务,可能数十个。所以==每一次用户请求直接curl所有的供应商接口,拿到数据后遍厉加装,入库,返回。这样的方法是行不通的,不仅仅整个接口有可能被供应商的API超时拖垮,还可能打满整个机器的fpm进程,从而拖垮整站。==
  • 目前我们应用的方案是:image
  • 上面方案先撇开队列的相关的东西,就看数据入库后再读取这里分析如何优化:
    1. 每次读取都是一次性读取一次搜索产生的所有套餐
    2. 所有业务逻辑加装都是串行,在一个进程处理。

      优化

  • 协程或者多线程并发读取数据
  • 多进程或者线程加装独立的业务逻辑 阅读更多...
  • © 2015-2020 谭家俊
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

微信