PHP的分布式跟踪的一些心得
Fiery是一款针对PHP做的分布式跟踪系统,具有部署简单,使用容易等特点,支持快速线上定位所有接口故障。性能问题,逻辑问题通过回放都可以马上找到。
Fiery是一款针对PHP做的分布式跟踪系统,具有部署简单,使用容易等特点,支持快速线上定位所有接口故障。性能问题,逻辑问题通过回放都可以马上找到。
简单总结了一下个人技术配图的一些心得,总的大原则是:
1、区分:将组件、流程、趋势等之间的”区分“尽可能在图示中通过各种手段(如不同的颜色、形状、箭头)表达出来。
2、联系:组件之间的数据流动、状态切换等,都是它们之间的联系,也需要通过各种手段表达出来。
3、说明:可能的话,要在图中加上一些说明文字,如步骤说明、分类说明,等等。
本篇文章分享一个和 Nginx 以及 PHP 有关的“黑魔法”:NGX-PHP 模块。通过这个方式,我们可以低成本的实现高性能应用,以及适合在服务器资源有限的情况下,同时体验到 Nginx 的高效以及 PHP 的灵活。如果你对 PHP 的印象还停留在“慢”,那么或许这篇文章可以帮助你打开新世界。
Yar支持HTTP和TCP俩种Transporter, HTTP的是基于CURL,PHP中的Yar默认就是走的HTTP Transporter, 这个大家应该都不陌生, 但是基于TCP的, 可能大家会用的少一些。
事实上,我6年前也写过一个C的Yar server框架,叫做Yar-c, 代码地址在Yar-C at Github, 当时我们用这个框架,实现了高性能的微博白名单等服务,以供PHP端使用Yar Client来调用。
只不过,Yar C需要用C来写Handle, 可能对于不少PHPer来说,会稍微有点陌生,那今天我们尝试用PHP来写一个TCP的Server,来介绍下如何实现对Yar RPC协议的处理, 这个例子可以方便的结合Swoole等异步PHP框架,实现一个高性能的Yar TCP Server。 这个过程中, 会让大家了解Yar的RPC通信协议,以及捎带了解下Socket编程。
Facebook 担忧 iOS 14.5 将大幅影响收入,并不是没有道理的。在不久前的 4 月 27 日,苹果正式推送了 iOS 14.5,而此次更新最受关注的变化是,提升了 App 跟踪的透明度。从部分数据追踪公司的统计来看,用户对这项新功能很“买账”。
在如今的在线世界,几乎所有的公司都面临它们产品中的 bugs,并且考虑如何管理这些 bugs。应该使用哪个工具?如何搭建 bug 跟踪流程?在本文中,我们将详细探讨这些问题。
跟踪产品和业务的状况,对整体情况,有一个客观的判断,才能支持下述决策:
1、发现风险:哪个地方,出现风险之前,细微的指标,都有反映,有的剧烈、有的微弱;
2、业务预测:预判业务的增长规模,以及需要提前准备的资源(人力、资金)等
支撑决策:发现业务的客观规律,获取客户/用户的反馈,支持科学决策。
上面所有的决策,都需要客观的跟踪产品和业务状况,都需要进行量化,也就需要指标,指标分为:
1、核心指标:真正的直接反应核心的供给、需求、利润、品质等情况;
2、关联指标:其他关联的周边指标,方便发掘潜在问题、增长点、改进策略等情况。
随着PHP7.4而来的有一个我认为非常有用的一个扩展:PHP FFI(Foreign Function interface), 引用一段PHP FFI RFC中的一段描述:For PHP, FFI opens a way to write PHP extensions and bindings to C libraries in pure PHP.
是的,FFI提供了高级语言直接的互相调用,而对于PHP来说,FFI让我们可以方便的调用C语言写的各种库。
其实现有大量的PHP扩展是对一些已有的C库的包装,比如常用的mysqli, curl, gettext等,PECL中也有大量的类似扩展。
传统的方式,当我们需要用一些已有的C语言的库的能力的时候,我们需要用C语言写wrapper,把他们包装成扩展,这个过程中就需要大家去学习PHP的扩展怎么写,当然现在也有一些方便的方式,比如Zephir. 但总还是有一些学习成本的,而有了FFI以后,我们就可以直接在PHP脚本中调用C语言写的库中的函数了。
而C语言几十年的历史中,积累了大量的优秀的库,FFI直接让我们可以方便的享受这个庞大的资源了。
在 Mac 上安装 Apache+PHP+MySQL 环境还是很简单的。macOS runs atop UNIX. Most UNIX software installs easily on macOS. In Additional, Apache and PHP come preinstalled with macOS. So to create a local web server, all you need to do is configure Apache and install MySQL.
在前几年兴起了MVVM架构设计模式,最具有代表的框架就是DataBinding,虽然这种设计架构非常新颖,但是在使用中仍然还有很多痛点,所以我当时觉得短时间这个设计架构可能不会太流行。