自身情况:熟练掌握其他语言,go 看了一下午现在勉强能写。
需求:实现一个类似数据库中间件,帮忙处理一些解协议、读取数据、归纳等等的请求。想了想感觉这种纯 IO+计算的任务,还是 Go 比 Java 更适合需求。项目定位不是特别企业化流程那种的,大概是需要实现微服务和容器化,但不需要大规模组织部署管理这样的。
想问下现在构建类似的项目主流依赖的环境都有哪些?有无老哥列一些关键字,让我搜索学习。感觉大概就是消息队列、网络通信、稍微有那么一丁点科学计算、日志、监控这几个主要环节吧。不想用特别新或者特备旧的框架。(后端是 RocksDB ,开源项目没查到比较满意的,想自己做一个实现)
|  |      1Akitora      2024-01-22 00:35:52 +08:00 Java 和 Go 的异构微服务我是用 Consul 做注册/配置,服务间通信用 grpc | 
|  |      2lsk569937453      2024-01-22 08:17:49 +08:00 表达能再清楚一点??? 数据库中间件做什么用?兼容什么协议(mysql/postgresql/mssql 协议)? | 
|      3kuituosi      2024-01-22 09:30:33 +08:00 可以参照 geth, 以太坊的 go 实现 | 
|  |      4me1onsoda      2024-01-22 09:46:50 +08:00 写这种基础设施还要用框架吗,不是应该直接上手撸吗 | 
|  |      5Richard14      2024-01-22 10:02:45 +08:00 @lsk569937453 挺清楚的吧,OP 写的类似中间件+RocksDB ,你这 mysql/pg/mssql 什么鬼 | 
|  |      6mightybruce      2024-01-22 10:15:36 +08:00 中间件不怎么用各种框架,都是想法设法减轻对第三方依赖的,这不是业务开发,中间件要想可控性强,就别用什么框架,一些通用的 bug 少的库可以用用 | 
|      7sztink      2024-01-22 10:19:19 +08:00 开发中间件是没有什么框架的,你可以参考其他开源中间件怎么实现的。一般都是 reactor 模式,在 go 语言里面套路都一样,accept 客户端连接,然后开个 goroutine 处理。推荐看看 nsq ,nats, rpcx 等开源项目。 | 
|  |      8lsk569937453      2024-01-22 10:19:37 +08:00 @Richard14 看来你已经理解的很清楚了,中间件+RocksDB 。 那你能解释一下,这个中间件的主要功能是什么? | 
|  |      9jimrok      2024-01-22 10:33:26 +08:00 我记得这种中间件有人实现过,可以做数据库高可用的代理,做拆库的数据聚合,查询的性能优化。 | 
|  |      10aw2350      2024-01-22 11:49:58 +08:00 帮忙处理一些解协议、读取数据、归纳等等的请求 ----------------------------------------------- 感觉你这个纯业务,称不上中间件 | 
|      12bthulu      2024-01-22 13:11:02 +08:00 用什么中间件, 直接用 go 写一个开源数据库啊 | 
|      13dayeye2006199      2024-01-22 14:08:44 +08:00 我看了两遍没看明白 OP 想弄个啥,盲猜一个 envoy ? | 
|  |      14noyidoit      2024-01-22 14:33:25 +08:00 感觉解协议、读取数据、连接池管理之类是 driver 做的事,而日志和监控需要自己封装 database/sql ,至于归纳和科学计算,虽然知道是什么意思,但结合你这个场景不知道是什么意思 | 
|  |      15F281M6Dh8DXpD1g2      2024-01-22 14:38:06 +08:00 做了你就知道 jdbc/odbc 的好了 | 
|  |      16shellcodecow      2024-01-22 17:32:26 +08:00 database proxy??? ORM? gorm xorm??? |