Go语言中文网 为您找到相关结果 14

微服务实战(三):深入微服务架构的进程间通信

【编者的话】这是采用微服务架构创建自己应用系列第三篇文章。第一篇介绍了微服务架构模式,和单体式模式进行了比较,并且讨论了使用微服务架构的优缺点。第二篇描述了采用微服务架构应用客户端之间如何采用API Gateway方式进行通信。在这篇文章中,我们将讨论系统服务之间如何通信。 简介在单体式应用中,各个模块之间的调用是通过编程语言级别的方法或者函数来实现的。但是一个基于微服务的分布式应用是运行在多台机器上的。一般来说,每个服务实例都是一个进程。因此,如下图所示,服务之间的交互必须通过进程间通信(IPC)来实现。 后面我们将会详细介绍IPC技术,现在我们先来看下设计相关的问题。 交互模式当为某一个服务选择IPC时,首先需要考虑服务之间如何交互。客户端和服务器之间有很多的交互模式,我们可以从两个维度...阅读全文

博文 2016-03-03 10:37:45 hokingyang

最强围棋程序Alpha Go 浅析

最强围棋程序Alpha Go 浅析 去年谷歌的围棋程序Alpha Go一举打败所有已知的围棋AI程序,以及以5:0的大比分打败了专业棋手Fan Hui。随后在《nature》上报到了Alpha Go 的内幕。作为一个伪的围棋爱好者和一个机器学习爱好者,看了该文章,并看了其他的分析,写下自己的心得: 围棋的智能对弈程序最早当属我国的手谈,那个时期的自动对弈程序属于经验型的。随后从国外对围棋研究后,产生了蒙特卡洛树搜索的方法应运于围棋对弈,产生了一系列的强AI,可以达到业余水准,关于蒙特卡洛树搜索可以参看《基于蒙特卡洛树搜索的计算机围棋博弈研究》,可以说对该方法进行了详细的说明,阅读也较容易,可以得到围棋AI的一些背景,制约蒙特卡洛方法更近一步的原因是:树的展开,以及搜索的深度的确定。于此同时,...阅读全文

golang postgresql数据库驱动

今天周末,即使立冬已过,阳光依然独好,闲着没事做,coding。 一直用bm。。。/pq的SQL驱动,忘记叫啥了,一直没问题,今天看到地址转到了lib/pq,重新获取了驱动,继续使用,有如下一段代码, func DB() (db *sql.DB) { db, err := sql.Open("postgres", "user=postgres password=123456 dbname=test sslmode=verify-full") if err != nil { Fatal("数据库连接失败" + err.Error()) } return db } 编译,运行,不知道搞毛,db一直为空,搞了好久,都没搞明白,偶然间看到了 import( ) 居然为空,我去,我去,好吧,我的编辑器...阅读全文

博文 2016-03-19 15:00:01 u013025612

Golang 并行运算以及time/sleep.go

今天大概阅读了一下Golang的并行运算,以下简要概括并行运算 go func() // 可以启动一个协程 可以同时运行多个协程,协程之间通讯使用channel(通道)来进行协程间通信 channel的定义如下 c := chan string 意味着这是一个string类型的通道 channel可以理解为一个队列,先进者先出,但是它只能占有一个元素的位置,我们可以义如下方法添加/读取元素,<- 是一个运算符 c <- "hello" //把"hello"加入到c通道中 msg := <- c // 将c中的"hello"取出到msg里 在并行运算时我们可能需要从多个通道读取消息,此时我们用到 for{ select{ case msg1 := channel_1: fmt.Println(...阅读全文

博文 2018-07-24 23:34:46 Exqlnet

GoLang之调用C接口的使用方法

