从MongoID的生成讨论分布式唯一ID生成方案

背景MongoDB,想必大家都使用过,在数据落盘后,查询该条数据时,会发现其会自动生成一条"_id",如:db.test.insert({"name":"tom"}) 查询结果: { "_id" : ObjectId("5fd049327fbb28868f4660a5"), "name" : "tom" } MongoID作为主键索引,即使是集群情况下,其在整个数据库中也是全局唯一的。那这种ID有什么用呢?或者说在哪些场景下会被使用呢?当然需要满足下面两个条件:1.数据量现在或未来比较大,处于增...阅读全文

Segmentfault 2020-12-17 15:32:33 行如风

Go语言网络编程入门不走弯路最佳案例(写Api接口)

Go语言是Google领导开发的一门编程语言,国内可访问的官网 https://golang.google.cn/ image-20201213123438844 只要选对了框架,用Go语言完成网络编程会变得非常容易,目前Github Star数量最多的Go语言的框架为gin, 开源地址 github.com/gin-gonic/gin ,并且提供了中文文档 https://gin-gonic.com/zh-cn/docs/ 写一个最简单的Get接口 // 获取路由 r := gin.Defau...阅读全文

简书 2020-12-14 12:32:45 zhaoolee

etcd本地集群部署

准备工作golang环境etcd地址:https://github.com/etcd-io/etcdgoreman: https://github.com/mattn/goreman集群搭建1,安装goreman# go get github.com/mattn/goreman2, 创建Procfile文件,一共3个节点,内容如下: etcd1: etcd--nameinfra1--listen-client-urlshttp://127.0.0.1:12379--advertise-clien...阅读全文

简书 2020-12-14 12:32:44 哈里斯s

2020-12-13

