Golang微服务框架有什么推荐的嘛?

最近在考察一些相关框架,之前自己简单做了一个轮子,随着发展越来越不满足需求。那么大家都是用哪种呢?如果附上推荐理由和优缺点对比更是感激不尽。手机发帖不打太多了…

已邀请:

andot - 野生程序员,20年+编程经验,近十年来,全身心专注于 Hprose 开源项目的开发和维护。

赞同来自: kevin andylau004

首选 hprose



  1. 跨语言————支持25+种语言。

  2. 无需 IDL ———— 可以直接发布 Go 语言中普通的函数和方法。

  3. 松耦合 ———— 客户端和服务器端接口不需要完全一致,只要相容就可以进行调用,非常方便服务升级。

  4. 高效 ———— 不但开发效率高而且运行效率同样高。

  5. 序列化支持广泛 ———— 除了基本类型以外,还支持各种复杂类型,比如带有循环引用结构的类型。还包括为 JSON 定义的序列化结构体,或者使用各种其它序列化生成器生成的结构体。

  6. 提供了客户端负载均衡,故障切换,幂等性调用自动重试等机制。

  7. 支持服务器到客户端的推送,包括单播,多播和广播。

  8. 支持各种底层协议,包括 HTTP、TCP、UnixSocket 和 WebSocket。

  9. 可以直接在浏览器中调用,而且还支持跨域调用,甚至支持在 IE6 中跨域调用。

johnsmith

赞同来自: kevin

微服务和业务紧密关联,一定要定好边界,方案众多,框架貌似没啥,脚手架有一点,可以试着看看这些关键字:
智能客户端
服务发现
服务治理
降级
熔断
dapper
感觉最主要的是监控,metrics数据,这个做不好做不细后续都是坑
最终目的是服务六个九,服务体系可以自愈
PS:
可以看看netflix家的方案,比较有代表性
国内的话可以看看微博,豆瓣的

frank - 全栈工程师

赞同来自: kevin


感觉最主要的是监控,metrics数据



人家服务框架都没跑起来,这不误导人家吗,监控和运维体无论是不是微服务都重要

lotus

赞同来自: kevin

golang 的就知道这个 https://github.com/micro/micro

stirlingx - https://github.com/liyue201

赞同来自: cholerae

为什么要用框架呢,go的脊髓是简洁,自己写就好了

stirlingx - https://github.com/liyue201

赞同来自:

要回复问题请先登录注册