微服务之消息中间件(rabbitMQ)

常用MQ中间件产品 ActiveMQ RabbitMQ  Kafka 基于AMQP协议1.Producer生成消息并发送给MQ  (同步,异步)2.MQ接收消息并将消息数据持久化到消息存储3.MQ向Producer返回消息的接收结果 (返回值,异常)4.Consumer监听并消费MQ中的消息5.Consumer获取到消息后执行业务处理6.Consumer对已成功消费的消息想MQ
阅读全文

微服务之基础与重要部件

  • MyAnswer
  • 2019-05-28 16:53:18
  • PHP
  • PHP
客服端如何访问这些服务传统的开发方式,所有的服务都是本地的,UI可以直接调用,现在按功能拆分成独立的服务,跑在独立的运行环境中;客户端UI如何访问他的?后台有N个服务,前台就需要记住管理N个服务,一个服务线下/更新/升级,前台就要重新部署,这明显不满足我们拆分的理念,特别是前台是移动应用的时候,通常业务变化的节奏快,另外N个小服务的调用也是一个不小的网络开销,还有一般微服务在系统内部,通常是无状态
阅读全文

微服务之理论

  • MyAnswer
  • 2019-05-18 15:28:57
  • PHP
什么是微服务在介绍微服务时,首先得理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是 '微' 什么是服务微狭义来讲就是体积小服务,一定要区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集
阅读全文

服务通讯(RPC)

  • MyAnswer
  • 2019-03-25 14:19:35
  • PHP
  • PHP
亿级pv网站的困境因为业务扩张的需要,原本的网站从单日3000万pv量,逐步上升到单日亿级pv,随着pv量的暴增,业务团队扩展迅速,网站高并发问题明显,不同团队需要负责不同的业务,提供不同的服务;
阅读全文

IM通讯服务

  • MyAnswer
  • 2019-03-25 12:15:56
  • PHP
  • PHP
架构设计IM-server服务端:1.用于接收Client连接,消息推送等功能,支持集群部署; 2.检测客户端存活状态,心跳时间为300/500秒,心跳过快耗电过多,心跳过慢有可能被电信运营商切断连接; 3.设备/用户登录退出操作,更新Redis中的状态; 4.消息进行双向确认/重传/去重 发送消息后,客户端必须回复ACK确认包,才认为已成功,否则进行重传,客服端对服务端推送的消息
阅读全文

深入学习swoole之运行模式

1.传统web开发模式: LAMP/LNMP都是同步开发模式;2.php-fpm1.Fastcgi进程管理器,实现fastcgi协议;2.同步阻塞IO进程模型;3.请求结束后释放所有的资源和内存;4.并发受限于进程数量5.PHP框架初始化占用大量的计算资源;3.php-fpm工作模式的问题1.nginx基于epoll事件模型,一个work同时可以处理多个请求;2.fpm-worker在同一时刻可以
阅读全文

深入学习swoole之进程线程理解

  • MyAnswer
  • 2019-03-18 22:27:55
  • PHP
  • PHP
进程与线程的一个简单解释1.计算机的核心是CPU,它承担了所有的计算任务,它就像一座工厂,时刻在运行;2.假定工厂的电力有限,一次只能给一个车间使用,也就是说,一个车间开工的时候,其它车间都必须停工。背后的含义是,单个CPU一次只能运行一个任务;3.一个车间里面,可以有很多工人,他们协同完成一个任务
阅读全文

深入学习swoole之TCP/IP协议结构(TCP粘包处理)

什么是网络协议?网络协议为计算机网络中进行数据交换而建立的规则,标准或约定的集合;协议分层:
阅读全文

深入学习swoole之长连接(心跳检测)

同步客户端(swoole tcp(短连接))同步client是同步阻塞的,一整套connect->send()->rev()->close();是同步进行的;当一个同步调用发出去后,调用者要一直等待调用结果的通知后,才能进行后续的操作;生活中的例子:  同步:小明点单交钱,然后等着拿奶茶;异步客户端(swoole tcp(长连接))异步client是非租塞的,
阅读全文

深入学习swoole之进程,客户端和服务端交互

什么是进程?进程就是操作系统中一个正在运行的程序,我们在一个终端当做,通过php,运行一个php文件,这个时候就相当于创建了一个进行,这个进行会在系统中驻扎,申请属于它自己的内存空间系统资源并且运行相应的程序;对于一个进程来说,
阅读全文
首页 123 末页 共 22 条记录