ES快照原理ES Snapshot 快照 概览快照模块是 ES 备份、迁移数据的重要手段。ES 快照支持增量备份,支持多种类型的仓库存储。 仓库用于存储快照,支持共享文件系统(例如 nfs),以及通过插件支持的HDFS、Amazon S3、Microsoft Azure、Google GCS。譬如云上对象存储: elasticsearch-repository-cos elasticsearch-repos 2024-03-08 ES > 中间件 #es
单元化架构思考架构演进单体架构单体架构最初就是打一个大包, 将UI、后台服务都打在一起。 早期的 ASP、JSP、PHP 技术体系中非常流行。随着业务的发展, 架构的复杂性、流量的增长, 单体架构的逐渐产生了一些单点瓶颈: 应用数据库竞争 应用瓶颈 数据库瓶颈 应用数据库竞争最开始应用和数据库部署在同一台机器很容易产生资源竞争 所以第一步就是把程序和数据库分开部署 应用瓶颈-集群部署当流量增多后, 单应 2024-02-20 系统设计
mongoDB知识总结MongoDB 简介MongoDB 是基于文档的 NoSql 存储引擎。MongoDB 的数据库管理由数据库、Collection(集合,类似MySql的表)、Document(文档,类似MySQL的行)组成,每个Document都是一个类JSON结构BSON结构数据。 MongoDB 的核心特性是:No Schema、高可用、分布式(可平行扩展),另外MongoDB自带数据压缩功能,使得同样的数 2024-01-12 中间件 #mongo
docker网络原理Docker 网络架构目前围绕着 docker 的网络,目前有两种比较主流的声音,docker主导的 Container network model(CNM) 和社区主导的 Container network interface(CNI) CNI(Container Networking Interface)架构CNI(Container Networking Interface)提供了一种lin 2023-10-26 云原生 #docker #网络
go net/http标准库源码go 快速实现一个 HttpServergo 的标准库 net/http 可以快速实现一个 web 服务器: 1234567891011121314151617181920func index(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello World")}type HelloH 2023-10-08 go
深入理解 go 反射反射反射是可以让我们在程序运行时(runtime)访问、检测和修改对象本身状态或行为的一种机制。 GO 反射的基础是interface和类型系统: 结合 interface 的结构, 可以看出 go 的 interface 是由 type 和 data 两部分组成的, type 承载类型信息, data承载类型的数据。详细请参考深入理解 go interface 反射对象 reflect.Typ 2023-07-31 go
深入理解 go interfaceinterface 是什么在 go 里面通过 interface 实现了泛型、多态等面相对象特性, 那么在 go 的 interface 到底是什么 省略掉繁琐的编译过程(暂时对go tool 生成的汇编代码看的不是很懂), 拿出结论: 空接口 interface{} 底层结构是 eface 具体的 interface 类型底层结构是 iface iface 和 eface 2023-07-11 go #interface
go pprof使用pprof 简介工欲善其事必先利其器, java 中有 async-profile、 arthas、jstack/jmap/jstat 等一系列工具来辅助排查性能问题 在 linux 下,常用的调试定位工具: vmstat、iostat、 mpstat、netstat、 sar 、top:查看系统、程序信息等 gprof、perf、perf top:定位到具体函数、调用等 strace、ltra 2023-06-25 go #tools
go context原理context 是什么在官方文档中对 context 描述如下: 1A Context carries a deadline, a cancellation signal, and other values across 翻译过来就是: 携带了超时时间、取消信号和值的一种结构。 在 go 语言开发中, context 用于提供上下文的联系, 在不同协程调用间建立取消和超时机制,也可以用于传递相关值 2023-06-15 go #context
从进程开始了解GMP模型进程和线程进程是操作系统分配资源(CPU、内存、文件)、调度任务和执行的一个基本单位。它拥有独立的内存空间、已分配的资源和独立的执行上下文。线程是CPU调度的基本单位,同一进程内的线程共享了进程的资源和内存空间。 系统将内存分为两个区域: 内核空间(Kernal Space): 内核空间是指用于运行操作系统内核、驱动程序等低级系统组件的特殊内存区域。在这个区域中,代码拥有对硬件的完全访问权限,包 2023-06-05 go #gmp