草庐IT

web通信

全部标签

用于 Web 应用程序的 node.js golang 复合架构

我目前正在构建一个将使用node.js进行基本路由的网络应用程序。该应用程序的某些部分需要更多处理器,我想对这些部分使用golang。但是,我不确定在两种语言之间安装和通信的最佳方式。我正在使用AmazonElasticBeanstalk进行初始测试,因此任何细节都可以针对该平台。本质上归结为以下两个问题:1)如何在AmazonEC2上同时安装node.js和golangdocker镜像?亚马逊有一个或另一个的指南,但没有两个。2)将处理器密集型任务从node.js卸载到golang代码库的最佳方法是什么(我可以想象RPC,或者只是在某个本地主机端口上运行golang,但我对这种类型的

mysql - 将数据库集成到 Go Web 应用程序中的最佳方式

我刚开始使用Go开发Web应用程序。我正在寻找将MySQL数据库集成到我的Web应用程序中的最佳方法。我正在考虑做这样的事情:typeContextstruct{Database*sql.DB}//SomedatabasemethodslikeClose()andQuery()forContextstructhere在我的web应用程序的主要功能中,我会有这样的东西:db:=sql.Open(...)ctx:=Context{db}然后我会将我的Context结构传递给需要数据库连接的各种处理程序。这是一个好的设计决策还是有更好的方法将SQL数据库集成到我的Web应用程序中?

go - 使用 Golang 与 hiveserver2 通信

我在OracleVirtualBox中安装了hortonworksHDP沙箱。我已经授予了对端口10000的访问权限。在配置单元配置中,hiveserver2thrift端口也设置为10000。我正在使用https://github.com/derekgr/hivething包装器来获取连接。即使hiveserver2正在运行,我似乎也无法连接到上面提到的包装器。我尝试了示例程序。但它在“db,err:=hivething.Connect("127.0.0.1:10000",hivething.DefaultOptions)”行之后没有任何意义。它甚至没有达到它下面的if条件。所以它会

amazon-web-services - 使用非默认 VPC (aws-sdk-go) 时无法调用 ec2.AuthorizeSecurityGroupIngressInput

运行下面的代码时,出现错误信息InvalidGroup.NotFoundThesecuritygroup'OddName'doesnotexistindefaultVPC'vpc-2468'这是正确的VPC名称,但不是查看sg-1357时会看到的VPCID。这是一个请求错误,而不是aws错误,所以它至少走到了这一步。从命令行这有效:awsec2authorize-security-group-ingress--group-idsg-1357--cidr127.0.0.1/32--protocoltcp--port443我可以确认ip已添加。修改sdkongithub中的示例代码,以下会

go - 集群中 n 个 Web 服务器之间的文件同步

Web集群中有n个节点。文件可以上传到任何节点,然后必须分发到每个其他节点。这种分布不必在事务中发生(事实上它不能,分布式事务不能扩展)并且一些延迟是可以接受的,尽管必须是最小的。可以任意解决冲突(通常最后写入获胜),前提是解决方案也分发给所有节点,以便最终所有节点都具有相同的文件集。可以动态添加和删除节点,而无需重新配置现有节点。必须没有单点故障,也不需要额外的盒子来解决这个问题(比如RabbitMQ)我正在考虑使用consul.io进行动态配置,以便每个节点都可以引用consul来确定其他可用的节点,并编写一个守护进程(Golang)来监视相关文件夹并使用其他节点进行通信零MQ。虽

amazon-web-services - 无法使用 Golang 生成亚马逊产品 API 签名

帮助。使用Amazon和Go提供的测试参数无法得到正确的签名。我的签名哈希函数如下。我根据Amazon文档使用SHA-256和base64编码。funcHashSignature(strstring,secretstring)string{mac:=hmac.New(sha256.New,[]byte(secret))_,err:=mac.Write([]byte(str))iferr!=nil{return""}hash:=base64.StdEncoding.EncodeToString(mac.Sum(nil))hash=url.QueryEscape(hash)returnha

用于下载进度的 Golang 和本地 Web 界面?

我是Go的新手,正在尝试制作一个跨浏览器的应用程序,它可以下载多个带有进度条的url。Grab包可以很好地完成这项工作,如下例所示。现在,我想要一个独立的/可移植的/单一可执行的网络用户界面,它可以在网络浏览器中显示来自以下代码的下载进度?packagemainimport("fmt""github.com/cavaliercoder/grab""os""time")funcmain(){//getURLtodownloadfromcommandargsiflen(os.Args)0{fmt.Printf("\033[%dA\033[K",inProgress)}//updatecom

amazon-web-services - 转到 AWS SQS SDK : How to check if session is connected/disconnected

varsvc*sqs.SQS=nilfuncreturnSvcInstance()*sqs.SQS{ifsvc==nil||condition(checkifnotconnected){//checkifitisconnected?sess:=session.New(&aws.Config{Region:aws.String(REGION),Credentials:CREDS,})svc=sqs.New(sess)}returnsvc}我正在编写一个方法,如果实例为nil或未连接则返回实例。如何检查它是否仍然连接? 最佳答案 我的解

go - golang中处理websocket通信的设计实践

我是新手,正在尝试通过更换nodejs服务器来学习它。我的nodejs服务器具有以下组件:它收到来自客户端的websocket消息。客户端将为消息提供唯一ID和key。服务器将根据key处理消息(很像REST接口(interface)),并使用唯一ID将消息返回给客户端,以便客户端知道服务器正在响应的消息。对于某些消息,服务器会生成一个外部进程(每个连接一个)。然后,服务器将充当生成进程的“客户端”,发送具有唯一ID的JSON消息并接收回数据。此实例中的服务器充当派生进程和客户端之间的中介。在node上让它正常工作是微不足道的。我只是将生成的进程添加到我的“主”中的连接并在主中使用了回

amazon-web-services - 使用 Golang 从 AWS 托管的图像中获取 *File

我可以成功列出S3存储桶中的所有文件(jpg照片)并用它制作一个[]s3.Objects。现在我想从其中一张照片中获取指向文件的指针,但我仍然无法下载它们。packagemainimport("fmt""log""github.com/aws/aws-sdk-go/aws/credentials""os""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/service/s3"//"github.com/aws/aws-sdk-go/servic