03 2022 档案
摘要:# kubectl get ns NAME STATUS AGE cloudzone Active 23h default Active 7d23h edgemesh Active 25h edgezone Active 22h kube-node-lease Active 7d23h kube-p
阅读全文
摘要:创建 声明 var ch chan int 赋值 无缓冲 channel:元素类型为 T ch1 := make(chan int) 带缓冲 channel:元素类型为 T、缓冲区长度为 capacity ch2 := make(chan int, 5) 发送与接收 ch1 <- 13 // 将整型
阅读全文
摘要:Goroutine 调度器 Goroutine 占用的资源非常小,每个 Goroutine 栈的大小默认是 2KB。而且,Goroutine 调度的切换也不用陷入(trap)操作系统内核层完成,代价很低。因此,一个 Go 程序中可以创建成千上万个并发的 Goroutine。而将这些 Goroutin
阅读全文
摘要:并发设计:将程序分成多个可独立执行的部分的结构化程序的设计方法 并发不是并行。并发是应用结构设计相关的概念,而并行只是程序执行期的概念,并行的必要条件是具有多个处理器或多核处理器,否则无论是否是并发的设计,程序执行时都有且仅有一个任务可以被调度到处理器上执行。 goroutine是由 Go 运行时(
阅读全文
摘要:相对于操作系统线程,Goroutine 的开销十分小,一个 Goroutine 的起始栈大小为 2KB,而且创建、切换与销毁的代价很低,可以创建成千上万甚至更多 Goroutine。所以和其他语言不同的是,Go 应用通常可以为每个新建立的连接创建一个对应的新 Goroutine,甚至是为每个传入的请
阅读全文
摘要:sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common 添加国内镜像GPG证书 curl -fsSL http://mirrors.
阅读全文
摘要:在使用ubuntu系统时遇到,执行以下即可: apt-get -y install sudo
阅读全文
摘要:使用defer实现函数执行过程的跟踪 package main func Trace(name string) func() { println("enter:", name) return func() { println("exit:", name) } } func foo() { defer
阅读全文
摘要:阻塞 I/O 模型是对开发人员最友好的,也是心智负担最低的模型,而 I/O 多路复用的这种通过回调割裂执行流的模型,对开发人员来说过于复杂了 Go 选择了为开发人员提供阻塞 I/O 模型,在 Goroutine 中以最简单、最易用的“阻塞 I/O 模型”的方式,进行 Socket 操作。 网络轮询器
阅读全文
摘要:网络 I/O 模型定义的是应用线程与操作系统内核之间的交互行为模式。我们通常用阻塞(Blocking)/**非阻塞(Non-Blocking)**来描述网络 I/O 模型。 阻塞 I/O(Blocking I/O) 阻塞 I/O 是最常用的模型,这个模型下应用线程与内核之间的交互行为模式如下 在阻塞
阅读全文
摘要:图书管理 API 服务 模拟真实世界的一个书店的图书管理后端服务。这个服务为平台前端以及其他客户端,提供针对图书的 CRUD(创建、检索、更新与删除)的基于 HTTP 协议的 API。API 采用典型的 RESTful 风格设计,这个服务提供的 API 集合如下: 客户端和服务端中请求与响应的数据,
阅读全文
摘要:创建一个基于 HTTP 协议的 Web 服务 构建一个最简单的 HTTP 服务,当收到一个 HTTP 请求后,给请求方返回包含“hello, world”数据的响应。 main.go package main import "net/http" func main() { http.HandleFu
阅读全文
摘要:线性稀疏索引(Kafka) 适用于 append only 的存储模式,利用有序性带来的二分搜索,加速查找指定 offset 的日志内容 树状索引 红黑树 特点 在内存中,红黑树任意字段的查询可以做到 logN 的复杂度 相比于二分搜索所需具备的有序性,在红黑树上做元素的调整和增删效率要高得多。对于
阅读全文
摘要:我是在本地使用idea用tomcat启动项目时遇到的,我的服务去调用RPC服务提供的接口调用不到,怀疑是url出现问题,结果发现多了包名 解决办法 打开tomcat的配置 将两个地方的包名去掉 重新运行项目即可
阅读全文
摘要:打开IDEA->help(帮助)->Edit Custom VM Options(编辑自定义VM选项参数)->在文件后面加上-Dfile.encoding=UTF-8 →重启
阅读全文