• 为什么使用Go语言做web开发?


    本文大部分引用《GO WEB编程这本书》

    为什么使用Go语言做web开发?

     无论哪一种语言,只要它能够开发出人类交互的软件,它必然会支持web应用开发,而大规模可扩展的web应用通常具备一下气质:

    可扩展:
    应用的管理者能够简单,快速地提高应用的性能,以便处理更多的请求,应用是可扩展的,那么它就是线性的,这意味着管理者可以通过添加更多硬件来来获得更强的请求处理能力

    增加硬件的两种方式:

    • 垂直扩展:提升单台设备的CPU数量或者性能
    • 水平扩展:提高增加计算机的数量提升性能

    因为Go语言天生的支持并发编程,所以它在垂直扩展的方面有着不俗的表现,一个Go web应用只需要使用一个操作系统线程,就可以进行调度来高效的运行10万个goroutine

    这段话并没有完全理解
    Go web应用之上架设代理来进行高效的水平扩展,因为Go web应用都会被编译为不包含任何动态依赖关系的静态二进制文件,所以我们可以把这些文件分发到没有安装Go语言的系统中,从而以一种简单一致的方式部署Goweb应用。

    模块化
    大规模的web应用应该由可替换的组件构成,这种做法能够是开发更容易进行增删改查,从而满足业务的不断需求,除此之外,这种做法,可以是代码的复用率变得较高,使得成本减少

    Go语言的函数支持空的接口作为参数,所以用户只需要创建一个接受空接口作为参数的函数,就可以把任何类型的值传给函数

    这段话并没有完全理解
    Go语言也常常用于创建微服务。

    可维护
    和其他庞大复杂的应用一样,拥有一个易于维护的代码库对大规模的web应用来说也是非常重要的。

    Go语言提供很多工具例如Go fmt还有测试文件等,大大的提高开发效率。

    性能
    Go语言的设计就是提供接近C的性能

  • 相关阅读:
    【排序】桶排序(c++)
    相交链表+判断环型链表+求环型链表的入口节点
    【python数据建模】Scipy库
    Day21:算法篇之动态规划dp
    腾讯大佬资深架构师深度解析微服务架构设计之SpringCloud+Dubbo
    .NET 一款支持8种方式维持权限的工具
    Java现在还适合入门吗?
    你真的会写Restful API吗?
    jsp汽车租赁管理系统Myeclipse开发sqlserver数据库web结构java编程计算机网页项目
    初识图学习
  • 原文地址:https://blog.csdn.net/user_2022_5_1/article/details/125492888