From 0436709a5ddc779be6d6991db272e0d35647a0ee Mon Sep 17 00:00:00 2001 From: Leo Date: Wed, 18 Oct 2023 16:22:59 +0800 Subject: [PATCH] improve README and documentation (#8) --- README.md | 19 ++ README.zh_CN.md | 19 ++ bigcache/{README_ZH.md => README.zh_CN.md} | 2 + bigcache/compare_test/README.md | 30 ---- bigcache/compare_test/README_ZH.md | 27 --- bigcache/compare_test/go.mod | 12 -- bigcache/compare_test/go.sum | 135 --------------- bigcache/compare_test/test.go | 173 ------------------- clickhouse/README.md | 2 + clickhouse/{README_CN.md => README.zh_CN.md} | 2 + cos/README.md | 2 +- cos/{README_CN.md => README.zh_CN.md} | 0 goredis/README.md | 2 +- goredis/{README_CN.md => README.zh_CN.md} | 0 gorm/README.md | 2 +- gorm/{README_CN.md => README.zh_CN.md} | 0 hbase/README.md | 2 +- kafka/README.md | 2 +- kafka/{README_CN.md => README.zh_CN.md} | 14 +- kafka/kafka.go | 1 - mysql/README.md | 2 +- mysql/{README_CN.md => README.zh_CN.md} | 0 timer/README.md | 2 +- timer/{README_CN.md => README.zh_CN.md} | 0 24 files changed, 58 insertions(+), 392 deletions(-) create mode 100644 README.zh_CN.md rename bigcache/{README_ZH.md => README.zh_CN.md} (98%) delete mode 100644 bigcache/compare_test/README.md delete mode 100644 bigcache/compare_test/README_ZH.md delete mode 100644 bigcache/compare_test/go.mod delete mode 100644 bigcache/compare_test/go.sum delete mode 100644 bigcache/compare_test/test.go rename clickhouse/{README_CN.md => README.zh_CN.md} (99%) rename cos/{README_CN.md => README.zh_CN.md} (100%) rename goredis/{README_CN.md => README.zh_CN.md} (100%) rename gorm/{README_CN.md => README.zh_CN.md} (100%) rename kafka/{README_CN.md => README.zh_CN.md} (98%) rename mysql/{README_CN.md => README.zh_CN.md} (100%) rename timer/{README_CN.md => README.zh_CN.md} (100%) diff --git a/README.md b/README.md index e69de29..80b6003 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,19 @@ +English | [中文](README.zh_CN.md) + +# tRPC-Go Database Plugin + +In the daily development process, developers often need to access various storage systems such as MySQL, Redis, Kafka, etc., for database operations. While using open-source SDKs can fulfill the requirements for accessing databases, developers are responsible for handling naming routing, monitoring, and configuration themselves. + +Considering that tRPC-Go provides a variety of plugins for naming routing, monitoring, and configuration management, it is possible to wrap open-source SDKs to reuse tRPC-Go's capabilities and reduce redundant code. tRPC-Go offers encapsulation for some open-source SDKs, allowing you to directly leverage tRPC-Go's features for naming routing, monitoring, and more. + +| Database | Description | +| :-------: | :---------- | +| bigcache | Wraps the open-source local caching database [Bigcache](https://github.com/allegro/bigcache) | +| clickhouse | Wraps the open-source database [Clickhouse SDK](https://github.com/ClickHouse/clickhouse-go) | +| cos | Wraps Tencent Cloud Object Storage [COS SDK](https://github.com/tencentyun/cos-go-sdk-v5) | +| goredis | Wraps the in-memory database [Redis SDK](https://github.com/redis/go-redis) | +| gorm | Wraps the Golang ORM library [GORM](https://github.com/go-gorm/gorm) | +| hbase | Wraps the open-source database [HBase SDK](https://github.com/tsuna/gohbase) | +| kafka | Wraps the open-source Kafka message queue SDK [Sarama](https://github.com/IBM/sarama) | +| mysql | Wraps the open-source database [MySQL Driver](https://github.com/go-sql-driver/mysql) | +| timer | Local/distributed timer functionality | \ No newline at end of file diff --git a/README.zh_CN.md b/README.zh_CN.md new file mode 100644 index 0000000..316c598 --- /dev/null +++ b/README.zh_CN.md @@ -0,0 +1,19 @@ +[English](README.md) | 中文 + +# tRPC-Go Database 插件 + +在日常的开发过程中,开发者经常会访问 MySQL、Redis、Kafka 等存储进行数据库的读写。直接使用开源的 SDK 虽然可以满足访问数据库的需求,但是用户需要自己负责路由寻址、监控上报、配置的开发。 + +考虑到 tRPC-Go 提供了多种多样的路由寻址、监控上报、配置管理的插件,我们可以封装一下开源的 SDK,复用 tRPC-Go 插件的能力,减少重复代码。tRPC-Go 提供了部分开源 SDK 的封装,可以直接复用 tRPC-Go 的路由寻址、监控上报等功能。 + +| 数据库 | 描述 | +| :----: | :---- | +| bigcache | 封装开源本地缓存数据库 [Bigcache](https://github.com/allegro/bigcache) | +| clickhouse | 封装开源数据库 [Clickhouse SDK](https://github.com/ClickHouse/clickhouse-go) | +| cos | 封装腾讯云对象存储 [COS SDK](https://github.com/tencentyun/cos-go-sdk-v5) | +| goredis | 封装内存数据库 [Redis SDK](https://github.com/redis/go-redis) | +| gorm | 封装 Golang ORM 库 [GORM](https://github.com/go-gorm/gorm) | +| hbase | 封装开源数据库 [HBase SDK](https://github.com/tsuna/gohbase) | +| kafka | 封装开源消息队列 Kafka SDK [Sarama](https://github.com/IBM/sarama) | +| mysql | 封装开源数据库 [Mysql Driver](https://github.com/go-sql-driver/mysql) | +| timer | 本地/分布式定时器 | \ No newline at end of file diff --git a/bigcache/README_ZH.md b/bigcache/README.zh_CN.md similarity index 98% rename from bigcache/README_ZH.md rename to bigcache/README.zh_CN.md index dd98dee..47c5725 100644 --- a/bigcache/README_ZH.md +++ b/bigcache/README.zh_CN.md @@ -1,3 +1,5 @@ +[English](README.md) | 中文 + # tRPC-Go bigcache 插件 封装社区的 [bigcache](https://github.com/allegro/bigcache) ,配合 trpc 使用。 diff --git a/bigcache/compare_test/README.md b/bigcache/compare_test/README.md deleted file mode 100644 index 97c472a..0000000 --- a/bigcache/compare_test/README.md +++ /dev/null @@ -1,30 +0,0 @@ -## Performance test -Operation types: single-goroutine write, 80-goroutine read, one-time GC invocation, single-goroutine delete - -The comparison data is as follows. - -## bigcache -``` -readRoutines:80, totalItems:1000000, kpre:k vpre:v -write bigCache cost = 908.050759ms -read BigCache cost = 6.122891338s -2019/12/19 16:17:01 bigCache nil Pause:10242 1 -del BigCache cost = 477.629119ms -``` -## localcache -``` -write local cost = 1.028851498s -read local cost = 7.630089803s -2019/12/19 16:17:11 localcache nil Pause:27548 1 -delete local cost = 1.069555972s -``` -## sync.Map -``` -write sync.Map cost = 1.35084257s -read sync.Map cost = 6.888130791s -2019/12/25 17:05:29 sync.Map nil Pause:41345 1 -del sync.Map cost = 776.195203ms -``` - - - diff --git a/bigcache/compare_test/README_ZH.md b/bigcache/compare_test/README_ZH.md deleted file mode 100644 index 8edf1fa..0000000 --- a/bigcache/compare_test/README_ZH.md +++ /dev/null @@ -1,27 +0,0 @@ -## 性能测试 -操作类型:单协程写、80 协程读、调用一次 GC、单协程删除 - -对比数据如下 - -## bigcache -``` -readRoutines:80, totalItems:1000000, kpre:k vpre:v -write bigCache cost = 908.050759ms -read BigCache cost = 6.122891338s -2019/12/19 16:17:01 bigCache nil Pause:10242 1 -del BigCache cost = 477.629119ms -``` -## localcache -``` -write local cost = 1.028851498s -read local cost = 7.630089803s -2019/12/19 16:17:11 localcache nil Pause:27548 1 -delete local cost = 1.069555972s -``` -## sync.Map -``` -write sync.Map cost = 1.35084257s -read sync.Map cost = 6.888130791s -2019/12/25 17:05:29 sync.Map nil Pause:41345 1 -del sync.Map cost = 776.195203ms -``` diff --git a/bigcache/compare_test/go.mod b/bigcache/compare_test/go.mod deleted file mode 100644 index ac8c508..0000000 --- a/bigcache/compare_test/go.mod +++ /dev/null @@ -1,12 +0,0 @@ -module test - -go 1.18 - -replace trpc.group/trpc-go/trpc-database/bigcache => ../ -replace trpc.group/trpc-go/trpc-database/localcache => ../../localcache - -require ( - trpc.group/trpc-go/trpc-database/bigcache v0.0.1 - trpc.group/trpc-go/trpc-database/localcache v0.0.1 - github.com/allegro/bigcache/v3 v3.0.0 -) diff --git a/bigcache/compare_test/go.sum b/bigcache/compare_test/go.sum deleted file mode 100644 index bb4ff00..0000000 --- a/bigcache/compare_test/go.sum +++ /dev/null @@ -1,135 +0,0 @@ -git.code.oa.com/jce/jce v1.0.0 h1:ocf4yGABd2ow0mwR4rMEo2qfjIxIHq4vtIenvb34gGY= -git.code.oa.com/jce/jce v1.0.0/go.mod h1:4Ki6YcRIQHwZkVQayDy4r+12hCQl8Yl6rWoGGYgKwJU= -git.code.oa.com/trpc-go/go_reuseport v1.4.1-0.20190918100016-ae3a98fc71ee h1:Yo4nyhnw4Nm3LxetKBhLpxY5jS44Pe2UW80EcSff3j0= -git.code.oa.com/trpc-go/go_reuseport v1.4.1-0.20190918100016-ae3a98fc71ee/go.mod h1:KOhBNHSQBHuDsvt/rF+Czmup3x982MnL+8iMAFIE0kA= -git.code.oa.com/trpc-go/trpc-database/bigcache v0.0.0-20210802081033-dac32aafe9bb h1:iqOMAlGCvKNr7EDwTVqeWDW31hj71ED5cfV1oWnKILo= -git.code.oa.com/trpc-go/trpc-database/bigcache v0.0.0-20210802081033-dac32aafe9bb/go.mod h1:KJbvVSl7RWh88txfjoIk3vRnpepfhj9C7P+FWiW1vk8= -git.code.oa.com/trpc-go/trpc-database/localcache v0.1.0 h1:ATTKEIWBoRPgzDlOpIjYgnK7v/JFRu2Sd+lbC805qQI= -git.code.oa.com/trpc-go/trpc-database/localcache v0.1.0/go.mod h1:+XErzfbcns2XUWFe/3Y+ajYdmpkWqZIpUfHkQEv7BJk= -git.code.oa.com/trpc-go/trpc-go v0.1.0 h1:1EFghUH5tIRvp+BGQn+ytBeMuhgiuH8EWcnMrYYZinE= -git.code.oa.com/trpc-go/trpc-go v0.1.0/go.mod h1:uNn5KseO2QsG8qX6qzInTv2HotXq+wJofNr/NSVxSu4= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/RussellLuo/timingwheel v0.0.0-20191022104228-f534fd34a762 h1:N611cQQA4tgy8FT5MpEFPxSkGk2JwYa1fSYes0dk4Yk= -github.com/RussellLuo/timingwheel v0.0.0-20191022104228-f534fd34a762/go.mod h1:3VIJp8oOAlnDUnPy3kwyBGqsMiJJujqTP6ic9Jv6NbM= -github.com/allegro/bigcache/v2 v2.0.0-20191203214925-b7689f7c3337 h1:llYpvlp7z2fHbN5vPYg3gkHrT3yXUqgFFyEZeuzE2kM= -github.com/allegro/bigcache/v2 v2.0.0-20191203214925-b7689f7c3337/go.mod h1:FppZsIO+IZk7gCuj5FiIDHGygD9xvWQcqg1uIPMb6tY= -github.com/allegro/bigcache/v3 v3.0.0 h1:5Hxq+GTy8gHEeQccCZZDCfZRTydUfErdUf0iVDcMAFg= -github.com/allegro/bigcache/v3 v3.0.0/go.mod h1:t5TAJn1B9qvf/VlJrSM1r6NlFAYoFDubYUsCuIO9nUQ= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239 h1:Ghm4eQYC0nEPnSJdVkTrXpu9KtoVCSo1hg7mtI7G9KU= -github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239/go.mod h1:Gdwt2ce0yfBxPvZrHkprdPPTTS3N5rwmLE8T22KBXlw= -github.com/gogo/protobuf v1.3.0 h1:G8O7TerXerS4F6sx9OV7/nRfJdnXgHZu/S/7F2SN+UE= -github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20200615235658-03e1cf38a040/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869 h1:IPJ3dvxmJ4uczJe5YQdrYB16oTJlGSC/OyZDqUk9xX4= -github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag= -github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= -github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is= -github.com/lestrrat-go/file-rotatelogs v2.2.0+incompatible h1:eXEwY0f2h6mcobdAxm4VRSWds4tqmlLdUqxu8ybiEEA= -github.com/lestrrat-go/file-rotatelogs v2.2.0+incompatible/go.mod h1:ZQnN8lSECaebrkQytbHj4xNgtg8CR7RYXnPok8e0EHA= -github.com/lestrrat-go/strftime v1.0.1 h1:o7qz5pmLzPDLyGW4lG6JvTKPUfTFXwe+vOamIYWtnVU= -github.com/lestrrat-go/strftime v1.0.1/go.mod h1:E1nN3pCbtMSu1yjSVeyuRFVm/U0xoR76fd03sz+Qz4g= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/tebeka/strftime v0.1.5 h1:1NQKN1NiQgkqd/2moD6ySP/5CoZQsKa1d3ZhJ44Jpmg= -github.com/tebeka/strftime v0.1.5/go.mod h1:29/OidkoWHdEKZqzyDLUyC+LmgDgdHo4WAFCDT7D/Ig= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.5.1 h1:rsqfU5vBkVknbhUGbAUwQKR2H4ItV8tjJ+6kJX4cxHM= -go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.4.0 h1:f3WCSC2KzAcBXGATIxAB1E2XuCpNU255wNKZ505qi3E= -go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -golang.org/x/arch v0.0.0-20200511175325-f7c78586839d/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200617042924-7f3f4b10a808 h1:t4rDo0JMqBOEHVnboBBPY/e1U1exx2OO5lL/TcfJM28= -golang.org/x/tools v0.0.0-20200617042924-7f3f4b10a808/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966 h1:B0J02caTR6tpSJozBJyiAzT6CtBzjclw4pgm9gg8Ys0= -gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/bigcache/compare_test/test.go b/bigcache/compare_test/test.go deleted file mode 100644 index 0e1f817..0000000 --- a/bigcache/compare_test/test.go +++ /dev/null @@ -1,173 +0,0 @@ -// Package main is the main package. -package main - -import ( - "fmt" - "log" - "runtime" - "runtime/debug" - "strconv" - "sync" - "time" - - bigcache "github.com/allegro/bigcache/v3" - bc "trpc.group/trpc-go/trpc-database/bigcache" - "trpc.group/trpc-go/trpc-database/localcache" -) - -const ( - vPre = "v" - kPre = "1234567890k" - keys = 1000000 - readTimes = 80 -) - -var ss debug.GCStats - -func gcPause(caller string) { - runtime.GC() - debug.ReadGCStats(&ss) -} - -func gcPauseX(caller string) { - runtime.GC() - var ss1 debug.GCStats - debug.ReadGCStats(&ss1) - log.Printf(" %s Pause:%d %d\n", caller, ss1.PauseTotal-ss.PauseTotal, ss1.NumGC-ss.NumGC) -} - -func test0() { - cache, _ := bc.NewBigCache( - bc.WithBigcacheShards(256), - bc.WithBigcacheLifeWindow(time.Hour), - bc.WithBigcacheCleanWindow(-1*time.Second), - bc.WithBigcacheMaxEntriesInWindow(500000), - bc.WithBigcacheMaxEntrySize(20), - ) - { - startT := time.Now() - for i := 0; i < keys; i++ { - cache.Set(fmt.Sprintf("%s%010d", kPre, i), []byte(vPre+strconv.Itoa(i))) - } - fmt.Printf("write bigCache cost = %v\n", time.Since(startT)) - } - // read performance test - startT := time.Now() - var wg sync.WaitGroup - wg.Add(readTimes) - var v []byte - for i := 0; i < readTimes; i++ { - go func() { - defer wg.Done() - for j := 0; j < keys; j++ { - err := cache.Get(fmt.Sprintf("keyprefix%010d", i, j), v) - if v == nil || err != nil { - fmt.Sprintf("%d", 1) - } - } - - }() - } - wg.Wait() - fmt.Printf("read BigCache cost = %v\n", time.Since(startT)) - - gcPause("bigCache nilStart") - gcPauseX("bigCache nil") - // del performance test - { - cache, _ := bigcache.NewBigCache(bigcache.DefaultConfig(5 * time.Second)) - for i := 0; i < keys; i++ { - cache.Set(fmt.Sprintf("%s%d", kPre, i), []byte(vPre+strconv.Itoa(i))) - } - startT1 := time.Now() - for j := 0; j < keys; j++ { - cache.Delete(fmt.Sprintf("%s%d", kPre, j)) - } - fmt.Printf("del BigCache cost = %v\n", time.Since(startT1)) - } -} - -func test1() { - cache := localcache.New() - { - startT := time.Now() - for i := 0; i < keys; i++ { - cache.Set(fmt.Sprintf("%s%010d", kPre, i), []byte(vPre+strconv.Itoa(i))) - } - fmt.Printf("write local cost = %v\n", time.Since(startT)) - } - // read performance test - startT := time.Now() - var wg sync.WaitGroup - wg.Add(readTimes) - for i := 0; i < readTimes; i++ { - go func() { - defer wg.Done() - for j := 0; j < keys; j++ { - v, err := cache.Get(fmt.Sprintf("%s%010d", kPre, j)) - if v == nil || err { - fmt.Sprintf("%d", 1) - } - } - - }() - } - wg.Wait() - fmt.Printf("read local cost = %v\n", time.Since(startT)) - gcPause("localcache nil start") - gcPauseX("localcache nil") - { - startT1 := time.Now() - for j := 0; j < keys; j++ { - cache.Del(fmt.Sprintf("%s%d", kPre, j)) - } - fmt.Printf("delete local cost = %v\n", time.Since(startT1)) - } -} - -func test2() { - var cache sync.Map - { - startT := time.Now() - for i := 0; i < keys; i++ { - cache.Store(fmt.Sprintf("%s%010d", kPre, i), []byte(vPre+strconv.Itoa(i))) - } - fmt.Printf("write sync.Map cost = %v\n", time.Since(startT)) - } - // read performance test - startT := time.Now() - var wg sync.WaitGroup - wg.Add(readTimes) - for i := 0; i < readTimes; i++ { - go func() { - defer wg.Done() - for j := 0; j < keys; j++ { - v, err := cache.Load(fmt.Sprintf("keyprefix%010d", i, j)) - if v == nil || !err { - fmt.Sprintf("%d", 1) - } - } - - }() - } - wg.Wait() - fmt.Printf("read sync.Map cost = %v\n", time.Since(startT)) - - gcPause("sync.Map nilStart") - gcPauseX("sync.Map nil") - // del performance test - { - startT1 := time.Now() - for j := 0; j < keys; j++ { - cache.Delete(fmt.Sprintf("%s%d", kPre, j)) - } - fmt.Printf("del sync.Map cost = %v\n", time.Since(startT1)) - } -} - -func main() { - fmt.Printf("readRoutines:%d, totalItems:%d, kpre:%s vpre:%s\n", readTimes, keys, kPre, vPre) - test0() - test1() - test2() -} diff --git a/clickhouse/README.md b/clickhouse/README.md index ff6f309..b9181a3 100644 --- a/clickhouse/README.md +++ b/clickhouse/README.md @@ -1,3 +1,5 @@ +English | [中文](README.zh_CN.md) + # tRPC-Go clickhouse plugin ## Clickhouse client configuration diff --git a/clickhouse/README_CN.md b/clickhouse/README.zh_CN.md similarity index 99% rename from clickhouse/README_CN.md rename to clickhouse/README.zh_CN.md index 1d9a75c..903df40 100644 --- a/clickhouse/README_CN.md +++ b/clickhouse/README.zh_CN.md @@ -1,3 +1,5 @@ +[English](README.md) | 中文 + # tRPC-Go clickhouse 插件 ## clickhouse client 配置 diff --git a/cos/README.md b/cos/README.md index 11aab78..a3221e7 100644 --- a/cos/README.md +++ b/cos/README.md @@ -1,6 +1,6 @@ The COS client that adapts to the trpc-go framework. -English | [中文](README_CN.md) +English | [中文](README.zh_CN.md) ### cos config diff --git a/cos/README_CN.md b/cos/README.zh_CN.md similarity index 100% rename from cos/README_CN.md rename to cos/README.zh_CN.md diff --git a/goredis/README.md b/goredis/README.md index 96160a9..a5baef0 100644 --- a/goredis/README.md +++ b/goredis/README.md @@ -1,6 +1,6 @@ # tRPC-Go go-redis plugin -English | [中文](README_CN.md) +English | [中文](README.zh_CN.md) ## Principle Use hook technology to expand the open source github.com/go-redis/redis. diff --git a/goredis/README_CN.md b/goredis/README.zh_CN.md similarity index 100% rename from goredis/README_CN.md rename to goredis/README.zh_CN.md diff --git a/gorm/README.md b/gorm/README.md index 68a2400..e4182c0 100644 --- a/gorm/README.md +++ b/gorm/README.md @@ -1,6 +1,6 @@ # Gorm trpc plugin -English | [中文](README_CN.md) +English | [中文](README.zh_CN.md) This plugin provides a wrapper for the Gorm in trpc, allowing you to use the native Gorm interface while reusing trpc's plugin ecosystem. diff --git a/gorm/README_CN.md b/gorm/README.zh_CN.md similarity index 100% rename from gorm/README_CN.md rename to gorm/README.zh_CN.md diff --git a/hbase/README.md b/hbase/README.md index 7e9e0d5..90eede4 100644 --- a/hbase/README.md +++ b/hbase/README.md @@ -1,6 +1,6 @@ # tRPC-GO hbase 插件 -封装 [hbase](github.com/tsuna/gohbase),配合 trpc 使用 +封装 [hbase](https://github.com/tsuna/gohbase),配合 trpc 使用 ## hbase client 框架配置 ```yaml diff --git a/kafka/README.md b/kafka/README.md index 95c149a..a0fbb35 100644 --- a/kafka/README.md +++ b/kafka/README.md @@ -1,6 +1,6 @@ # tRPC-Go kafka plugin -English | [中文](README_CN.md) +English | [中文](README.zh_CN.md) wrapping community [sarama](https://github.com/Shopify/sarama), used with trpc. diff --git a/kafka/README_CN.md b/kafka/README.zh_CN.md similarity index 98% rename from kafka/README_CN.md rename to kafka/README.zh_CN.md index 5532d4b..9574e30 100644 --- a/kafka/README_CN.md +++ b/kafka/README.zh_CN.md @@ -21,8 +21,8 @@ import ( "time" "context" - "git.code.oa.com/trpc-go/trpc-database/kafka" - "git.code.oa.com/trpc-go/trpc-go/client" + "trpc.group/trpc-go/trpc-database/kafka" + "trpc.group/trpc-go/trpc-go/client" ) func (s *server) SayHello(ctx context.Context, req *pb.ReqBody, rsp *pb.RspBody)( err error ) { @@ -60,8 +60,8 @@ package main import ( "context" - "git.code.oa.com/trpc-go/trpc-database/kafka" - trpc "git.code.oa.com/trpc-go/trpc-go" + "trpc.group/trpc-go/trpc-database/kafka" + trpc "trpc.group/trpc-go/trpc-go" "github.com/Shopify/sarama" ) @@ -90,8 +90,8 @@ func handle(ctx context.Context, msg *sarama.ConsumerMessage) error { import ( "context" - "git.code.oa.com/trpc-go/trpc-database/kafka" - trpc "git.code.oa.com/trpc-go/trpc-go" + "trpc.group/trpc-go/trpc-database/kafka" + trpc "trpc.group/trpc-go/trpc-go" "github.com/Shopify/sarama" ) @@ -312,7 +312,7 @@ address: ip1:port1,ip2:port2?topics=topic1,topic2&mechanism=SCRAM-SHA-512&user={ ```go import ( // ... - "git.code.oa.com/vicenteli/trpc-database/kafka" + "trpc.group/trpc-go/trpc-database/kafka" // ... ) diff --git a/kafka/kafka.go b/kafka/kafka.go index fe87fa1..f793376 100644 --- a/kafka/kafka.go +++ b/kafka/kafka.go @@ -36,7 +36,6 @@ func init() { // you need to wait for all subcontracted messages to be consumed before starting business logic processing. // When the consumer's Handle method or msg.ServerRspErr returns this error, // It means that you want to continue to consume messages without commit ack and not treat them as errors. -// specific scene reference issue:https://git.woa.com/trpc-go/trpc-database/issues/251 var ContinueWithoutCommitError = &errs.Error{ Type: errs.ErrorTypeBusiness, Code: errs.RetUnknown, diff --git a/mysql/README.md b/mysql/README.md index 5cfaabf..cc0d0e5 100644 --- a/mysql/README.md +++ b/mysql/README.md @@ -1,6 +1,6 @@ # tRPC-Go mysql plugin -English | [中文](README_CN.md) +English | [中文](README.zh_CN.md) ## Wrapping Standard Library Native Sql diff --git a/mysql/README_CN.md b/mysql/README.zh_CN.md similarity index 100% rename from mysql/README_CN.md rename to mysql/README.zh_CN.md diff --git a/timer/README.md b/timer/README.md index cfc9a94..27636ac 100644 --- a/timer/README.md +++ b/timer/README.md @@ -1,6 +1,6 @@ # tRPC-Go timer plugin -English | [中文](README_CN.md) +English | [中文](README.zh_CN.md) ## timer service diff --git a/timer/README_CN.md b/timer/README.zh_CN.md similarity index 100% rename from timer/README_CN.md rename to timer/README.zh_CN.md