- 博客(41)
- 资源 (8)
- 收藏
- 关注
转载 ElasticSearch 基础教程
ES基础(一)基本概念1索引文档和RESTAPIES基础(二)基本概念(2):节点,集群,分片及副本ES基础(三)文档的基本 CRUD 与批量操作ES基础(四)倒排索引入门
2021-08-31 16:22:23 430
翻译 ElasticSearch 7 权威指南(四)Elasticsearch的配置
目录配置Elasticsearch配置文件路径配置文件格式环境变量的替换集群和节点的设置类型具体设置设置 JVM 选项配置ElasticsearchElasticsearch提供了良好的默认设置,只需要很少的配置。在正在运行的集群上的大多数设置可以使用Cluster update settings API更改。配置文件应包含特定于节点的设置(如 node.name 和 paths),或节点为了加入集群所需的设置,如 cluster.name 和 network.host。配置文件路径Elastic
2020-08-17 11:00:19 1482
翻译 ElasticSearch 7 权威指南(二)Elasticsearch入门
目录Elasticsearch入门安装、运行 Elasticsearch在 Elastic Cloud 上运行 Elasticsearch本地(Linux、MacOS、Windows)安装运行ElasticsearchElasticsearch入门准备好试用Elasticsearch并亲自了解如何使用RESTAPI来存储、搜索和分析数据了吗?逐步完成以下入门教程:安装、运行Elasticsearch集群。为一些示例文档建立索引使用Elasticsearch查询语言搜索文档。使用 bucket
2020-07-25 19:57:41 1071
翻译 ElasticSearch 7 权威指南(一)什么是Elasticsearch ?
目录译者序什么是Elasticsearch信息的输出:搜索和分析搜索数据分析数据更多功能译者序公司项目经常要用到 ElasticSearch,于是查询各种资料,但是现在非常多中文版的资料都是基于 2.X之前版本的ElasticSearch,目前版本已经到了7.8,非常多的特性有了很大的改变,导致现在很多中文资料的示例会返回警告,甚至不能够成功运行,目前 ElasticSearch 官方网站有7.8版本的英文版权威指南,所以我这边希望能翻译成中文版,供大家学习。什么是ElasticsearchElas
2020-07-25 00:41:48 1877 1
原创 swoole协程+zephir纯php开发大型RPG微信小游戏(已开源)
概述我在一年前,帮助朋友构建游戏RPG后台的时候,思考如何兼顾开发效率和性能,最终想到了 php + swoole协程 + ext-orm + zephir ,微信小游戏搜索:“剑的传说” swoole协程有着极高的IO并发能力ext-orm 是我开发的php 扩展,开源地址为: https://github.com/swoole/ext-orm ,有着非常高的性能、sql安全性和开发效率...
2020-04-27 09:46:33 4313 1
原创 PHP7/5扩展开发函数手册(7) - 字符串常用处理
目录 字符串左右连接 正则匹配 字符串左右连接下面示例是在 PHP7 下运行的代码, PHP5 暂未实现,大家可以自行研究,这里一定注意, 由正则函数产生的对象,我们不要主动释放,否则会出现段错误。zval * relation;SW_ALLOC_INIT_ZVAL(relation);SW_ZVAL_STRING(relation, "table user1", ...
2018-09-10 12:31:58 464
原创 PHP7/5扩展开发函数手册(6) - 异常处理
输出打印下面3个通用输出函数,PHPWRITE()与php_write()相同,将数据写入当前输出缓冲区。 php_html_puts()通过转义HTML实体并编码其他特殊字符(如 tab和换行符)来执行其他工作,以确保非HTML格式的数据在与HTML驱动的SAPI一起使用时看起来一致。int php_printf(const char *format, ...);int php_wr...
2018-09-03 19:38:53 645
原创 PHP7/5扩展开发函数手册(5) - 对象
目录String 的两个宏定义 类的初始化 INIT_CLASS_ENTRY 类实体的注册 zend_register_internal_class 成员函数参数 ZEND_BEGIN_ARG_INFO_EX 声明类的成员变量 zend_declare_property 声明类常量 zend_declare_class_constant 类的初始化示例 获取对象句柄 Z_OBJ...
2018-08-29 19:40:57 1767 4
原创 PHP7/5扩展开发函数手册(4) - 数组
目录String 的两个宏定义 初始化数组 array_init 添加数组数据 add_assoc_null 获取数组中HashTable 根据 key 获取数组的 value 创建一个HashTable 获取HashTable元素数量 获取HashTable元素的最小/最大值 HashTable遍历操作 获取指定HashPosition位置处的值 HashTable数据更...
2018-08-29 19:03:27 1004
原创 PHP7/5扩展开发函数手册(3) - 函数
目录函数参数 函数定义 函数返回 PHPAPI函数调用 类型转换函数 判断是否回调函数 调用用户空间函数 函数参数//类成员函数的参数宏定义ZEND_BEGIN_ARG_INFO_EX(name, pass_rest_by_reference, return_reference, required_num_args) ZEND_ARG_PASS_INFO(by...
2018-08-29 19:00:52 1385
原创 PHP7/5扩展开发函数手册(2) - zval操作
目录String 的两个宏定义 在扩展中打印zval zval 的销毁 zval 类型获取 获取 zval 的 value 值 zval变量赋值 获取zval引用计数 增加引用计数? 传入参数分离 获取常量的值 注册常量String 的两个宏定义在Zend 内核中,针对字符串,定义了两个宏, 这个在后续的字符串处理中经常需要用到,大家留意----zend_por...
2018-08-29 17:20:44 1789 1
原创 PHP7/5扩展开发函数手册(1) - zval结构
1、zval 结构:PHP5:struct _zval_struct { union { long lval; double dval; struct { char *val; int len; } str; HashTable *ht; ...
2018-08-29 17:01:24 1004
原创 一文看懂Redis
什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。...
2018-07-12 09:17:55 1544 1
原创 一文看懂MySQL索引结构、使用策略及优化
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。索引的本质...
2018-07-08 20:34:03 4504
原创 一文看懂 kafka 机制
Kafka的特性- 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。- 可扩展性:kafka集群支持热扩展- 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失- 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)...
2018-07-07 13:56:39 4169
原创 深入详解美团点评CAT跨语言服务监控(九)CAT管理平台MVC框架
上一篇:CAT跨语言服务链监控(八)报表持久化 在第2章我们讲到,服务器在初始化CatServlet 之后, 会初始化 MVC,MVC也是继承自AbstractContainerServlet , 同样也是一个 Servlet 容器,这是一个非常古老的MVC框架,当时Spring MVC 还并不成熟,但是所有MVC框架的核心思想都是一致的。 在初始化完Ca...
2018-07-05 20:25:11 3268 9
原创 深入详解美团点评CAT跨语言服务监控(八)报表持久化
上一篇:CAT跨语言服务链监控(七)消息分析器与报表(二) 下一篇:CAT跨语言服务链监控(九)CAT管理平台MVC框架周期结束 我们从消息分发章节知道,RealtimeConsumer在初始化的时候,会启动一个线程,每隔1秒钟就去从判断是否需要开启或结束一个周期(Period),如下源码,如果 value < 0 的时候,就会启动一个周期结束线程,线程会调用...
2018-07-05 20:24:54 2819
原创 深入详解美团点评CAT跨语言服务监控(七)消息分析器与报表(二)
上一篇:CAT跨语言服务链监控(六)消息分析器与报表(一) 下一篇:CAT跨语言服务链监控(八)报表持久化CrossAnalyzer-调用链分析 在分布式环境中,应用是运行在独立的进程中的,有可能是不同的机器,或者不同的服务器进程。那么他们如果想要彼此联系在一起,形成一个调用链,在Cat中,CrossAnalyzer会统计不同服务之间调用的情况,包括服务的访问...
2018-07-05 10:33:06 3589
原创 深入详解美团点评CAT跨语言服务监控(六)消息分析器与报表(一)
上一篇:CAT跨语言服务链监控(五)配置与数据库操作 下一篇:CAT跨语言服务链监控(七)消息分析器与报表(二)大众点评CAT微服务监控架构对于消息的具体处理,是由消息分析器完成的,消息分析器会轮训读取PeriodTask中队列的消息来处理,一共有12类消息分析器,处理后的结果就是生成各类报表。 消息分析器的构建在周期Period构造函数中,我们会通过m_ana...
2018-07-04 19:52:09 3573
原创 深入详解美团点评CAT跨语言服务监控(五)配置与数据库操作
上一篇:CAT跨语言服务链监控(四)服务端消息分发 下一篇:CAT跨语言服务链监控(六)消息分析器与报表(一)CAT配置在CAT中,有非常多的配置去指导监控的行为,每个配置都有相应的配置管理类来管理,都有一个配置名, 配置在数据库或者配置文件中都是以xml格式存储,在运行时会被解析到具体实体类存储。我们选取一个配置的初始化代码来分析:public class ...
2018-07-03 17:26:07 4278
原创 深入详解美团点评CAT跨语言服务监控(四)服务端消息分发
上一篇:CAT跨语言服务链监控(三)CAT客户端原理 下一篇:CAT跨语言服务链监控(五)配置与数据库操作这边首先介绍下大众点评CAT消息分发大概的架构如下: 图4 消息分发架构图 分析管理器的初始化 我们在第一章讲到...
2018-07-02 19:41:12 3772 2
原创 深入详解美团点评CAT跨语言服务监控(三)CAT客户端原理
上一篇:CAT跨语言服务链监控(二) CAT服务端初始化 下一篇:CAT跨语言服务链监控(四)服务端消息分发CAT客户端实现cat客户端部分核心类message目录下面有消息相关的部分接口internal目录包含主要的CAT客户端内部实现类; io目录包含建立服务端连接、重连、消息队列监听、上报等io实现类; spi目录为上报消息工具包,包含消息二进制编解码、...
2018-07-02 13:30:54 10069 4
原创 深入详解美团点评CAT跨语言服务监控(二) CAT服务端初始化
上一篇:CAT跨语言服务链监控(一) CAT简介与部署 下一篇:CAT跨语言服务链监控(三)CAT客户端原理 Cat模块 Cat-client : cat客户端,编译后生成 cat-client-2.0.0.jar ,用户可以通过它来向cat-home上报统一格式的日志信息,可以集成到 mybatis、spring、微服务 dubbo 的监控等等流行框架...
2018-07-02 12:51:24 8086 6
原创 深入详解美团点评CAT跨语言服务监控(一) CAT简介与部署
下一篇: CAT跨语言服务链监控(二) CAT服务端初始化前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring、MyBatis、Dubbo 等框架以及Log4j 等结合,支持PHP、C++、Go等多语言应用,基本接入了美团点评上海侧所有核心应用。目前在中间件(MVC、RPC、数据库、缓存等)框架中得到...
2018-07-02 12:50:45 23669 14
原创 一文看懂 MySQL事务隔离级别与锁
数据库锁共享锁(Shared lock)例1:----------------------------------------T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象)T2: update table set column1='hello' 过程:T1运行 (加共享锁)T2运行等待T1运行完之后再运...
2018-04-10 20:32:55 10929 14
原创 腾讯面试经历
今年疫情打乱了整个计划,但是幸运的是,终于收到了腾讯的offer,应腾讯HR小姐姐的邀请,让我写一篇面试总结,因为我自己也之前也做过技术经理、研发总监等,也面试过不少人,就把我的感受和大家分享一下,才疏学浅,欢迎指正。 虽说互联网行业进入存量竞争时期,整个互联网行情没有几年前那么火爆了,但是优秀的人才,尤其是A+型人才(自主能动、乐于分享、感染他人、保持乐观),在各大互联网公司其...
2020-04-13 12:36:59 11588 1
原创 局部性原理在php、mysql、kafka的实际应用
何为局部性原理 工作已经快10年的时间,看了很多各种技术书籍,总结了其中一些共性,其中就有一点,在系统性能方面,尤其是存储方面,局部性原理都在其中扮演着非常重要的角色,比如PHP5到PHP7的优化、比如MySQL索引、kafka的page cache 的应用等等,都或多或少夹杂着局部性原理在其中的应用。 那么,究竟什么是局部性原理?这里一般分为2种: 时间局...
2020-03-09 10:26:09 1480
原创 基于swoole协程通道的Actor模型(高并发事务)
Actor 模型介绍在高并发环境中,为了保证多个进程同时访问一个对象时的数据安全,我们通常采用两种策略,共享数据和消息传递,使用共享数据方式的并发编程面临的最大的一个问题就是数据条件竞争(data race)。处理各种锁的问题是让人十分头痛的一件事,锁限制了并发性, 调用者线程阻塞带来的浪费,用的不好,还容易造成死锁。和共享数据方式相比,消息传递机制最大的优点就是不会产生数据竞争状态(dat...
2019-05-13 10:42:44 1666
原创 基于swoole的轻量级socket框架(含协程版数据库/缓存连接池)
ycsocket基于 swoole 和 ycdatabase 的 websocket 框架,各位可以自己扩展到 TCP/UDP,HTTP。在ycsocket 中,采用的是全协程化,全池化的数据库、缓存IO,对于IO密集型型的应用,能够支撑较高并发。项目github地址: https://github.com/caohao-php/ycsocket文档暂时未写全,后续有时间了再完善。环境:...
2019-04-02 09:40:35 1326
原创 zephir 引起的引用计数问题
zephir 引用计数问题//fight.zepnamespace Test;class Fight{ public heros_attr = []; public function __construct(var ids) { var id; for id in ids { var heroAttr; let heroAttr = new HeroAt...
2019-03-21 09:33:42 413
原创 轻量级高性能PHP框架ycroute(高级):集成分布式配置中心QConf
目录:QConf介绍 QConf优点 QConf架构 zookeeper 安装 QConf安装部署 使用QConf QConf管理界面安装 PHP SDK 扩展 分集群配置 - 不同环境,不同配置 与YCRoute框架集成 - db/redis配置化 灰度发布QConf介绍: QConf 是奇虎360开源的一款分布式配置中心。是一款非常成熟的系统组件,运行3年多...
2019-02-17 12:47:05 1872
原创 CentOS 6 升级 GCC 带来的坑
CentOS 6 自带的 GCC 版本为 4.4.7[root@game bin]# /usr/bin/gcc -vUsing built-in specs.Target: x86_64-redhat-linuxConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share...
2019-02-17 08:56:52 1579
原创 轻量级高性能PHP框架ycroute(中级): 基于yar的RPC服务 - 像调用本地函数一样调用远程函数
目录框架介绍运行环境代码结构路由配置过滤验签控制层加载器模型层数据交互dao层(可选)Redis缓存操作数据库操作配置加载公共类加载公共函数日志模块视图层RPC 介绍 - 像调用本地函数一样调用远程函数RPC ServerRPC ClientRPC 并发调用附录 - Core_Model 中的辅助极速开发函数RPC 介绍 - 像调用本地函数一样调用远...
2019-02-14 19:26:19 1572 2
原创 轻量级高性能PHP框架ycroute(初级): MVC 框架与各大组件
目录框架介绍运行环境代码结构路由配置过滤验签控制层加载器模型层Redis缓存操作数据库操作配置加载公共类加载公共函数日志模块视图层附录 - Core_Model 中的辅助极速开发函数框架介绍框架由3层架构构成,Controller、Model、View 层,支持PHP7,优点如下:1、框架层次分明、使用简洁(开箱即用)、功能强大。2、基于 yaf 路由和...
2019-02-12 10:29:53 1306
原创 C语言PHP扩展高性能数据库ORM框架ycdb(3) : 稳定的Redis连接池
上一章:C语言PHP扩展高性能数据库ORM框架ycdb(2): 构建稳定的数据库连接池目录:Instruction Requirement 创建测试表 在linux中编译ycdb Start ycdatabase 初始化ycdb连接 原生SQL执行 错误处理 Where 语句 Select 语句 Insert 语句 Replace 语句 Update 语句 Del...
2019-01-03 10:26:00 1084 4
原创 C语言PHP扩展高性能数据库ORM框架ycdb(2) : 构建稳定的数据库连接池
上一章:C语言PHP扩展高性能数据库ORM框架ycdb(1) : SQL生成器下一章:C语言PHP扩展高性能数据库ORM框架ycdb(3): 稳定的Redis连接池目录:Instruction Requirement 创建测试表 在linux中编译ycdb Start ycdatabase 初始化ycdb连接 原生SQL执行 错误处理 Where 语句 Select ...
2018-12-25 23:25:15 6498 5
原创 C语言PHP扩展高性能数据库ORM框架ycdb(1) : SQL生成器
下一章:C语言PHP扩展高性能数据库ORM框架ycdb(2) : 构建稳定的数据库/缓存连接池目录:介绍 安装环境 创建测试表 在linux中编译ycdb Start ycdatabase 初始化ycdb连接 原生SQL执行 错误处理 Where 语句 Select 语句 Insert 语句 Replace 语句 Update 语句 Delete 语句 完整例句...
2018-11-23 14:54:27 3363 4
腾讯微服务框架Tars依赖软件包-2
2019-02-19
腾讯微服务框架Tars依赖软件包-1
2019-02-19
PHP高性能组合框架(C扩展)
2018-08-21
PHP高性能4层框架SuperCI
2018-08-11
SuperCI框架
2018-08-11
superci框架(高性能PHP框架)
2018-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人