2014-06-10 wcdj 摘要:本文主要介绍在GoLang中如何实现调用C接口。由于Go的官网经常被墙,导致无法浏览官方的详细文档,偶然间在浏览GoLang的源码中找到了一些关于cgo的用法,具体路径在go/misc/cgo目录下。 例如,在go/misc/cgo/gmp/gmp.go文件中可以找到如何在GoLang中引用C Library的方法: An example of wrapping a C library in Go. This is the GNU multiprecision library gmp's integer type mpz_t wrapped to look like the Go package big's integer type Int. 下面是一个...阅读全文

博文 2015-06-17 20:01:43 delphiwcdj

golang手把手实现tcp内网穿透代理(1)

使用golang手把手实现一个tcp内网穿透代理工具。 描述一下应用场景,假设内网也就是我们的局域网,我们的电脑,pc运行了一个tomcat服务器,或者nginx服务器,又或者jdbc数据库,又或者python的服务器。 正常来说,我们是无法通过互联网达到访问局域网的电脑,pc的。 然后我们有一台外网主机,需要实现在外网主机端口支持访问我们内网的服务,这样的好处和目的是什么呢? 方便调试我们的代码,尤其是微信的公众号,以及线上的支付功能回调。凡是需要别人的服务器回调我们的服务器的都需要。 在做工具之前,需要先设计一下怎么实现这个工具,而不是盲目的开工。 首先可以明确的是: 1.控制服务,控制服务需要监听在外网服务器上,假设这个服务名字叫做control_server control_serv...阅读全文

博文 2019-06-13 23:32:42 iamdev

教你轻松做一个响应式网站

在响应式还未流行的时候,很多企业与互联网公司都觉得响应式网站应该是大企业才用的上,大企业才有资金去投入。对于这个问题小编只能说,没错放在前段时间做一个响应式网站的确需要高投入,而且还很耗时间。但是放在今天来讲,小编可以告诉你,以现在的互联网技术,做一个响应式网站快的只需要几个小时,需要细致完成的也就几天时间。这样的发展速度,让众人所惊叹! 在响应式还未流行的时候,很多企业与互联网公司都觉得响应式网站应该是大企业才用的上,大企业才有资金去投入。对于这个问题小编只能说,没错放在前段时间做一个响应式网站的确需要高投入,而且还很耗时间。但是放在今天来讲,小编可以告诉你,以现在的互联网技术,做一个响应式网站快的只需要几个小时,需要细致完成的也就几天时间。这样的发展速度,让众人所惊叹! 现在...阅读全文

Nginx《微服务:从设计到部署》中文版

