热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

腾讯与阅文集团技术合作,微服务框架Tars新增PHP支持

腾讯与阅文集团在技术领域展开合作,共同推进微服务框架Tars的发展。此次合作中,Tars新增了对PHP语言的支持,不仅强化了Tars-PHP作为客户端的功能,还显著提升了其在服务端的应用能力。这一改进旨在满足不同业务场景下的多样化需求,为开发者提供更加灵活和高效的技术解决方案。

• Tars-PHP的服务端

除了建设Tars-PHP作为客户端的能力之外,服务端的能力同样是必不可少的。为了能够满足不同业务场景下的需求,Tars-PHP在服务端主要会关注两类服务。

第一类是HTTP的服务,会以SWOOLE2.0为网络收发的基础,实现一套高性能、简洁好用的面向WEB服务的框架。这套框架会支持基本的 路由、中间件、MVC架构等常见的WEB框架特性。同时也会集成Redis、Mysql、Http、Multicall、Tars等常见的客户端,方便WEB服务再去调用后台服务。更重要的是,接入到Tars平台中,使得服务可监控,可重启,享受Tars运维平台带来的一站式便利。现在框架的第一个版本已经实现,并在阅文集团内部上线使用,测试成熟后,会及时进行开源。

第二类则是TCP的服务,同样底层依赖于SWOOLE2.0,但是协议从HTTP换成了对TUP和Tars的支持。框架实现上而言,会与JAVA、C++的服务端保持一致,底层集成网络能力,使用者只需关心服务名称以及接口参数和自己的业务处理逻辑而已。当然,这个服务肯定也是要与Tars运维平台相结合的。现在框架对TUP协议支持的第一个版本已经完成,后续也会在完成Tars协议的底层支持之后,在业务上进行使用和验证。

•  业务实践

阅文集团在进行后台服务治理与改造的过程中,使用了Tars-PHP的解决方案。一方面,所有WEB后台与后台服务的接口,全部从原有的HTTP接口,切换为了基于Tars协议的TCP网络传输。依赖于Tars-PHP的自动代码生成,开发效率提升巨大,保证了项目的顺利按时上线。同时,这套基于PHP扩展的方案,也保证了代码执行效率的高效,单个请求的处理时间,相比于原有的HTTP接口调用,得到了显著的缩短。

另一方面,由于使用的WEB后台服务是常驻内存的,基于SWOOLE的实现。所以在发布、启动、监控等方面与原有PHP中固有的Apache和PHP-FPM的方式都不相同。因此,正如上文中所说,服务接入Tars平台,享受其监控、保活、日志等一系列的功能,会大大提高服务本身的运维和扩容的便利性。如今在其线上服务中,超过十个服务已经切入并稳定运行了接入到Tars平台的HTTP服务。这些服务的发布、扩容和运维完全依赖Tars平台,十分便利。

除去对Tars平台运维的使用,阅文WEB后台侧同样在服务发现上,有一套方案。



推荐阅读
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • 一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景&# ... [详细]
  • 获得头条Offer后,我感激的七个技术公众号
    是否感觉订阅的公众号过多,浏览时缺乏目标性,未能获取实质性的知识?本文将介绍如何精简公众号列表,提升信息吸收效率,并推荐几个高质量的技术公众号。 ... [详细]
  • 本文探讨了为何采用RESTful架构及其优势,特别是在现代Web应用开发中的重要性。通过前后端分离和统一接口设计,RESTful API能够提高开发效率,支持多种客户端,并简化维护。 ... [详细]
  • mysql 分库分表策略_【数据库】分库分表策略
    关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多, ... [详细]
  • 微服务架构详解及其入门指南
    本文详细介绍了微服务的基本概念、发展历程、与传统架构的区别及优势,并探讨了适合采用微服务架构的场景。此外,文章还深入分析了几个主流的微服务开发框架,特别是Spring Cloud的组成和特点。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 容器与微服务基础:快速入门指南
    探索容器和微服务的基础知识,了解如何通过先进的应用性能管理(APM)工具提升监控效能。加入AppDynamics APM的导览,掌握容器与微服务实施及监控的最佳实践。 ... [详细]
author-avatar
我才不要喜欢你了
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有