Dgraph 存储引擎badger 之浅析<一>
BadgerDB 是一个用纯 Go 编写的可嵌入、持久且快速的键值 (KV) 数据库。它是Dgraph的底层数据库, 一个快速的分布式图数据库。它旨在成为 RocksDB 等非基于 Go 的键值存储的高性能替代品。
图数据库 2022-11-21 14:40:25
Nebula 入门
NebulaGraph 是由前 Facebook 员工叶小萌离职创业后, 在 2019年 推出的图数据库产品, 底层数据模型是属性图, 基于 C++ 语言编写, 存储引擎基于 RocksDB改造, 使用 RAFT 保证数据读写的强一致性。NebulaGraph 基于 C++ 实现, 架构设计支持存储千亿顶点、万亿边, 并提供毫秒级别的查询延时
图数据库 2022-11-21 14:40:25
nginx 的安装与配置已经常规问题汇总
Nginx採用多进程模型, 单Master—多Worker, 由Master处理外部信号、配置文件的读取及Worker的初始化。Nginx主要用来作为Web服务器, 也可以负载均衡, 正向代理、反向代理、重定向、防盗链、rewrite。
服务器管理与架构 2022-11-21 14:40:25
RESTful API 最佳实践
RESTful 是目前最流行的 API 设计规范, 用于 Web 数据接口的设计。它的大原则容易把握, 但是细节不容易做对。本文总结 RESTful 的设计细节, 介绍如何设计出易于理解和使用的 API。REST API URI 设计的七准则
服务器管理与架构 2022-11-21 14:40:25
微服务化的基石: 持续集成
当一个系统复杂到一定程度, 当维护一个系统的人数多到一定程度, 解决问题的难度和沟通成本大大提高, 因而需要拆成很多个工程, 拆成很多个团队, 分而治之。微服务化,持续集成,负载均衡,Nginx,敏捷开发,DevOps。
服务器管理与架构 2022-11-21 14:40:25
使用 Docker 构建 Yapi(Api 接口管理)
YApi 是高效、易用、功能强大的 api 管理平台, 旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API, YApi 还为用户提供了优秀的交互体验, 开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。(yapi, api, docker)
服务器管理与架构 2022-11-21 14:40:25
关于Http协议, 你必须要知道的
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。HTTP 是基于 TCP/IP 协议通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。它不涉及数据包(packet)传输, 主要规定了客户端和服务器之间的通信格式, 默认使用80端口。
服务器管理与架构 2022-11-21 14:40:25
压力及性能测试(Web & Database)
性能测试(Performance Test)和压力测试(Stress Test)的工具收集(ab, sysbench, tcpcopy ...)性能测试是一种“正常”测试, 主要测试使用时系统是否满足要求, 压力测试的目标是测试在一定的负载下系统长时间运行的稳定性
服务器管理与架构 2022-11-21 14:40:25
Kubernetes 单机部署与基本操作
kubernetes, 简称K8s, 是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的, 用于管理云平台中多个主机上的容器化的应用, Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署, 规划, 更新, 维护的一种机制。
服务器管理与架构 2022-11-21 14:40:25
Zookeeper——一致性协议:Zab协议
Zab协议是为分布式协调服务Zookeeper专门设计的一种 支持崩溃恢复 的 原子广播协议 , 是Zookeeper保证数据一致性的核心算法。Zab借鉴了Paxos算法, 但又不像Paxos那样, 是一种通用的分布式一致性算法。
服务器管理与架构 2022-11-21 14:40:25
Raft协议原理详解
Raft是一种用于替代Paxos的共识算法。相比于Paxos, Raft的目标是提供更清晰的逻辑分工使得算法本身能被更好地理解, 同时它安全性更高, 并能提供一些额外的特性。
服务器管理与架构 2022-11-21 14:40:25
RudderStack 入门
RudderStack 是一个独立的、独立的系统, 仅依赖于数据库(PostgreSQL)。它的后端是用 Go 编写的, 具有用 React.js 编写的丰富 UI。作为领先的开源客户数据平台(CDP), RudderStack提供数据管道, 可以轻松地从每个应用程序、网站和 SaaS 平台收集数据, 然后在您的仓库和业务工具中激活它。
服务器管理与架构 2022-11-21 14:40:25
jaeger 基本入门与example
Jaeger 受Dapper和OpenZipkin的启发, 是Uber Technologies以开源形式发布的分布式跟踪系统。它用于监控和故障排除基于微服务的分布式系统.其基础是分布式上下文传播的概念, 它涉及将某些元数据与进入系统的每个请求相关联, 并在请求执行扇出到其他微服务时跨线程和进程边界传播该元数据。
服务器管理与架构 2022-11-21 14:40:25
linux运维、架构之路-LVS负载均衡
LVS是Linux Virtual Server的简写, 意即Linux虚拟服务器, 是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立, 是中国国内最早出现的自由软件项目之一。在linux内存2.6中, 它已经成为内核的一部分, 在此之前的内核版本则需要重新编译内核。
服务器管理与架构 2022-11-21 14:40:25
如何发挥出PHP7的高性能
如何体现出PHP7的优势? 在使用PHP7的时候如果要开启它的高性能, 需注意以下几点:Opcache, 使用新的编译器,HugePage,cache,PGO等
脚本语言 2022-11-21 14:40:25
PHP session反序列化漏洞总结
数组中的东西需要存储下来, 首先需要序列化。然后session序列化后需要储存在服务器上, 默认的方式是储存在文件中, 储存路径在session.save_path中, 如果没有规定储存路径, 那么默认会在储存在/tmp中, 文件的名称是’sess_’+session名, 文件中储存的是序列化后的session
脚本语言 2022-11-21 14:40:25
PHP7强悍性能背后, zval的变化!
其实在PHP7中的zval, 已经变成了一个值指针, 它要么保存着原始值, 要么保存着指向一个保存原始值的指针. 也就是说现在的zval相当于PHP5的时候的zval *. 只不过相比于zval *, 直接存储zval, 我们可以省掉一次指针解引用, 从而提高缓存友好性.
脚本语言 2022-11-21 14:40:25
PHP(及扩展)的编译与安装 以及 composer方法
php的安装与基本配置, 一下常用扩展如Memcache、Memcached、Redis、Swoole的说明。php的常规设置, 如隐藏PHP版本信息、MySQL的socket设置、php-fpm进程池优化, Composer的安装与使用等!
脚本语言 2022-11-21 14:40:25
Nodejs扩展开发
node.js实际上就是一个用c++完成的程序, 他之所以能够实现javascript,是因为他的底层主要的两部分第三方库, chrome V8和 libuv。对node(主要如何开发c++插件)有一个快速完整的认识, 需要安装编译c++文件为node可以使用的.node文件
脚本语言 2022-11-21 14:40:25
GDB and LLDB command examples
Below is a table of GDB commands with the LLDB counterparts. The built in GDB-compatibility aliases in LLDB are also listed. The full lldb command names are often long, but any unique short form can be used. Instead of 'breakpoint set', 'br se' is also acceptable.