airwide.datacenter

module
Version: v0.0.0-...-6e21e7b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2018 License: Apache-2.0

README

airwide.datacenter

a high-performance, stable server airwide client ecosystem

Introduction

Airwide Data Center, based on the Go programming technology, includes but not limited to the following features:

  • mtprotocCode generator

    • Automatically convert tl to protobuf protocol
    • Automatically generate codec code of tl binary data, which can convert the binary data received by the client tl into a protobuf object, and access it through grpc
  • dalgenData access layer code generator

    • Integrated sqlparser parser, automatically generate dao code through configurable sql
    • Check sql syntax when generating code, greatly reducing the chance of error in traditional handwritten sql implementation and the workload of handwritten sql calls
  • Support for switchable multiple service registration and discovery systems

  • Integration of grpc's recovery and other middleware

Architecture diagram

Architecture diagram

Documents
Compile and install

Compile and install

Compile and run the script

Dependency script

Supporting client
Official open source client to modify the adaptation version

Android client for telegramd

macOS client for telegramd

iOS client for telegramd

tdesktop for telegramd

Web client (stay tuned)

Open source client library modification adaptation version

tdlib

TODO

channels, Secret Chats, bots and payments. These major functions have not been realized yet.

Technical exchange group

Bug feedback, comments and suggestions are welcome to join Telegramd Chinese Technical Exchange Group discuss。

English

Introduce

open source mtproto server implement by golang, which compatible telegram client.

Install

Build and install

build

prerequisite

Feedback

Please report bugs, concerns, suggestions by issues, or join telegram group Telegramd to discuss problems around source code.

Directories

Path Synopsis
access
session/server
salt cache
salt cache
baselib
app
cache
Package cache provide a Cache interface and some implement engine Usage: import( "github.com/astaxie/beego/cache" ) bm, err := cache.NewCache("memory", `{"interval":60}`) Use it like this: bm.Put("astaxie", 1, 10 * time.Second) bm.Get("astaxie") bm.IsExist("astaxie") bm.Delete("astaxie") more docs http://beego.me/docs/module/cache.md Package cache implements a LRU cache.
Package cache provide a Cache interface and some implement engine Usage: import( "github.com/astaxie/beego/cache" ) bm, err := cache.NewCache("memory", `{"interval":60}`) Use it like this: bm.Put("astaxie", 1, 10 * time.Second) bm.Get("astaxie") bm.IsExist("astaxie") bm.Delete("astaxie") more docs http://beego.me/docs/module/cache.md Package cache implements a LRU cache.
cache/redis
Package redis for cache provider depend on github.com/garyburd/redigo/redis go install github.com/garyburd/redigo/redis Usage: import( _ "github.com/astaxie/beego/cache/redis" "github.com/astaxie/beego/cache" ) bm, err := cache.NewCache("redis", `{"conn":"127.0.0.1:11211"}`) more docs http://beego.me/docs/module/cache.md
Package redis for cache provider depend on github.com/garyburd/redigo/redis go install github.com/garyburd/redigo/redis Usage: import( _ "github.com/astaxie/beego/cache/redis" "github.com/astaxie/beego/cache" ) bm, err := cache.NewCache("redis", `{"conn":"127.0.0.1:11211"}`) more docs http://beego.me/docs/module/cache.md
grpc_util
Package grpc_util is a generated protocol buffer package.
Package grpc_util is a generated protocol buffer package.
grpc_util/middleware/examples/zproto
Package zproto is a generated protocol buffer package.
Package zproto is a generated protocol buffer package.
grpc_util/middleware/recovery2
helper recovery, RecoveryHandlerFunc spit UnaryRecoveryHandlerFunc and StreamRecoveryHandlerFunc
helper recovery, RecoveryHandlerFunc spit UnaryRecoveryHandlerFunc and StreamRecoveryHandlerFunc
grpc_util/service_discovery/examples/proto
Package proto is a generated protocol buffer package.
Package proto is a generated protocol buffer package.
net2/codec
Test codec
Test codec
queue2
Package queue provides a fast, ring-buffer queue based on the version suggested by Dariusz Górecki.
Package queue provides a fast, ring-buffer queue based on the version suggested by Dariusz Górecki.
timer
Package timer provides various enhanced timer functions.
Package timer provides various enhanced timer functions.
biz
core/account
Package account is a generated protocol buffer package.
Package account is a generated protocol buffer package.
core/phone_call
Package phone_call is a generated protocol buffer package.
Package phone_call is a generated protocol buffer package.
core/user
Package user is a generated protocol buffer package.
Package user is a generated protocol buffer package.
dal/dao/redis_dao
TODO(@benqi): 可以使用如下方法来生成seq - 如果运维能保证redis数据可靠性,可移除数据库seq_updates_ngen的存储 - 可使用[seqsvr](https://github.com/nebula-in/seqsvr)服务来生成seq - 可调研艺龙的序列号生成器 - 直接使用etcd或zk
TODO(@benqi): 可以使用如下方法来生成seq - 如果运维能保证redis数据可靠性,可移除数据库seq_updates_ngen的存储 - 可使用[seqsvr](https://github.com/nebula-in/seqsvr)服务来生成seq - 可调研艺龙的序列号生成器 - 直接使用etcd或zk
Package mtproto is a generated protocol buffer package.
Package mtproto is a generated protocol buffer package.
play
push

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL