首页 > 其他分享 >Golang语言快速上手到综合实战-高并发聊天室、豆瓣电影爬虫

Golang语言快速上手到综合实战-高并发聊天室、豆瓣电影爬虫

时间:2023-11-01 15:44:59浏览次数:45  
标签:golang 聊天室 框架 spring boot 爬虫 Golang go restgo

Golang语言快速上手到综合实战-高并发聊天室、豆瓣电影爬虫

我们公司需要快速迭代一款产品,当时,我们团队的后端框架是spring mvc ,该框架结构清晰,上手快,但是由于我们的产品迭代速度快,底层数据库操作接口变动频繁,导致service层工作量巨大,不胜其烦。另外,随着项目的成长,代码量越来越大,项目启动越来越慢,严重影响了开发调试速度。

在这种情况下,我们希望寻找一种新的框架或编程语言,我们期望他具备调试简单,上手快,启动速度快,保密性高,以及适用于高并发及web编程,性能优越等优点。当时手上备选框架有spring boot和golang,综合比较,在巨大的遗憾中,我们选择了springboot,相关选型参考信息如下。

1、从功能满足度比较

在启动该产品研发时,我们梳理了自己的需求,主要在三个方面,一是支持高性能的restful api服务,二是支持web页面服务,三是支持快速跌代。Restful接口及性能方面,spring boot 和golanbg 都支持,且性能区别不大。页面服务方面,spring boot 封装了springmvc,相对成熟度更高,并且由于大量javaer的长期积累,该框架已经非常成熟;而go lang 方面,也有成型的框架,如beego,但是该框架使用度并不高.究其原因,是因为beego没有形成像php框架那样的生态,比如行业内php开源框架thinkphp,目前基于该框架已经形成了大量的cms,商城,erp,微信管理等软件,这也是我为什么要写作该书的原因,我希望通过写作该书,让更多的人认识到go语言,并参与到golang 的生态搭建中来。回归正题,功能满足度,spring boot更胜一筹。

2、学习成本

我们需要考虑到团队的学习成本,当时团队已经非常熟悉spring mvc框架,如果切换spring boot,学习成本几乎为零,但是若切换到golang,学习成本相对较高。另外,网络上关于golang框架,推荐并不多,比如gin,decho,以及beego,我们重点了解了beego框架,知乎上争论颇多。这些,都让我们对是否使用go语言,心里预期上打了一些折扣。

3、项目迁移成本

在选择框架的时候,我们还考虑了我们的集成成本。我们的客观情况是:公司的技术栈以及这些技术栈形成的项目积累,几乎都是java,如果我们切换到golang,那么产品运维成本将相对较高,另外由于目前行业类golang 从业者较少,如果我们采用go,将人为地为我们的项目团队组建带来巨大的难度.

4、社区活跃度

Go语言社区活跃度并不高,具体可以看如下几个方面

l 百度搜索指数

下图是golang 和java 以及php的搜索指数,近段时间以来,golang关注度不断下降,已经到日均1000pv,如果golang不孵化生态圈,将面临淘汰.事实上,在百度上搜索golang,很多都是2014年的旧事了。

l Go技术论坛

笔者2018-02-10 18:11访问了https://studygolang.com/ 首页截图如下

该社区在百度搜索go语言论坛 排名第一,但是日更新不超过20篇文章,一股悲凉浮在心头。

下图为golang csdn社区论坛,一周以内不超过10篇帖子,心中又凉了半截。

l Github go 活跃度

下图为github发布的编程语言2017年度排行Go语言排行第九.这意味着全球活跃度还是有,但相比php,java等而言go还有很长的任务要走。

 

 

 

本文源代码源代码获取地址 https://github.com/winlion/restgo

 

待提供源代码清单

10.1 restgo后台管理框架

https://github.com/winlion/restgo-admin

10.天天任务清单小程序

https://github.com/winlion/dailytask

10.工业大数据采集

10.restgo cms 

10.restgo 千人大群

 

   

标签:golang,聊天室,框架,spring,boot,爬虫,Golang,go,restgo
From: https://www.cnblogs.com/add1188/p/17803283.html

