erpeng's code area


  • Home

  • Tags

  • Archives

gin框架分析

Posted on 2020-01-16 |
版本说明:gin v1.5.0版本. 结构说明首先看下各文件代码行数: 1234567891011$find ./gin/ -name *.go|grep -v test|xargs wc -l|sort -nr|head -n 10 5698 total 1065 ./gin//c ...
Read more »

基于Redis与CRDT的分布式数据库

Posted on 2019-12-04 |
CRDTCAP理论证明三者之间不可能同时完全满足,如果分布式数据库必须满足P-分区容忍性,CA只能占其一.A是可用性,C是一致性.CRDT(Conflict-Free Replicated Data Type)能根据一定的规则自动合并,解决冲突,达到最终一致的状态.即可以满足AP,但会保证最终是一致 ...
Read more »

c和lua-2

Posted on 2019-11-24 |
C functionsc函数必须按一定的签名来写,如下: 1typedef int (*lua_CFunction) (lua_State *L); 例如从lua中调用c写的sin函数,如下: 123456static int l_sin (lua_State *L) { double ...
Read more »

c和lua-3

Posted on 2019-11-24 |
c函数的状态一般在c函数中保存non-local data时可以使用全局或者静态变量.但如果c library供lua调用的话,这种方法是不可行的(一则涉及lua和c的类型转换,二者此类函数不能被多个lua state使用).此时可以将其保存为lua global variable,但这样lua代码 ...
Read more »

c和lua

Posted on 2019-11-19 |
An Overview of the C API C API既可以将lua作为library供c代码调用,也可以将c代码作为libraray供lua调用 c 和 lua之间通过一个virtual stack交流.所有的数据交换和API调用都发生在stack,stack上也可以保存一些中间变量.该st ...
Read more »

Redis Replication,fullsync以及psync

Posted on 2019-11-13 |
具体参考链接见下文,本文对redis作者思考replication的过程做一个复盘 psync主从之间同步时,主相当于一个从的client,从只需要接收命令并执行.并且重传不会导致数据不一致,简单而可信赖(Simple and reliable). 在内存很昂贵的情况下,即使因为网络抖动导致重连 ...
Read more »

TDD

Posted on 2019-10-29 |
martin fowler关于测试的一些文章总结 TDD缘起于Kent Back极限编程(XP Extreme Programming)方法论中的一种方法-测试驱动开发(Test-Driven Development).遵循以下三个步骤: 首先编写功能相关的测试 编写功能代码直到通过测试 重构 ...
Read more »

OpenTracing and OpenCensus-3

Posted on 2019-10-29 |
本文关注metrics/trace/log的收集方式.通过三个常用的开源工具了解其实现原理 prometheus 脚本类工作(Short-lived jobs)可以通过Pushgateway收集,daemon可以直接通过引入client端收集并对外提供接口.Prometheus server可以 ...
Read more »

OpenTracing and OpenCensus-2

Posted on 2019-10-22 |
上一篇着重介绍OpenTracing spec相关内容.本章通过一些实例介绍OpenTracing. 说明参考https://github.com/yurishkuro/opentracing-tutorial/tree/master/go注意该代码仓库中引入jaeger-client-go使用 ...
Read more »

OpenTracing and OpenCensus-1

Posted on 2019-10-18 |
Metrics/Tracing/LoggingMetrics:聚合指标,例如http请求数是一个counter,队列长度是一个gauge,请求时间是一个histogramLogging:离散的eventsTracing:request-scoped.一个请求范围内的调用关系 OpenTracing通 ...
Read more »
<1234…9>

87 posts
43 tags
GitHub
© 2022 erpeng
Powered by Hexo
|
Theme — NexT.Muse v5.1.4