Serverless之Fission

2020-12-23 13:34:33

背景 当前网上关于Fission的介绍和其他serverless产品比起来要少很多,中文资料就更少了,网上的活跃程度也感觉明显不够,这里我也当做是做了一个简单的总结笔记吧。 摘要 Fission 是由私有云服务提供商领导开源的 serverless 产品,它借助 kubernetes 灵活强大的编排能力完成容器的管理调度工作,而将重心投入到 FaaS 功能的开发上,其发展目标是成为 AWS lambda 的开源替代品。Fission 非常有趣,因为它介于 Kubeless 和 OpenWhisk 中间。它很大程度上了依赖了 Kubernetes 的很多特性,但又没有完全集成。这种方法的好处是它可以利用 Kubernetes 的长处(比如自动弹性伸缩),但在需要做一些其他不同的事情的时候可以获得更好的性能。例如,它有一个相当复杂的冷启动池机制。 Fission 由 Platform9 支持,可以通过 Helm 来安装。使用了 Influxdb 来处理状态,以及提供了 FluentD

记踩Etcd的一个坑

2020-12-14 16:24:55

背景 最近一个服务引入了etcd,用于主从,编译能够正常通过,但是在run阶段出现如下panic: 2020-12-14 13:36:42.799342 I | WARNING: proto: message authpb.User is already registered A future release will panic on registration conflicts. See: https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflict 2020-12-14 13:36:42.799365 I | WARNING: proto: message authpb.Permission is

Serverless 无服务

2020-11-11 23:03:03

由于Serverless近几年的流行,网上相关介绍文档已经介绍的比较详细了,比如:https://www.alibabacloud.com/zh/knowledge/what-is-serverless (from 阿里云)里面就从概念、优势、主要使用场景等都做了介绍,有需要可以直接点击链接去看看。 最近正好又从腾讯云的公众号上看到一个关于Serverless的视频,感觉又能从另一个角度去讲解Serverless到底能干什么,挺有意思的,特此记录一下:(视频from https://mpvideo.qpic.cn/0bf2buaa2aaa3uamhqudibpvadodbugqadia.f10002.mp4?dis_k=be70851fc63b2818ae0f788a6922becb&dis_t=1605103756&vid=wxv_1558291465271836673&format_id=10002) 视频我起码看了好几遍,核心时候的就一点减轻运维压力

sh、bash和zsh区别

2020-11-04 16:27:05

简介 Shell是一种脚本语言,是用户使用Linux的桥梁,要让这些脚本语言run起来,就必须要有解释器来执行这些脚本。而sh、bash、zsh就是脚本解释器,习惯上把它们陈祚一种shell,我们常说有多少种shell,其实说的就是shell脚本解释器。 sh Bourne Shell,是一个早期的重要shell,1978年由史蒂夫·伯恩编写,并同Version 7 Unix一起发布。 bash Bourne-Again Shell,是一个为GNU计划编写的Unix shell。1987年由布莱恩·福克斯创造。主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,是各种Linux发行版标准配置的Shell,在Linux系统上/bin/sh往往是指向/bin/bash的符号链接。 zsh 也称为Z shell,是Bourne Shell(sh)的扩展版本,具有大量新功能,并支持插件和主题。 由于它基于与Bash相同的shell,因此ZSH具有许多相同的功能,并且切换是轻而易举的。 区别 1.sh是bash的一种特殊模式,

Go json裁剪

2020-10-30 23:55:31

背景 项目中遇到一个使用场景:服务端要保存用户上传的json格式示例,但是服务端针对这个json格式示例有大小限制,比如1KB,超过这个大小后服务端就不能正常保存了。此时用户正好手里有个比较大(>1KB)的json示例,他要想将这个示例正常保存可以进行两种不同操作: 手动去裁剪这个json字符串; 通过智能的方式自动将一些重复且不必要的数据删除掉,以达到json裁剪的目的 显然,针对第一种方式不太明智,那我们如果采用第二种方式的话,又该怎么做呢? 操刀 在Go里面,我们引用官方标准库encoding/json对json进行序列化和反序列化时用的最多的也是下面的两个方法: func Unmarshal(data []byte, v interface{}) error func Marshal(v interface{}) ([]byte, error) 注意里面的入参interface类型参数,第一个是将data里面数据反序列化到v中,第二个是将v中参数序列化成json字符串。而我们json格式对象常用的格式基本上都是下面这两种类型的: [ xxx,xxx,... ] 和 { xxx:ooo,... } 我们正好可以分别用[]interface{}表示数组和map[string]interface{}表示大对象,

