go-restful go-chassis

2020-02-22  本文已影响0人  王艳秋1

Gin
Echo
Buffano
Revel
Iris
Beego
图解SSL/TLS协议
http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

也许,这样理解HTTPS更容易(今天看到的, 对https总结最好的一篇)

Kubernetes学习之路目录

【K8s爬坑系列】之解读kubernetes的认证原理&实践

kubernetes apiserver源码分析——api请求的认证过程
http://www.sel.zju.edu.cn/?p=609

浙江大学SEL实验室

我是怎么阅读kubernetes源代码的?
https://yq.aliyun.com/articles/679199

kubernetes认证授权机制
https://www.jianshu.com/p/bb973ab1029b

TLS握手协议竟然能教你追女神?
https://baijiahao.baidu.com/s?id=1616211978225668389&wfr=spider&for=pc

Kubernetes源码分析之kube-apiserver
https://blog.csdn.net/weixin_33757911/article/details/91454290
如何实现authentication, authorization, admission control(认证,授权,准入控制)

认证 (authentication) 和授权 (authorization) 的区别

k8s.io/kubernetes/pkg/registry
k8s.io/kubernetes/pkg/master
k8s.io/apiserver/pkg/server/
go-restful 如何使用
https://godoc.org/github.com/emicklei/go-restful

https://feisky.gitbooks.io/kubernetes/components/apiserver.html

Golang在Kubernetes语境下的编程范式
https://www.sohu.com/a/195515370_657921

Kubernetes源码分析之Pod的删除
https://www.codercto.com/a/76897.html

Kubernetes源码分析之kube-apiserver
https://juejin.im/post/5c934e5a5188252d7c216981

Kubernetes源码分析之kubelet
https://juejin.im/post/5ccbfdca518825406b5abde9#heading-1

[深度剖析Kubernetes API Server三部曲 - Part 1]

https://www.cnblogs.com/CCE-SWR/p/9916205.html

Kubernetes TLS bootstrapping 那点事
https://mritd.me/2018/01/07/kubernetes-tls-bootstrapping-note/

【kubernetes/k8s源码分析】kube-apiserverd go restful 框架使用
https://blog.csdn.net/zhonglinzhang/article/details/80346161

k8s APIServer源码: api注册详细细节
http://wklken.me/posts/2017/09/23/source-apiserver-04.html

kubelet工作原理
https://www.cnblogs.com/girl1314/p/10766709.html

kubectl api-versions
kubectl api-resources

Chef 框架之 Cookbook 的介绍及应用
https://www.ibm.com/developerworks/cn/cloud/library/1504_wangqw_chefcookbook/index.html

https://www.chef.io/
Kubernetes探秘—etcd状态数据及其备份
https://my.oschina.net/u/2306127/blog/2979019

https://jolestar.com/etcd-architecture/

Golang struct、interface 组合嵌入类型详解
https://www.jianshu.com/p/d87c69ac6ce7

嵌入类型
结构体类型可以包含匿名或者嵌入字段。也叫做嵌入一个类型。当我们嵌入一个类型到结构体中时,该类型的名字充当了嵌入字段的字段名。
接口的调用规则是建立在这些方法的接受者和接口如何被调用的基础上。下面的是语言规范里定义的规则,这些规则用来说明是否我们一个类型的值或者指针实现了该接口:

类型 *T 的可调用方法集包含接受者为 *T 或 T 的所有方法集
这条规则说的是如果我们用来调用特定接口方法的接口变量是一个指针类型,那么方法的接受者可以是值类型也可以是指针类型。显然我们的例子不符合该规则,因为我们传入 SendNotification 函数的接口变量是一个值类型。
类型 T 的可调用方法集包含接受者为 T 的所有方法
这条规则说的是如果我们用来调用特定接口方法的接口变量是一个值类型,那么方法的接受者必须也是值类型该方法才可以被调用。显然我们的例子也不符合这条规则,因为我们 Notify 方法的接受者是一个指针类型。
语言规范里只有这两条规则,我通过这两条规则得出了符合我们例子的规则:
类型 T 的可调用方法集不包含接受者为 *T 的方法

当我们嵌入一个类型,这个类型的方法就变成了外部类型的方法,但是当它被调用时,方法的接受者是内部类型(嵌入类型),而非外部类型。— Effective Go

Go 语言中内部类型方法集提升的规则:
给定一个结构体类型 S 和一个命名为 T 的类型,方法提升像下面规定的这样被包含在结构体方法集中:

如果 S 包含一个匿名字段 T,S 和 *S 的方法集都包含接受者为 T 的方法提升。
这条规则说的是当我们嵌入一个类型,嵌入类型的接受者为值类型的方法将被提升,可以被外部类型的值和指针调用。

对于 *S 类型的方法集包含接受者为 *T 的方法提升
这条规则说的是当我们嵌入一个类型,可以被外部类型的指针调用的方法集只有嵌入类型的接受者为指针类型的方法集,也就是说,当外部类型使用指针调用内部类型的方法时,只有接受者为指针类型的内部类型方法集将被提升。

如果 S 包含一个匿名字段 *T,S 和 *S 的方法集都包含接受者为 T 或者 *T 的方法提升

如果 S 包含一个匿名字段 T,S 的方法集不包含接受者为 *T 的方法提升。
这条规则说的是当我们嵌入一个类型,嵌入类型的接受者为指针的方法将不能被外部类型的值访问。这也是跟我们上面陈述的接口规则一致。

我们把interface作为struct的一个匿名成员,就可以假设struct就是此成员interface的一个实现,而不管struct是否已经实现interface所定义的函数。

golang中接口赋值与方法集
https://www.jianshu.com/p/bb62887edffa
go语言学习-接口赋值https://studygolang.com/articles/5788

上一篇下一篇

猜你喜欢

热点阅读