主页

【Big-Data】数据库基础知识

整体架构 基础知识 数据库名词解释 数据库的基本概念 数据库三大范式 数据库关联查询 练习 单表 排序 多表查询 Take Away Notes 整体架构 了解关系型(MySQL)和非关系型数据库(Redis)可以参考下面这个图: 其中相关的基础概念可以分别参考这两个链接作为查询: Mysql: https://blog.csdn.net/ThinkWon/article/details/104778621 Redis: https://blog.csdn....

阅读更多

【Golang】Golang Slice解析

Golang Slice解析 slice实现 Slice是Golang提供的数据结构,slice的底层实现是这样的: // Definition of slice type slice struct { array unsafe.Pointer // Pointer to underlying data array len int // slice length cap int // max array size } slice更新操作 由于slice传递至函数的是引用,所以作为函数参数传入到函数体内,对slice进行改变是会影响最终结果的。例如下面的例子: func changeArr(arr []int) { arr[0] = 1 } s...

阅读更多

【Golang】Service mesh详解

Definition Service Mesh是一个可配置的、低时延的架构层应用,主要应用在微服务框架中,用来处理内部微服务的海量数据通信的一种主要基于应用层API编写的框架。整体可以参考下图: 我们从用户发起请求到请求被返回的流程对service mesh负责的各个功能和模块进行拆解。 Container Orchestration Framework 这是一个系统引擎,当外部请求进入到系统内部时,首先访问到整个Framework,这个Framework能够对微服务框架的所有功能模块进行全局和局部的配置以及管理,并在这个基础上提供不同粒度的功能,例如维护服务发现表,进行内部网负载均衡等。 Load Balancing 当有大量流量进入到系统内部时,该功能模块从tr...

阅读更多

【Golang】Golang Map并发编程

Golang Map并发读写 直接并发读写 如果直接对map进行并发读写,那么会造成Panic或者error,如下所示: package main func main() { m := make(map[int]int) go func() { for { read := m[0] // sync read } }() go func() { for { m[0] = 1 // sync write } }() } 上面程序有问题 传统加锁读写 package main func main() { m := make(map[int]int) mc := sync.Mutex ...

阅读更多