Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_binary",
"go_library",
)
go_binary(
name = "cmd",
embed = [":go_default_library"],
tags = ["automanaged"],
)
go_library(
name = "go_default_library",
srcs = ["main.go"],
data = [
"kvo-example.toml",
"kvo-test.toml",
],
importpath = "go-common/app/interface/main/kvo/cmd",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/main/kvo/conf:go_default_library",
"//app/interface/main/kvo/http:go_default_library",
"//library/log:go_default_library",
"//library/net/trace:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,95 @@
# toml config
version = "1.0.0"
user = "nobody"
pid= "/Users/bilibili/log/kvo.pid"
perf = "127.0.0.1:6690"
checkFile = "/Users/bilibili/log/kvo.html"
dir = "./"
family = "kvo"
address = ""
env = "test"
docLimit = 102400
[mysql]
addr = "localhost:3306"
dsn = "root:123@tcp(localhost:3306)/bilibili_kvo?timeout=5s&readTimeout=5s&writeTimeout=5s&parseTime=true&loc=Local&charset=utf8,utf8mb4"
active = 5
idle = 2
idleTimeout = "4h"
queryTimeout = "500ms"
execTimeout = "500ms"
tranTimeout = "500ms"
[mysql.breaker]
window = "1s"
sleep = "100ms"
bucket = 10
ratio = 0.5
request = 100
[xlog]
dir = "/Users/bilibili/log/kvo/"
[xlog.elk]
project = "kvo"
addr = "172.18.20.17:8520"
chanSize = 10240
[tracer]
proto = "udp"
addr = "172.16.33.46:5140"
tag = "platform/kvo"
[multiHttp]
[multiHttp.outer]
addrs = ["0.0.0.0:6691"]
maxListen = 100
[multiHttp.local]
addrs = ["0.0.0.0:6692"]
maxListen = 100
[identify]
whiteAccessKey = ""
whiteMid = 0
[identify.memcache]
name = "go-business/identify"
proto = "tcp"
addr = "172.16.33.54:11211"
active = 5
idle = 10
dialTimeout = "1s"
readTimeout = "1s"
writeTimeout = "1s"
idleTimeout = "80s"
[identify.host]
auth = "http://passport.bilibili.co"
secret = "http://open.bilibili.co"
[identify.httpClient]
key = "e7482d29be4a95b8"
secret = "9e803791cdef756e75faee68e12b7442"
dial = "300ms"
timeout = "500ms"
keepAlive = "60s"
[identify.httpClient.breaker]
window = "10s"
sleep = "300ms"
bucket = 10
ratio = 0.5
request = 100
[identify.httpClient.url]
"http://passport.bilibili.co/intranet/auth/tokenInfo" = {timeout = "100ms"}
"http://passport.bilibili.co/intranet/auth/cookieInfo" = {timeout = "100ms"}
"http://open.bilibili.co/api/getsecret" = {timeout = "500ms"}
[memcache]
expire = "10s"
[memcache.kvo]
name = "kvo"
proto = "tcp"
addr = "localhost:11211"
idle = 5
active = 10
dialTimeout = "1s"
readTimeout = "1s"
writeTimeout = "1s"
idleTimeout = "80s"

View File

@@ -0,0 +1,93 @@
# toml config
version = "1.0.0"
user = "nobody"
pid= "/tmp/kvo.pid"
perf = "127.0.0.1:6690"
checkFile = "/data/www/kvo.html"
dir = "./"
family = "kvo"
address = ""
env = "test"
docLimit = 102400
[mysql]
addr = "172.16.33.54:3306"
dsn = "test:test@tcp(172.16.33.54:3306)/bilibili_kvo?timeout=5s&readTimeout=5s&writeTimeout=5s&parseTime=true&loc=Local&charset=utf8,utf8mb4"
active = 5
idle = 2
[xlog]
dir = "/data/log/kvo/"
# [xlog.elk]
# project = "kvo"
# addr = "172.18.20.17:8520"
# chanSize = 10240
[tracer]
proto = "udp"
addr = "172.16.33.46:5140"
tag = "platform/kvo"
[multiHttp]
[multiHttp.outer]
addrs = ["0.0.0.0:6691"]
maxListen = 100
[multiHttp.local]
addrs = ["0.0.0.0:6692"]
maxListen = 100
[identify]
whiteAccessKey = ""
whiteMid = 0
[identify.app]
key = "e7482d29be4a95b8"
secret = "9e803791cdef756e75faee68e12b7442"
[identify.memcache]
name = "go-business/identify"
proto = "tcp"
addr = "172.16.33.54:11211"
active = 5
idle = 10
dialTimeout = "1s"
readTimeout = "1s"
writeTimeout = "1s"
idleTimeout = "80s"
[identify.host]
auth = "http://passport.bilibili.com"
secret = "http://open.bilibili.com"
[identify.authHTTPClient]
dial = "1s"
timeout = "1s"
keepAlive = "60s"
timer = 1000
[identify.authHTTPClient.breaker]
window ="10s"
sleep ="10ms"
bucket = 10
ratio = 0.5
request = 100
[identify.secretHTTPClient]
dial = "1s"
timeout = "1s"
keepAlive = "60s"
timer = 1000
[identify.secretHTTPClient.breaker]
window ="10s"
sleep ="10ms"
bucket = 10
ratio = 0.5
request = 100
[memcache]
expire = "720h"
[memcache.kvo]
name = "kvo"
proto = "tcp"
addr = "172.16.33.54:11213"
idle = 5
active = 10
dialTimeout = "1s"
readTimeout = "1s"
writeTimeout = "1s"
idleTimeout = "80s"

View File

@@ -0,0 +1,47 @@
package main
import (
"flag"
"os"
"os/signal"
"syscall"
"go-common/app/interface/main/kvo/conf"
"go-common/app/interface/main/kvo/http"
"go-common/library/log"
"go-common/library/net/trace"
)
func main() {
flag.Parse()
if err := conf.Init(); err != nil {
log.Error("conf.Init() error(%v)", err)
panic(err)
}
// init log
log.Init(conf.Conf.XLog)
defer log.Close()
trace.Init(conf.Conf.Tracer)
defer trace.Close()
log.Info("kvo start")
// service init
http.Init(conf.Conf)
// init pprof conf.Conf.Perf
// init signal
c := make(chan os.Signal, 1)
signal.Notify(c, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
for {
s := <-c
log.Info("kvo get a signal %s", s.String())
switch s {
case syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT:
log.Info("kvo exit")
return
case syscall.SIGHUP:
default:
return
}
}
}