tw4ld6 发表于 2024-8-18 10:19:56

相比Java、PHP、Python, Go语言做后端有哪些优良?


    <div style="color: black; text-align: left; margin-bottom: 10px;">
      <div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/pgc-image/b275a71b4ada4039ad8efeb41bef67b4~noop.image?_iz=58558&amp;from=article.pc_detail&amp;lk3s=953192f4&amp;x-expires=1723902905&amp;x-signature=vzvl0fTTw%2BVN6Z%2FE%2F20dq13n58k%3D" style="width: 50%; margin-bottom: 20px;"></div>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">几乎所有主流的编程语言如Java、C++、PHP、Python、JavaScript等,都<span style="color: black;">能够</span>用于服务端<span style="color: black;">研发</span>,而Go语言<span style="color: black;">做为</span>后起之秀,<span style="color: black;">一样</span>有自己独有<span style="color: black;">优良</span>。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">简单<span style="color: black;">有效</span>:</strong>Go语言<span style="color: black;">做为</span>后起之秀,在语言层面<span style="color: black;">拥有</span>语法简洁、执行效率高(底层语言)的特点;相比之下,Java和Python、PHP都<span style="color: black;">显出</span>低效,C++则太过麻烦,而Go则<span style="color: black;">能够</span>做到简单与<span style="color: black;">有效</span>兼顾;</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">高并发:</strong>Go语言是主打并发、为并发而生的,其出发点即是瞄准大数据+云计算时代背景下的高并发、分布式应用场景;</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">跨平台:</strong><span style="color: black;">能够</span>在<span style="color: black;">区别</span>平台直接编译生成可执行程序,<span style="color: black;">基本</span>内存占用很少,小应用占用几M大型应用占用个几十M就能很好运行,这使得golang<span style="color: black;">能够</span>在树莓派之类的小设备上很好的运行,这一点表现比java要好的多。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">容器化、分布式、微服务化是服务端发展的潮流,在这几个方向上:</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">容器<span style="color: black;">行业</span>Go语言是绝对的霸主,<span style="color: black;">大众</span>所熟知的Docker和Kubernets(K8S)<span style="color: black;">便是</span><span style="color: black;">运用</span>Go语言<span style="color: black;">研发</span>的;</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">分布式最好的例证<span style="color: black;">便是</span>以太坊,<span style="color: black;">由于</span>区块链即分布式账本;</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Go语言支持微服务的最好例证是今日头条,今日头条当前后端服务超过80%的流量是跑在 Go 构建的服务上。微服务数量超过100个,高峰 QPS 超过700万,日处理请求量超过3000亿,可能是业内最大规模的Go应用。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Go语言成功案例</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Docker(容器)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">到<span style="color: black;">此刻</span>,Docker几乎是Go再难找到<span style="color: black;">亦</span>难以复制的一个成功案例。Docker项目在2014年9月份就拿到了C轮4000万美元融资,版本迭代速度超快,<span style="color: black;">日前</span>从GitHub看到已有78个版本,而它仅仅是再2013年初才正式<span style="color: black;">起始</span>的一个项目<span style="color: black;">罢了</span>。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">日前</span>,国内Docker技术推广<span style="color: black;">亦</span>进行的如火如荼,<span style="color: black;">例如</span> Docker中文社区,CSDN<span style="color: black;">亦</span><span style="color: black;">创立</span>了 Docker专区。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Docker团队之<span style="color: black;">因此</span><span style="color: black;">爱好</span>用Go语言,<span style="color: black;">重点</span>是Go<span style="color: black;">拥有</span>强大的标准库、全<span style="color: black;">研发</span>环境、跨平台构建的能力。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Kubernetes(容器)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Kubernetes是2014年夏天Google推出的Kubernetes,基于Docker,其目的是让用户<span style="color: black;">经过</span>Kubernetes集群来进行云端容器集群的管理,而无需用户进行<span style="color: black;">繁杂</span>的设置工作。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">系统会自动<span style="color: black;">选择</span>合适的工作节点来执行<span style="color: black;">详细</span>的容器集群调度处理工作。其核心概念是Container Pod(容器仓)。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Etcd &amp; Fleet(分布式数据库)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">etcd<span style="color: black;">是由于</span>CoreOS<span style="color: black;">研发</span>并<span style="color: black;">守护</span>键值存储系统,它<span style="color: black;">运用</span>Go语言编写,并<span style="color: black;">经过</span>Raft一致性算法处理日志复制以<span style="color: black;">保准</span>强一致性。<span style="color: black;">日前</span>,Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛<span style="color: black;">运用</span>了etcd。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Fleet则是一个分布式的初始化系统。它们之<span style="color: black;">因此</span><span style="color: black;">选取</span><span style="color: black;">运用</span>Go语言,则是<span style="color: black;">由于</span>Go语言对跨平台的良好支持,以及其<span style="color: black;">背面</span>的强大社区。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Deis(云服务平台)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Deis是一个基于Docker和CoreOS的开源PaaS平台,旨在让部属和管理服务器上的应用变得<span style="color: black;">容易</span>容易。它<span style="color: black;">能够</span>运行在AWS、GCE以及Openstack平台下。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Flynn(云服务平台)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Flynn是一个<span style="color: black;">运用</span>Go语言编写的开源PaaS平台,可自动构建<span style="color: black;">安排</span>任何应用到Docker容器集群上运行。Flynn项目受到Y Combinator的支持,<span style="color: black;">日前</span>仍在开发中,被<span style="color: black;">叫作</span>为是下一代的开源PaaS平台。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Lime(桌面应用)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">相对上面的几款Go语言在云端和服务器端之外,Lime则<span style="color: black;">显出</span>比较特殊。Lime则是一款用Go语言写的桌面编辑器程序,被看做是著名编辑器Sublime Text的开源实现。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Revel(Web框架)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Revel是一个高生产力的Go语言Web框架。Revel框架支持热编译,当编辑、<span style="color: black;">保留</span>和刷新源码时,Revel会自动编译代码和模板;全栈特性,支持路由、参数解析、缓存、测试、国际化等功能。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">InfluxDB(分布式数据库)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">一个Go语音编写的开源分布式的时序、事件和指标数据库,无需<span style="color: black;">外边</span>依赖。其设计<span style="color: black;">目的</span>是实现分布式和水平伸缩扩展。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Syncthing(云盘)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">一款用Go语言编写的开源云存储和同步服务工具,用户的数据将由自己完全<span style="color: black;">掌控</span>,所有的通信全都加密,<span style="color: black;">每一个</span><span style="color: black;">拜访</span>节点都用加密证书验证。该项目被认为是Dropbox和 BitTorrent Sync的开源替代,Syncthing之<span style="color: black;">因此</span><span style="color: black;">选取</span>Go语言,<span style="color: black;">亦</span>是出于跨平台<span style="color: black;">思虑</span>。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Gogs(自助Git服务)</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Gogs则是一款由国人无闻( GitHub)<span style="color: black;">研发</span>的自助Git服务项目。Gogs的<span style="color: black;">目的</span>是打造一个最简单、最快速和最<span style="color: black;">容易</span>的方式搭建自助Git服务。据作者<span style="color: black;">叫作</span>,之<span style="color: black;">因此</span><span style="color: black;">选取</span><span style="color: black;">运用</span>Go语言<span style="color: black;">研发</span>,<span style="color: black;">便是</span>Go<span style="color: black;">准许</span>Gogs<span style="color: black;">能够</span><span style="color: black;">经过</span>独立的二进制分发,且对跨平台有良好支持。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">Go后端<span style="color: black;">研发</span>前景</strong></p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">2018年求职市场Go语言工程师需求增长率达到了800%,<span style="color: black;">因此呢</span>这个职业方向应该是现下最有“钱”途的职业方向了。</p>
      <div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/pgc-image/ef268c24fc2e432d9a2a09156db6785a~noop.image?_iz=58558&amp;from=article.pc_detail&amp;lk3s=953192f4&amp;x-expires=1723902905&amp;x-signature=ZOUITQEXxipC8JE0pwvuj5B%2BOws%3D" style="width: 50%; margin-bottom: 20px;"></div>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">以下数据来自拉勾网,<span style="color: black;">能够</span>看出Go语言后台<span style="color: black;">研发</span>的招聘量是充足的,<span style="color: black;">尤其</span>在北上深等一线城市;</p>
      <div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/pgc-image/83cefa3c176d4964a5afc9f7f6b9255d~noop.image?_iz=58558&amp;from=article.pc_detail&amp;lk3s=953192f4&amp;x-expires=1723902905&amp;x-signature=4me4S%2BipfFcECZyC7Udp3eNCCdM%3D" style="width: 50%; margin-bottom: 20px;"></div>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">以帝都为例,Go<span style="color: black;">研发</span>工程师的薪水,在随机样本中最低为10K,最高去到60,大面积落在20K-40K区间内。</p>
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">综合Go<span style="color: black;">研发</span>工程师的的职位需求量和薪资标准,前景不言而喻。</p>
    </div>




1fy07h 发表于 2024-9-26 21:50:28

楼主的文章深得我心,表示由衷的感谢!

j8typz 发表于 2024-10-18 20:19:06

感谢楼主分享,祝愿外链论坛越办越好!

7wu1wm0 发表于 2024-11-6 15:53:27

我深受你的启发,你的话语是我前进的动力。

1fy07h 发表于 2024-11-11 21:48:35

同意、说得对、没错、我也是这么想的等。
页: [1]
查看完整版本: 相比Java、PHP、Python, Go语言做后端有哪些优良?