美文网首页
go微服务开发工具箱

go微服务开发工具箱

作者: go4it | 来源:发表于2022-02-20 22:26 被阅读0次

使用golang开发了一阵子业务代码,本文主要梳理一下自己的使用感受,并总结一下常用的类库,方便查阅。由于本人是java重度使用者,不免加以对比吐槽一下,请见谅。

go做业务开发?

对比java这里说说用go做业务开发的感受:

  • 优点

    • 云原生首选,省内存
    • 挺适合写脚本的,可替代python
  • 缺点

    • 没使用好会panic,线上服务直接进程退出还挺严重的
    • go没有maven的SNAPSHOT版本,基于commit hash加日期作为伪版本,很容易出现invalid version,体验非常不好,不像SNAPSHOT这么省事
    • 写面向对象比较费劲,每个方法都要写个receiver,不像java这么规整
    • ioc的支持不像java有ioc的标准,生态也不太行,比如uber/dig,都无法按name注入map结构
    • godoc太简陋了,没有javadoc那么规整
    • 没有注解和泛型(虽然新版支持了,但是要等周边生态支持了才能好好用上),语言表达力弱了很多
    • 至于协程,业务开发貌似这个派不上用场
    • 包的机制挺怪的,默认以最后一个为准,很容易冲突,也不容易辨识,若是加上别名,那更是灾难,非常不利于分析
    • 缺乏好用的test suite,不像java的juint,写几个注解就可以,挺费劲的

golang常见类库

总结

用go进行业务开发感觉成本还挺大,绝对不是省内存,云原生这么简单的事情,如果是大公司,可以用钱去砸,我没话说。中小公司如果自身团队不是go背景,想从零开始,感觉成本还挺大,个人愚见。

相关文章

  • go微服务开发工具箱

    序 使用golang开发了一阵子业务代码,本文主要梳理一下自己的使用感受,并总结一下常用的类库,方便查阅。由于本人...

  • 开发自己的区块链基础功能篇

    准备工作: 安装go开发环境 用go搭建web服务 go语言基础 安装go开发环境 到https://golang...

  • .net开发常用组件

    consul go语言开发的,服务发现、服务注册 ocelot .net api网关超时、熔断避免某个服务挂断导致...

  • Go Micro(3)——开发微服务

    Go Micro(3)——开发微服务 这是一个高等级的说明:怎样使用 go-micro 来编写微服务,如果你想学习...

  • centos 下 docker 安装 gogs

    简介 Gogs(Go Git Service)是一款极易搭建的自助git服务。使用 Go 语言开发使得 Gogs ...

  • Win10系统Eclipse中配置Go开发环境

    以太坊的基本服务程序使用Go语言开发,同时Eclipse是当下免费开源的强IDE,提供Go开发的插件,因此搭建一个...

  • centos7上使用docker部署gogs

    ## 简介Gogs(Go Git Service)是一款极易搭建的自助git服务。使用 Go 语言开发使得 Gog...

  • 3.Thrift指南 实战go服务端

    前言:上一遍通过thrift工具服务接口,这里采用go实现服务端 1.准备工作,安装go thrift包2.开发服...

  • GO 从入门开始放弃

    GO现在比较流行的游戏等服务器开发语言。 配置beego 插件: 下载安装go 环境因为go环境安装时,自动生成的...

  • 菜鸟带你看传说中的微信开发!

    1.微信开发原理微信客户端->微信服务器->开发绑定的服务器。微信开发步骤: 2.微信验证服务器原理(验证服务器的...

网友评论

      本文标题:go微服务开发工具箱

      本文链接:https://www.haomeiwen.com/subject/fuxblrtx.html