从0实现分布式任务调度系统--MongoDB基础操作

Posted 尚书左仆射

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从0实现分布式任务调度系统--MongoDB基础操作相关的知识,希望对你有一定的参考价值。

系统环境Centos7,下载并解压 mongodb-linux-x86_64-3.0.6.tgz

进入解压后的目录,使用mkdir 命令新建一个 data 目录:

启动MongoDB服务:

        nohup bin/mongod --dbpath=./data --bind_ip=0.0.0.0 &

使用 bin/mongo 命令连接MongoDB进行测试:

下载MongoDB go语言接口包:

https://github.com/go-mgo/mgo

 

GO语言操作代码:

package main

// https://github.com/go-mgo/mgo
import (
   "fmt"
   "gopkg.in/mgo.v2"
   "gopkg.in/mgo.v2/bson"
   "log"
)

type Person struct 
   Name string
   Email string


func main() 
   session, err := mgo.Dial("mongodb://119.311.215.80:27017")
   if err != nil 
      panic(err)
   
   defer session.Close()

   // Optional. Switch the session to a monotonic behavior.
   session.SetMode(mgo.Monotonic, true)

   c := session.DB("test").C("people")
   err = c.Insert(&Person"zhang", "zhang@126.com",
      &Person"wang", "wang@163.com")
   if err != nil 
      log.Fatal(err)
   

   result := Person
   err = c.Find(bson.M"name": "wang").One(&result)
   if err != nil 
      log.Fatal(err)
   

   fmt.Println("Email:", result.Email)

运行结果:

查看当前MongoDB中的数据情况:

至此可以看出,上面的代码已经将两条记录插入到test数据库的people集合中,并将对应的记录查询回来后进行了展示。

以上是关于从0实现分布式任务调度系统--MongoDB基础操作的主要内容,如果未能解决你的问题,请参考以下文章

从0实现分布式任务调度系统--实现cron表达式定时任务

分布式调度系统现状

分布式任务调度的实现

分布式任务调度的实现

分布式工作流任务调度系统Easy Scheduler正式开源

使用IDEA搭建XXL-JOB分布式任务调度平台