本书为 Nginx 微服务电子书 [Designing and Deploying Microservices](https://www.nginx.com/resources/library/designing-deploying-microservices/) 中文版,其从不同角度全面介绍了微服务:微服务的优点与缺点、API 网关、进程间通信(IPC)、服务发现、事件驱动数据管理、微服务部署策略、重构单体。 https://github.com/oopsguy/microservices-from-design-to-deployment-chines...阅读全文

我有一个梦想

**我有一个梦想** --- 我有一个梦想, 我希望在不久的将来,程序员可以自由的享受每一个夜晚,而不是在屏幕前敲啊敲; 我有一个梦想, 我希望在不久的将来,程序员可以畅快地享受每一个假期,出游度假,而不是在办公室里等待程序响应 我有一个梦想, 我希望不久的将来,程序员不用再为产品上线时的那个晚上和产品上线后的那个晚上焦虑 我有一个梦想, 我希望在不久的将来,面对北上广深不断攀升的房价,程序员可以自由的选择出路,去或留,都能坦然面对; 我有一个梦想, 我希望在不久的将来,程序员不用天天面向对象编程,却整天被提示找不到对象; 我有一个梦想, 我希望在不久的将来,程序员可以痛快的答应每一个约会,不用再为临时出现的各种bug爽约 ![9-1....阅读全文

golang学习计划

之前在工作中有使用过golang开发一些小项目,比如直播间爬取、多平台推流系统、云监控直播点播系统(后续整理下,打算开源,新手,别喷O(∩_∩)O),但是一直没有系统的学习,没有很深入的去使用,自己觉得对golang的了解还很浅,所以计划系统的学习下了。golnag语言的学习资料,网上很多pdf和各种博客教程,需要的可以参考下无闻的《Go 语言学习资料与社区索引》,收录了很多比较好的资料,但我对看纸质的资料比较有感觉,所以去买了《go程序设计语言》这本书,一共13章,计划一天看一章,那么两周时间就可以看完了。考了,突然发现,比 xxx21天从入门到精通 时间还短,是不是太快了看得没质量,暂且这么计划着先吧,后续看情况是不是需要调整,let go...阅读全文

博文 2017-07-08 16:32:08 dawing38

如何用golang写个程序获取斗鱼直播间的弹幕?

斗鱼第三方接入协议,下载地址http://dev-bbs.douyutv.com/forum.php?mod=attachment&amp;aid=MTQ5fDk5NDQ2ZTVhfDE0OTc1MjE5NjN8MHwxMDk%3D 斗鱼第三方开放平台API文档,下载地址http://dev-bbs.douyutv.com/forum.php?mod=attachment&aid=MTQ4fGI5ZWRkOWVhfDE0OTc1MjM2NzR8MHwxMDg%3D 有人用PHP写了获取斗鱼直播间的弹幕的程序,有人用node写了获取斗鱼直播间的弹幕的程序, 还有人用C/C++写了获取斗鱼直播间的弹幕的程序。。。就差golang版本的了。。。O(∩_∩)...阅读全文

tm域名为什么是10年起注?

互联网上已经没有一个域名注册像.TM一样有强制规定:十年起注,必须十年! ![20170105174036_44755.png](http://studygolang.qiniudn.com/170109/885b2e72ac66d44b6f3d5ff40ed3dcf9.png) 这样笔者想起了现在很多创业公司的现状:大都撑不过3年。 一家企业能不能活十年都是个问题,注册个域名竟然要求十年?凭什么? TM域名还真是生来“霸道”,带着长得像商标(TradeMark)英文缩写“TM”的先天优势,在价格上远高于主流域名。TM域名自开放注册以来,已被世人默认为“商标域名”。 TM域名的价格:http://www.iisp.com/domain/intro_tm.php?...阅读全文

letting go ,偶然间的发现

刚刚写完策划,听首曲子,准备休息了。我采用的是下面的这种方式 我采用的是网页播放器+客户端播放器,播放同一首曲子。发现,相比当前的单一方式,比如单独用客户端播放器或者网页播放器,带给我的感觉是不一样的呢。 要不, 你也去试试....... 说到这儿,我要给我最好的朋友------睿哥。点首曲子: Bluebird Story with Jumelles 我相当喜欢这首曲子带来的意境呢。每次听,基本上都能带给我 不一样的意境哦。希望它也能为 看到这里的你带来快乐,消除烦恼。 ~~~~~ ........阅读全文

博文 2015-12-23 02:00:01 HK_5788

tm域名注册说明

互联网上已经没有一个域名注册像.TM一样有强制规定:十年起注,必须十年! 这样笔者想起了现在很多创业公司的现状:大都撑不过3年。 一家企业能不能活十年都是个问题,注册个域名竟然要求十年?凭什么? TM域名还真是生来“霸道”,带着长得像商标(TradeMark)英文缩写“TM”的先天优势,在价格上远高于主流域名。TM域名自开放注册以来,已被世人默认为“商标域名”。 笔者认为,tm域名之所以十年起注原因有三: 1、 商标的注册有效期是10年,这个期限是参考国际的《商标法》决定的。少部分国家如缅甸是3年,中国澳门、尼泊尔、埃塞尔比亚的商标注册有效期是7年,加拿大、委内瑞拉等商标有效期是15年。tm域名既然肩负着“商标域名”的重任,注册期限自然和商标期限同步。 2、 10...阅读全文