golang 判断interface是否为空nil

2020-09-02 23:01:15

前言 interface很好用,可以存取任意类型,但我们在使用这个值类型的时候我们往往又需要知道该interface是属于哪种类型的,以便正确使用这个值。比如,如果我们提前知道该interface为int,则都是这样使用: var a interface{} a = 5 fmt.Println(2*a.(int)) 而往往我们interface可能会存放多种不同类型的数据,为了健壮,在使用时我们需要判断interface里面存放的到底为何种类型的数据,以及这些数据是否为空?比如你引用了一个类型里面的空对象是很容易引发panic的。 我们通过什么方式判断interface是否为空呢? 先明确一点:一个interface里面存在动态类型和动态值,只有当动态类型和动态值都为空时,该interface才为空(nil) 比如: package main import "fmt" func main(){ var a interface{} = nil var b interface{} = (*int)(nil) fmt.Println(a=

Go查看项目引用的包版本及当前最新的版本

2020-08-18 17:40:15

go查看当前项目引用的包版本以及最新版本

202006读书汇

2020-06-09 22:56:58

《北上》 状态:100% finished 个人评价:good ) 偶然机会,看到了这本书,很多人在推荐。之前是不认识这本书的作者的,作者徐则臣,江苏东海人,毕业于北京大学中文系,现为《人民文学》副主编。他的作品有《耶路撒冷》《王城如海》《跑步穿过中关村》等。 故事从二十世纪初八国联军火烧圆明园到义和团扶清灭洋,再到日本侵略中国的战争到六七十年代的文化大革命,最后来到2014年大运河申遗成功这一年。这些都在运河的倒影里,时间里、土里、水里。 运河里打捞出的一封信 考古挖掘,打捞运河的时候,打捞出一封意大利军人写的信。 通过这封信,将我们带回到清末朝廷风雨飘摇的年代。八国联军攻打清政府,一把火烧了我们的圆明园。 通过这封信,我们了解到写信者马福德.迪马克并不想战争,他来中国的目的是追随元朝在中国记下运河故事的马可.菠萝的脚步。 洋鬼子小波罗的北上之路也是亲情之路 小波罗冒充学者,假装对运河很感兴趣,雇佣了做过淮安漕运衙门公职人员的谢平遥做他的随船翻译,再加上一个挑夫邵常来,他们就从苏州随运河开始北上了。一路上但凡有城池的地方,他们就会弃船登陆,走一走逛一逛,

202001读书汇

2020-02-11 11:34:22

《四世同堂》 状态:100% finished 个人评价:强烈推荐 ) 学生时代看过《骆驼祥子》,先如今印象已不深,在京东闲逛,发现老舍先生的《四世同堂》还没看过,《茶馆》倒是看过电影版的。 这次拿在手上的《四世同堂》沉甸甸的,不只是它的字数多,更多的是看完后它给我的心里沉重感。全书从卢沟桥事变为起点,祁家、钱家、冠家及其他几个院落所发生的一系列事件。有些人当了汉奸,有些人报了国...各种人性暴露无遗。我能从中了解当时人们的生活状态,然后让我更感激现在,懂得知足,也能了解历史规律...

201911读书汇

2019-11-24 19:29:08

《细雨中呼喊》 状态:100% finished 个人评价:一般 一部上世纪的回忆类小说,描述了“我”周边发生的各种事情,有善,有恶,有美,有丑,有封建迷信,也有看似存在的因果报应,而这一切,都在余华的冷静朴实而凌厉的笔下,通过一个孩童的视角通通展示开来。