使用gin搭建HTTP服务

Photo by Vincenzo Malagoli on UnsplashPhoto by Vincenzo Malagoli on Unsplash

gin 是用Go语言编写的一个高性能HTTP Web框架,通过它,我们可以快速搭建一个HTTP服务。

本文并不是一篇gin的入门教程,而是介绍如何基于gin搭建一个完善的web服务,包括代码结构的分层,接口输出的标准化,如何进行错误处理,以及使用时的注意事项。

阅读全文

由内而外的改变

Photo by Erwan Hesry on UnsplashPhoto by Erwan Hesry on Unsplash

上个月的某一天,我下了个决心,希望改变自己的生物钟,并且要重新审视自己的生活与工作,打造一个更好的面貌。

于是我来了一场说做就做的行动。
今天是早睡早起的第二十一天(包括休息日),假设习惯养成理论是正确,或许我已经养成了习惯。

上面说是「或许」,这是以以往的我的态度来看待习惯这件事。
然而不同的是,我认为我已经养成了习惯,因为这次是我发自内心希望去改变,而并非为了做而做。

阅读全文

记忆学习神器 - Anki

最近发现一款神器「Anki」,听说作者之前是为了学习日语而开发的。核心在于对记忆系统的理解和应用。

这里先贴几个链接,看看别人是怎么看待和使用Anki来学习的。

Anki——近乎完美的神器
【三万字长文】量子物理学家是如何使用 Anki 的?

阅读全文

自我管理

当每次意识到时间总在不经意间流逝时,总会给自己打点鸡血,提醒自己要干点什么,要利用好时间。

可是并没有养成长久的习惯,或者是习惯在突然的某一天就断掉了(说明并不是真正的习惯,只是意志力的驱使)。

自我管理一直以来都是一件非常困难的事情,可是又是很有意义也很有必要。当把自己充电的时间与学生(尤其高考生)的时间对比,发现自从大学毕业后虽然依旧有学习的习惯,可是远远不如以前,是时候重塑自我,不要找尽任何其它借口,该醒醒重新拾起努力了。

阅读全文

今日喵片

喵星人总是这么治愈。

阅读全文

Git协作:GitFlow工作流与使用说明

GitFlowGitFlow

git作为当下最流行的版本控制工具,它存在于互联网的各个位置。

当进行个人开发,或项目规模不大时,只需要工作在master分支下,代码提交和变动都在主分支便足够了。

而在多组员、多项目的环境下时,如果没有比较好的协作流程,会存在许多问题,比如较多的版本冲突、版本不好控制等等。GitFlow作为最早被广泛采用的一种工作流程,便是为了解决这些问题。它最早发表于A successful Git branching model

阅读全文

Istio:流量管理

Photo by Lianhao Qu on UnsplashPhoto by Lianhao Qu on Unsplash

文章内容基本来自Istio官网,这里属于学习的记录。

之前提到过Istio的几大组件:EnovyPilotMixerCitadelGalley,它们各自负责不同的功能。而流量管理的功能,主要由EnvoyPilot负责。

阅读全文

Kubernetes:管理Pod的计算资源

Photo by chuttersnap on UnsplashPhoto by chuttersnap on Unsplash

在Kubernetes中,有两种资源类型,CPU和内存,它们也称为计算资源。CPU资源以核为单位计算,内存则以字节为单位计算。

在创建Pod时,默认是没有对资源进行限制的,所以好的实践方式是预估好资源的需求,提前为Pod进行资源分配,另外限制Pod能请求的资源的最大数。

CPU和内存的分配标准

在cpu的分配上,我们可以使用 10.50.1 这样的表达来分配,它们分别代表1个核,0.5个核,0.1个核,它们也等同于: 1000m500m100mm 代表millicpu的意思。cpu都是绝对值,所以不管在多少核的机器上,它们的意义都是一样的。

阅读全文

Istio:对Pod和Service的要求

Photo by Michael Liao on UnsplashPhoto by Michael Liao on Unsplash

Istio对需要注入的Pod和Service是有要求的,要成为服务网格中的一部分,它们需要满足下面的要求:

  • Service端口命名:Service的端口必须命名,匹配的格式为:<protocol>[-<suffix>]<protocol>可以是下面的几种:grpchttphttp2httpsmongoredistcptlsudp,如果没有进行命名或者命名的前缀识别不出来,那么流量都会被当成TCP流量对待,除非显示声明,比如Protocol: UDP声明端口是UDP端口。

阅读全文

Istio:五种流量管理配置资源

文章内容基本来自Istio官网,这里属于学习的记录。

Istio通过一个简单的配置模型,来控制API调用和服务间的4层通信。

流量管理配置有五种,我们先对其作简单介绍,先有个概念之后,后续再深入理解它们的行为,以及它们如何满足我们服务级别的需求。

阅读全文