package main import ( "github.com/gin-gonic/gin" ) func sayHello(c *gin.Context) { c.JSON(200,gin.H{ "message":"Hello golang", }) } func main() { //获取路由引擎 engine := gin.Default()//返回默认的路由引擎 // engine.GET("hello",sayHello) //// 启动HTTP服务,默认在0.0.0.0:808...阅读全文

简书 2020-12-14 12:32:43 1828416817

golang中的反射

本文转载自https://github.com/KeKe-Li/For-learning-Go-Tutorial/edit/master/src/chapter07/01.0.md For-learning-Go-Tutorial Go语言是谷歌2009发布的第二款开源编程语言 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 因而一直想的是自己可以根据自己学习和使用Go语言编程的心得,写一本Go的书可以帮助想要学...阅读全文

简书 2020-12-14 12:32:43 雪域迷影

Go基础技术

Go - 开篇 Go语言是Robert Griesemer,Rob Pike和Ken Thompson于2007年在Google最初开发的一种编程语言。它是一种静态类型的语言,具有与C相似的语法。它提供了垃圾回收,类型安全,动态键入功能以及许多高级内置类型,例如可变长度数组和键值映射。它还提供了丰富的标准库。Go编程语言于2009年11月发布,并在Google的某些生产系统中使用。 适合人群 本教程是为需要从头了解Go编程语言的软件程序员设计的。本教程将使您对Go编程语言有足够的了解,从那里您可...阅读全文

简书 2020-12-14 12:32:43 泥人冷风

Go初探

1 Go语言特性 自动垃圾回收 更丰富的内置类型 函数多返回值 错误处理 匿名函数和闭包 类型和接口 并发编程 反射 语言交互性 2语言结构 包声明 引入包 函数 变量 语句 & 表达式 注释 package main import "fmt" func main() { /* Always Hello, World! */ fmt.Println("Hello, World!") } 2.1 解释: package main定义了包名。必须在源文件中非注释的第一行指明这个文件属于哪个包。 pa...阅读全文

简书 2020-12-14 12:32:42 泥人冷风

最简单的 K8S 部署文件编写姿势,没有之一!

1. 头疼编写K8S部署文件?K8S yaml 参数很多,需要边写边查?保留回滚版本数怎么设?如何探测启动成功,如何探活?如何分配和限制资源?如何设置时区?否则打印日志是GMT标准时间如何暴露服务供其它服务调用?如何根据CPU和内存使用率来配置水平伸缩?首先,你需要知道有这些知识点,其次要把这些知识点都搞明白也不容易,再次,每次编写依然容易出错!2. 创建服务镜像前一篇文章 讲解了如何快速创建自己的服务镜像,不过为了演示,这篇文章我们以 redis:6-alpine 镜像为例。3. 完整K8S部...阅读全文

Segmentfault 2020-12-17 07:32:33 kevinwan

JS 遇到 CPU 密集型代码,耗时长怎么破? 来试试 Golang+WASM 曲线救国

1 写在前面1.1 业务场景最近遇到一业务需求,为了简述需求,假设业务场景根据全国各地天气气温数据生成气温分布图,需要在 Web 前端进行数据动态插值操作,大致过程将是已有的全国天气数据根据一种算法生成新的插值数据,然后将插值数据在 Web 端利用 Canvas 渲染出来。​ 插值在数值分析的数学领域,插值是一种估计类型,一种在一组离散的已知数据点范围内构造新数据点的方法。在工程学和科学中,通常有许多通过采样或实验获得的数据点,它们代表有限数量的自变量值的函数值。通常需要进行插值,即为自变量的中...阅读全文

Segmentfault 2020-12-16 23:32:32 liuvigongzuoshi

Go开发工程师

download:Go开发工程师:迎接上升风口,踏入蓝海行业! 适合零基础小白学习吗小同学,当你问出这句话的时候,就说明你已经不是小白了,你是个很有主见的“大人”了,要是你问零基础适合学习么?我肯定的告诉你:非常适合,而且要相信自己不是小白,而是小牛~祝你更进一步,加油~ 课程中的项目是真的企业级/商业级项目么?同学这个问题是我见过问得最有水平的问题了~ 确实网络上充斥了很多美其名曰“企业级/商业项目”,然而当你咨询想要体验一下项目效果,这么最低的标准都达不到,也就是网络充斥很多打着“企业级”名...阅读全文

51CTO博客 2020-12-13 00:35:00 mb5fd031edaa2f2

Go开发工程师:迎接上升风口,踏入蓝海行业!网盘无密

download:Go开发工程师:迎接上升风口,踏入蓝海行业! 适合零基础小白学习吗小同学,当你问出这句话的时候,就说明你已经不是小白了,你是个很有主见的“大人”了,要是你问零基础适合学习么?我肯定的告诉你:非常适合,而且要相信自己不是小白,而是小牛~祝你更进一步,加油~ 课程中的项目是真的企业级/商业级项目么?同学这个问题是我见过问得最有水平的问题了~ 确实网络上充斥了很多美其名曰“企业级/商业项目”,然而当你咨询想要体验一下项目效果,这么最低的标准都达不到,也就是网络充斥很多打着“企业级”名...阅读全文

51CTO博客 2020-12-13 00:19:56 mb5fd031edaa2f2

Go开发工程师:迎接上升风口,踏入蓝海行业!网盘无密

download:Go开发工程师:迎接上升风口,踏入蓝海行业! 适合零基础小白学习吗小同学,当你问出这句话的时候,就说明你已经不是小白了,你是个很有主见的“大人”了,要是你问零基础适合学习么?我肯定的告诉你:非常适合,而且要相信自己不是小白,而是小牛~祝你更进一步,加油~ 课程中的项目是真的企业级/商业级项目么?同学这个问题是我见过问得最有水平的问题了~ 确实网络上充斥了很多美其名曰“企业级/商业项目”,然而当你咨询想要体验一下项目效果,这么最低的标准都达不到,也就是网络充斥很多打着“企业级”名...阅读全文

51CTO博客 2020-12-13 00:19:50 mb5fd031edaa2f2