2019年6月

summer项目开发六:服务开发

服务注册中心开发花了1周左右,期间改了几个版本,优化重构了下core代码。大致能完成之前设计的功能,当然还有很多不足和值得优化的地方,不过先完成大致框架和功能,等整个流程跑顺了,再来优化细节。注册中心提供了服务注册,通知更新,服务列表查询,那么一个服务要想调用其他服务接口或被人家调用,就需要完成相应的功能。功能需...

360 MySQL 协议的抓包工具

项目地址:https://github.com/Qihoo360/mysql-sniffer/blob/master/README_CN.mdMySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer 端或 Client 端请求,并格式化输出。输出内容包括访问时间、访问用...

summer项目开发五:服务注册与发现

经过4、5天的修改调整,把底层架构稍稍改的合理了些,优化了下连接池和代理。 接下来就要完成最重要的工作了,服务注册与发现。1. 什么是服务注册与发现呢?网上相关资料还是比较丰富的,毕竟流行了一段时间了,各种文章教程解决方案都非常多。我的理解是,在微服务化的架构下,把各个功能和业务模块拆分得足够小和独立。 模块与模...

summer项目开发四:请求转发和连接池

前面更改组件后,经过一系列处理,基本完成改造,后面又优化了下代码,剔除了无用代码。接下来就要转发请求了。请求转发请求转发功能在写的时候,跳了不少坑,记录下。刚开始写的时候,只想转http请求,自然就想到建立个swoolehttpserver,然后把request和response丢过去就可以了。等写完了,发现根本...

summer项目开发三:manage优化升级

本来manage命令开完后应该开发服务管理,但是总有些说不清楚的感觉不舒服。后来思考了下,是用的包的问题,当然不是说之前用的config和console等不好,可能心里总觉得不放心。 终于下定决心优化下,选用更知名和大牌的包。目前最优秀的当然是symfony的组件,然后zendframe3出来后很多组件我也很喜欢...

summer项目开发二:manage开发

manage按之前的设计,需要一个命令行工具,需要一个http和websocket服务进行转发,然后有一系列功能需要扩展,万里长征需要迈出第一步。命令行工具上一篇文章选型的时候选择了https://github.com/inhere/php-console/blob/master/README_cn.md, 那么...

summer项目开发一:框架搭建

开始构建summer。伟大征程第一步1.设计包。参考了下其他框架,现在都是基于composer进行管理,而且各个包分的比较细。第一个版本简单点,设计3个包,server、manage、core,其中core包含net等公共的,等第一个版本开发出来了再进行拆包由于summer的namespace已经被人注册了,改为...

swoole实践计划:基于swoole开发一个轻量级框架

在上一篇重学swoole文章后,为了进一步更深入的进行实战,我还是决定从造轮子开始,写个基于swoole的小框架,毕竟其他实战情况工作中遇到需要的场景还比较少。既然有那么多轮子为啥还要造?买的或捡东西和自己做的能一样么,收获的是造轮子的过程和解决造轮子过程中遇到的问题所带来的快感和提升。既然要造轮子,那么就需要了...