PHP+Swoole在车轮互联的应用与实践.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2016 S w o o l e 在车轮互联的应用与实践 @hantianfeng Rango-韩天峰/ 车轮互联 关于我 • 车轮互联总架构师 • PHP官方扩展开发组成员 • 微博:@hantianfeng • Github: /matyhtf 分享内容 一.Swoole在四层架构服务化治理(SOA)方面的应用 二.基于Swoole开发公共组件与平台服务 三.新技术的尝试与实践(TSF、Http2.0) Swoole在四层架构服 01 务化治理(SOA)方面 的应用 为什么要进行服务化治理(SOA) 基于数据库表、Redis实现服务 1. 存储层未隔离,数据不可迁移调整,耦合性极高 2. 扩展性、可维护性极差 PHP代码(函数/类)实现服务 1. 客户端必须include/require一个文件 2. 代码修改必须通知所有业务方升级 3. 可能存在不同版本的兼容问题 4. 无法跨语言,不支持C++、Java等其他语言程序 HTTP+JSON的Web API 1. 解决了耦合问题,可以提供良好的服务隔离 2. 优点:目前最通用的服务治理方案 3. 缺点:Http不支持并发,长连接支持差,不支持订阅 与消息主动推送 基于Swoole实现Service方案 1. 基于swoole提供的包头+包体自动协议处理,Server/Client两端无 需写任何底层代码 2. 支持单连接并发,客户端只需要与服务器建立一条连接 3. 支持php-fpm 中使用TCP长连接,需要依赖swoole扩展 4. 自带Task进程池功能,可直接将慢速请求异步执行 5. 支持跨语言调用,C++、Java等其他语言程序也可以方便使用 6. Server/Client两端可以实现异步 为什么不用Thrift、ProtoBuf 1. 优点:解包/打包性能好,IDL,自动生成多语言调用 代码,对静态语言友好 2. 缺点:服务提供者需要编写维护IDL文件,门槛较高, 不方便抓包调试。 环境推断 1. Server支持Windows (仅用于开发)、Linux 2. Client支持stream、sockets、swoole 3种网络客户端 服务发现 故障转移 集群管理 服务治理(SOA) 监控报警 负载均衡 调用统计 配置中心 1. 配置文件为JSON格式,可以拉取也可以推送 2. 每台服务器节点安装一个NodeAgent程序,实现推送 3. 客户端读取JSON配置文件即可,不存在时从远端拉取 4. 可以根据集群key得到机器列表 5. 为什么不用PHP Serialize格式存储配置? 为什么不用ZooKeeper 1. 需要维护ZooKeeper集群,存在额运维外成本 2. 读取配置存在网络IO,消耗较大。读取本地JSON文件单进程 可达100万次,时间为微妙级别 3. 程序需要连接到ZooKeeper并维持心跳,存在额外开发成本 Nginx、TwemProxy等软件不方便修改增加ZooKeeper 4. 紧急情况下,业务开发人员无法临时修改本地配置解决问题, 必须要了解ZooKeeper的相关知识 服务发现 负载均衡 1. 服务器程序onStart 时调用curl http://config_center/api/online 注册到集群,并设置为在线 2. 终止运行脚本php server.php stop 前调用curl http://config_center/api/

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档