相关文章

  • ScrapeKit库中Swift爬虫程序写一段代码
    以下是一个使用ScrapeKit库的Swift爬虫程序,用于爬取网页视频的视频:importScrapeKit//创建一个配置对象,用于指定爬虫ip服务器信息letconfig=Configuration(proxyHost:"duoip",proxyPort:8000)//创建一个爬虫对象letscraper=Scraper(configuration:config)//创......
  • needle库下载TypeScript程序用HTTP做个爬虫模版
    下面是一个使用needle库进行下载的TypeScript程序,它下载了pinduoduo的内容,并且使用了proxy_host为duoip,proxy_port为8000的爬虫IP。importneedlefrom'needle';//设置爬虫IPneedle.requestDefaults({proxy:{host:'duoip',port:8000}});//......
  • Python使用got库如何写一个爬虫代码?
    got库是一个Python的HTTP库,可以用于爬取网页数据。它提供了简单易用的API,支持异步请求和爬虫IP设置等功能。使用got库进行爬虫开发,可以快速地获取所需数据。下面是使用got库进行爬虫的基本步骤:1、安装got库:可以使用pip命令进行安装,命令为pipinstallgot。2、导入got库:在Python代码......
  • RCurl库做爬虫效率怎么样
    RCurl库是一个非常强大的网络爬虫工具,它提供了许多功能,例如从服务器下载文件、保持连接、上传文件、采用二进制格式读取、句柄重定向、密码认证等等。使用RCurl库进行网络爬虫可以方便地获取网站上的数据,并进行数据分析和挖掘。在使用RCurl库进行网络爬虫时,需要注意一些法律和道德......
  • Java导入Jsoup库做一个有趣的爬虫项目
    Jsoup库是一款Java的HTML解析器,可用于从网络或本地文件中获取HTML文档并解析其中的数据。它可以模拟浏览器的行为,获取网页中的数据,是Java爬虫中常用的工具之一。与浏览器相比,Jsoup库的主要区别在于它不会执行JavaScript代码,因此无法获取通过JavaScript生成的内容。使用Jsoup库进行......
  • 【爬虫实战】用Python采集任意小红书笔记下的评论,爬了10000多条,含二级评论!
    目录一、爬取目标二、爬虫代码讲解2.1分析过程2.2爬虫代码三、演示视频一、爬取目标您好!我是@马哥python说,一名10年程序猿。我们继续分享Python爬虫的案例,今天爬取小红书上指定笔记("巴勒斯坦"相关笔记)下的评论数据。老规矩,先展示结果:截图1:截图2:截图3:共爬取了1w多条"......
  • 理解Golang的闭包
    闭包是指一个函数值(functionvalue),它可以引用其函数体之外的变量闭包代码示例funcmakeSuffix()func(strstring)string{ varsuffix=".jpg" returnfunc(strstring)string{ ifstrings.HasSuffix(str,suffix){ returnstr }else{ //引用函数体之外......
  • Golang中log日志包的使用(转)
    1.前言作为后端开发人员,日志文件记录了发生在操作系统或其他软件运行时的事件或状态。技术人员可以通过日志记录进而判断系统的运行状态,寻找导致系统出错、崩溃的成因等。这是我们分析程序问题常用的手段。2.log包介绍在Golang中记录日志非常方便,Golang提供了一个简单的日志......
  • 爬虫工具—whistle安装与使用
    参考链接https://mbd.baidu.com/ug_share/mbox/4a83aa9e65/share?product=smartapp&tk=fae2094d0e00d4e4fae484fa554fe802&share_url=https%3A%2F%2Fzoyi14.smartapps.cn%2Fpages%2Fnote%2Findex%3Fslug%3D17c48959be44%26origin%3Dshare%26_swebfr%3D1%26_swebFromHost%......
  • golang flag的使用
    packagemainimport( "backend-service-api-scripts/utils" "database/sql" "flag" "fmt" "log" "os")var( db*sql.DB=utils.ConnectData()//这里的连接数据库需要根据数据库本身的情况进行更改 courseId......