
Golang
文章平均质量分 91
sHuXnHs
这个作者很懒,什么都没留下…
展开
-
使用istio管理dubbo服务
Istio是什么Istio,希腊语,意思就跟他的图标一样,意扬帆起航。据说作者为了取名,翻阅了几个小时的希腊字段,主要是为了沿用k8s建立的航海主题,帆船与船舵相互配合才能扬帆起航。官方对 Istio 的介绍浓缩成了一句话:An open platform to connect, secure, control and observe services. 可以说Istio是用来处理服务间通信的基础设施层,这个简介也介绍了Istio的四个重要的功能:Connect: 控制服务间的调用流量,能够实现灰原创 2021-04-06 09:17:39 · 1636 阅读 · 0 评论 -
如何学习云原生
如何学习云原生什么是云原生云原生以容器、微服务、DevOps,持续交付等技术为基础建立的一套云技术产品体系。这是一种新型技术体系,是云计算未来的发展方向。从1999年到2024年,本地部署和市场云化此消彼长,企业上云的速度随着虚拟化等技术的发展大大加快,未来可能将成为各大企业的一项基础能力。所以作为一名刚入行或资深的工程师,我觉得都应该对云原生相关的概念和技术了解,提升自己的核心竞争力。如何从零开始学习云原生云原生技术体系非常的庞大,我们可能经常听到docker,k8s(kubernetes)等相关原创 2021-03-16 15:52:09 · 990 阅读 · 0 评论 -
Etcd V2与V3存储差异
Etcd V2与V3存储差异在Etcd v2与v3两个版本中,使用的存储方式完全不同,所以两个版本的数据并不兼容,对外提供的接口也是不一样的,不同版本的数据是相互隔离的,只能使用对应的版本去存储与获取。V2——基于内存的存储在v2版本中,数据是以树形结构完全存储在内存中的,只有进行持久化的时候才会将数据以JSON格式存储进磁盘。v2的watch机制在v2版本中,存在着一个EventHistory表,EventHistory表是有长度限制的,默认是1000.v2中存在一个全局的版本cu原创 2020-11-01 22:59:28 · 1701 阅读 · 0 评论 -
Go基础数据结构学习——slice
Go基础数据结构学习——slicesliceSlice切片:是一个数组某部分的引用,在内存中是一个包含三个域的结构体,第一个是指向数据的第一个元素的指针,第二个是切片的长度,第三个是切片的容量type slice struct { array unsafe.Pointer len int cap int}slice不能简单使用==来测试两个slice是否拥有相同的...原创 2020-04-18 23:38:30 · 237 阅读 · 0 评论 -
Go基础数据结构学习——string
Go基础数据结构学习——stringstring在Go语言内存模型中用一个2字长的数据结构表示,一个是指向字符串存储的数据的指针,另一个为长度数据。type stringStruct struct { str unsafe.Pointer len int}由于string中不包含内存空间,只有一个内存的指针,可以方便的进行传输而不用担心内存拷贝,非常的轻量化,但是字符串字面量...原创 2020-04-14 23:24:34 · 362 阅读 · 0 评论 -
go协程控制——context
context为什么有context首先,如果我们在并发程序中,如果需要我们去通知子协程结束我们会怎么做?我们可能会通过一个channel+select去通知,如下:package mainimport ( "fmt" "time")func main() { exitChan := make(chan bool) go func() { for { ...原创 2020-03-09 01:49:25 · 516 阅读 · 0 评论 -
go的*锁*包——sync
go的锁包——sync上一篇文章介绍了各种锁的基本概念,这篇文章主要学习一下Go的标准库sync包,提供了基本的同步基元.要注意的是,sync除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些互斥锁——Mutex互斥锁: 同一时刻只能有一个读或写的场景var mu sync.Mutexfunc main() {...原创 2020-03-04 23:00:12 · 203 阅读 · 0 评论