0%

channel介绍

channel一个类型管道,通过它可以在goroutine之间发送和接收消息。它是Golang在语言层面提供的goroutine间的通信方式。

垃圾回收(Garbage Collection,简称GC)是编程语言中提供的自动的内存管理机制,自动释放不需要的对象,让出存储器资源,无需程序员手动执行。

安装

go get github.com/spf13/viper

viper支持的功能

1、可以设置默认值 2、可以加载多种格式的配置文件,如JSON,TOML,YAML,HCL和Java属性配置文件 3、应用程序运行过程中,保持监听和重新读取配置文件 4、可以从环境变量读取配置 5、可以从远程配置系统读取配置 6、可以读取命令行标志作为配置 7、可以从缓冲区中读取 8、设置显式的值

docker的定义

Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现。 docker是linux容器的一种封装,提供简单易用的容器使用接口。它是最流行的Linux容器解决方案。 docker的接口相当简单,用户可以方便的创建、销毁容器。 docker将应用程序与程序的依赖,打包在一个文件里面。运行这个文件就会生成一个虚拟容器。 程序运行在虚拟容器里,如同在真实物理机上运行一样,有了docker,就不用担心环境问题了。

什么是soup

类似python中beatifulsoup,用于提取html标签提取,多用于爬虫。它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航,搜索以及修改剖析树的操作。利用它我们不在需要编写正则表达式就可以方便的实现网页信息的提取。soup是一个小型的网页提取包,其接口与beauthoulsoup非常相似。

什么是thrift

Thrift是Facebook于2007年开发的跨语言的rpc服框架,提供多语言的编译功能,并提供多种服务器工作模式;用户通过Thrift的IDL(接口定义语言)来描述接口函数及数据类型,然后通过Thrift的编译环境生成各种语言类型的接口文件,用户可以根据自己的需要采用不同的语言开发客户端代码和服务器端代码。

前言

   在后台服务开发中,高可用性是构建中核心且重要的一环。服务发现(Service discovery)和负载均衡(Load Balance)一直都是我关注的话题。今天来谈一下我在实际中是如何理解及落地的。

RPC 框架原理

RPC 框架的目标就是让远程服务调用更加简单、透明,RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP)、序列化方式(XML/Json/ 二进制)和通信细节。服务调用者可以像调用本地接口一样调用远程的服务提供者,而不需要关心底层通信细节和调用过程。

msyql执行流程

你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时::

select * from T where ID=10

我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。

什么是JWT?

JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端分离项目和OAuth2.0业务场景下。