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

Golang RPC 之 Thrift

Thrift 简介: Thrift 是一款高性能、开源的 RPC 框架,产自 Facebook 后贡献给了 Apache,Thrift 囊括了整个 RPC 的上下游体系,自带序列化编译工具,因为 Thrift 采用的是二进制序列化,并且与 gRPC 一样使用的都是长连接建立 client 与 server 之间的通讯,相比于比传统的使用XML,JSON,SOAP等短连接的解决方案性能要快得多。本篇只介绍 Golang 关于 Thrift 的基础使用。 安装 安装 Thrift 的 Golang 库有两种方案: 直接通过 go get 命令安装,缺点是因为不可抗拒的网络因素大部分人可能会失败:$ go get git.apache.org/thrift.git/lib/go/thrift 通过...阅读全文

博文 2017-03-17 05:52:34 谢烟客

Boom — Go语言实现的性能测试工具

Boom — Go语言实现的性能测试工具 HTTP(S) load generator, ApacheBench (ab) replacement, written in Go Boom is a tiny program that sends some load to a web application. It's similar to Apache Bench (ab), but with better availability across different platforms and a less troubling installation experience. 项目地址:[https://github.com/rakyll/boom](https:/...阅读全文

golang kafka client

针对golang的 kafka client 有很多开源package,例如sarama, confluent等等。在使用sarama 包时,高并发中偶尔遇到crash。于是改用confluent-kafka-go,其简单易用,并且表现稳定。 本文主要介绍confluent-kafka-go的使用方法。 confluent-kafka-go,是kafka官网推荐的golang package。 confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform. 编译环境搭建 安装librdkafka 下载 $ git clone https://github.com/eden...阅读全文

博文 2017-11-05 01:00:01 lanyangsh

总结:优缺点及使用场景

好处和不足 好处: Reactive 是异步非阻塞编程 能实现通过较少的线程处理并发,大大提升程序性能。 Reactive 解决传统编程模型遇到的困境 对于阻塞,可以通过 Callbacks和Futures解决 ;但Callbacks会产生回调地狱问题(callback hell);Futures 相对于 Callbacks 好一点,不过还是无法组合,不过 CompletableFuture 能够提升这方面的不足 不足: 没有异步的JDBC api Java先前大多提供的是同步阻塞库或规范,没有golang类似的官方支持的协程。不过这些都在改善提高中,例如openJDK中的Loom项目就计划实现协程功能,而阿里巴巴的Wisp协程技术已经在阿里生产环境中使用,这两个(Loom和Wisp)未来可...阅读全文

博文 2018-10-15 12:34:41 lesline

地点北京朝外SOHO,找Go Web后台开发

要求: * 1年以上团队协作工作经验; * 熟悉Linux/Unix操作环境,Linux/OSX作为开发系统; * 熟悉Nodejs或Go、MySQL、Redis、Apache,有良好的编码和文档写作习惯; * 了解面向服务架构、敏捷开发; * 具备较强的逻辑思维能力、自学能力、英文阅读能力和沟通能力,乐于分享; * 具备一定的前端开发能力和审美能力优先; 薪资: 8-16K 简历请发邮箱: hui@owhat.c...阅读全文

分布式系统跟踪框架 Apache HTrace

Apache HTrace是Cloudera开源出来的一个分布式系统跟踪框架,支持HDFS和HBase等系统。该项目目前还在孵化阶段。 ![htrace-f1](http://static.oschina.net/uploads/img/201606/06153821_NjbB.png) Apache HTrace是一个 Apache Incubator 项目, 可以与独立的应用程序和库使用。 HTrace是专为大的分布式系统使用的, 如Apache Hadoop分布式文件系统和Apache HBase存储引擎。 通过添加HTrace 支持到你的项目上,你将允许终端用户跟踪他们的请求。 此外,任何其他项目 使用HTrace都 可以使它 按照 你的项目的请求。  这就...阅读全文

golang高性能RPC:Apache Thrift安装使用完全攻略

在企业应用中RPC的使用可以说是十分的广泛,使用该技术可以方便的与各种程序交互而不用考虑其编写使用的语言。 如果你对RPC的概念还不太清楚,可以点击这里。 现今市面上已经有许多应用广泛的RPC框架,比如GRPC,而今天我们要介绍的是同样使用广泛的Apache Thrift。这篇文章将带你安全越过所有坑点,请放心食用。 Thrift简介 Thrift是Facebook的一个开源项目,后来进入Apache进行孵化。Thrift也是支持跨语言的,所以它有自己的一套IDL。目前它支持几乎所有主流的编程语言:C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OC...阅读全文

博文 2018-08-05 03:30:01 apocelipes

全自动装机工具 OSinstall

“CloudBoot”(OSinstall)云装机平台,是金融云初创公司杭州云霁科技推出的一款X86服务器全自动装机工具,遵循Apache协议,完全开源免费。 “CloudBoot”中文名为云启装机平台,简称云装机,寓意是”云端装机,云之开始”,有以下两层含义:     对已经使用云计算的公司,实现物理机的全自动安装,是构建云的第一步。     对没有使用云计算的公司,全自动构建物理机资源池,像创建虚拟机一样方便的安装物理机,是未来迈向云计算架构的第一步...阅读全文

开源项目 2016-05-08 16:00:00 idcos

go 是怎么运行web服务的?

我现在电脑上已经有一个apache了,在网上看了一下视频 ,go运行web服务在本地也是localhost ,那么不是已经和我的apache有冲突了,不知道这个问题要怎么解决,难道是要修改监听的端口吗?刚刚开始学习go的开发,还不是很了解, 麻烦各位高手指定一下,或者是提示一下,我应该去看那一方面的资料,谢谢了,,,...阅读全文

Apache RocketMQ 的扩展项目RocketMQ Externals

由 Apache RocketMQ 社区贡献并维护的 Apache RocketMQ 扩展项目。 使用 Spring Boot 重新设计的 RocketMQ 控制台 RocketMQ 的 JMS 1.1 规范实现 Flume RocketMQ source 和 sink 的实现 集成 Apache Flink 和 Apache RocketMQ。详细介绍请查看 [README](https://github.com/apache/rocketmq-externals/tree/master/rocketmq-flink) 集成 Apache Spark 和 Apache RocketMQ,提供了 push & pull 消费者。详细介绍请查看 [README](https:...阅读全文

开源项目 2018-05-16 12:30:02 网友

全文搜索引擎 WuKongSearch

WuKong 全文搜索引擎。功能特性: * [高效索引和搜索](https://github.com/huichen/wukong/blob/master/docs/benchmarking.md)(1M条微博500M数据28秒索引完,1.65毫秒搜索响应时间,19K搜索QPS) * 支持中文分词(使用[sego分词包](https://github.com/huichen/sego)并发分词,速度27MB/秒) * 支持计算关键词在文本中的[紧邻距离](https://github.com/huichen/wukong/blob/master/docs/token_proximity.md)(token proximity) * 支持计算[BM25相关度](https://gith...阅读全文

开源项目 2016-04-17 16:00:00 huichen

PHP大牛常用的缓存技术总结

在php开发中,我们常常用到缓存技术,以提高开发、运行效率。那php常用缓存技术有哪些呢?它们是怎么使用的呢?下面小编就为大家分享php开发中的10大缓存技术,希望对php初学者有所帮助。 1、全页面静态化缓存 所谓全页面静态化缓存,就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms; 这种缓存,比较常用的实现方式是输出缓存: Ob_start() ******要运行的代码******* $content = Ob_get_contents(); ****将缓存内容写入html文件***** Ob_end_clean(); 2、页面部分缓存 该种方式,...阅读全文

流量拷贝-gor

常见的 Web 应用的压力测试工具 Web 应用压力测试工具有很多,比如 Apache ab,node-ab,Apache JMeter, LoadRunner, httperf。但是这些工具都没能解决一个问题: 如何正确模拟生产环境的流量 如今 Web 应用的架构变得非常复杂,内部包含复杂的各种负载均衡、 服务和 RPC 调用关系,简单的发送 GET 请求到某些 URL 或者 API 接口完全无法模拟真实的流量。假如回放 HTTP 日志,操作又异常麻烦。Tcpcopy 虽然能够复制实时流量,但是操作也很复杂。之前的 亚马逊云平台的迁移 就用到了 Gor 这个工具。 Gor 是 Web 应用压力测试的完美方案 我一直在找一个简单又方便的解决方案,直到找到了 Gor 。Gor 是用 Golan...阅读全文

博文 2017-07-02 16:11:21 xingfei

go http实现HDFS操作

## HDFS介绍 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。 目前使用golang调用hdfs的方式有以下几种: - 使用go http 调用webHDFS/httpfs接口实现。 - 使用c li...阅读全文

博文 2018-12-17 18:09:02 ghbin0108

Go连接Hive

经过两天多的资料查找,反复测试从网上找到的多种方案,加上阿里云售后的支持,终于搞定Go语言连接Apache Hive的问题。 测试环境,阿里云E-MapReduce 2.1 中的Hive, Golang 1.7,开发环境win10。 在阿里云hive-site.xml中需要添加: hive.server2.authentication NOSASL 代码如下: package main import ( "fmt" "github.com/derekgr/hivething" //基于hiveserver2 thrift ) func main() { db, err := hivethin...阅读全文

博文 2016-11-05 03:00:01 dazheng

AzureCon上微软宣布了哪些容器相关的重磅消息

在年底之前,微软将会提供一个新的Azure Container Service预览版本给测试者,这款服务将Apache Mesos、Docker 和 Azure三者结合起来。 ![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2015/10/%E9%87%8D%E7%A3%85%E6%B6%88%E6%81%AF-300x178.jpg) 微软正在和Mesosphere以及Docker合作构建新的容器调度和编排服务。这项新的服务将允许开发人员使用Mesos开源集群管理服务和Docker配容器管理技术部署和配置应用。 据微软官方介绍,Azure Container Service将支持Linux容器并在“未来”支持W...阅读全文

Go 语言各种测试库(框架)比较

比较的库包括: 1. testing(标准库) 2. [GoConvey](https://github.com/smartystreets/goconvey/) 3. [testify](https://github.com/stretchr/testify/) 4. [gocheck](http://labix.org/gocheck) 5. [prettytest](https://github.com/remogatto/prettytest) 6. [go-spec](https://github.com/bmatsuo/go-spec) 7. [gospec](https://github.com/orfjackal/gospec) 8. [mao](http...阅读全文

Go实现的新一代爬虫框架Creeper

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat)](https://opensource.org/licenses/Apache-2.0) [![PyPI](https://img.shields.io/pypi/status/Django.svg?style=flat)]() ![Creeper](https://raw.githubusercontent.com/wspl/creeper/master/art/Creeper.png) ## About Creeper is a *next-generation* crawler which fetches we...阅读全文

开源项目 2017-02-17 08:30:58 Plutonist

分布式全文搜索引擎RiotSearch

riot 分布式全文搜索引擎, 采用 Go 语言开发。功能特性: 高效索引和搜索(1M条微博500M数据28秒索引完,1.65毫秒搜索响应时间,19K搜索QPS) 支持中文分词(使用gse分词包并发分词,速度27MB/秒) 支持逻辑搜索 支持中文转拼音搜索 支持计算关键词在文本中的紧邻距离(token proximity) 支持计算BM25相关度 支持自定义评分字段和评分规则 支持在线添加、删除索引 支持多种持久存储 支持分布式索引和搜索 可实现分布式索引和搜索 采用对商业应用友好的Apache License v2发布 示例代码: 项目详情: Github在线源码:[https://github.com/go-ego/riot](https://github....阅读全文

开源项目 2017-10-21 18:00:04 网友

分布式对象存储 GoshawkDB

GoshawkDB 是一个采用 Go 语言开发支持多平台的分布式的对象存储服务,支持事务以及容错。GoshawkDB 的事务控制是在客户端完成的。GoshawkDB 服务器端使用 AGPL 许可,而 Go 语言客户端使用 Apache 许可证。 ![image](http://static.oschina.net/uploads/img/201605/07080139_ryJU.png) 命令行参数:

> goshawkdb -h
GoshawkDB 2016/01/10 09:42:00.286354 [goshawkdb -h]
Usage of goshaw...阅读全文

Uber 的分布式追踪系统Jaeger

Jaeger是Uber的分布式跟踪系统。 大多数现有的Zipkin兼容仪表库支持概率采样,但他们希望在初始化时配置采样率。这种方法在大规模使用时导致几个严重问题: 给定的服务几乎没有洞察采样率对跟踪后端的总体流量的影响。 在Uber,商业交通展示强烈的每日季节性; 更多的人在高峰时段乘坐。固定采样概率对于非高峰业务来说太低,而对于高峰业务又太高。 Jaeger客户端库中的轮询功能旨在解决这些问题。通过将关于适当采样策略的决定移动到跟踪后端,我们免除服务开发人员猜测适当的采样率。这还允许后端在流量模式改变时动态地调整采样率。下图显示了从收集器到客户端库的反馈循环。 ![image](https://static.oschina.net/uploads/space/2017/0310/...阅读全文

开源项目 2017-03-10 03:00:51 网友

go语言redis-cluster开源客户端

传送门 https://github.com/gitstliu/go-redis-cluster ### If you like please Start it # go-redis-cluster go-redis-cluster is a golang implementation of redis client based on Gary Burd's [Redigo](https://github.com/garyburd/redigo). It caches slot info at local and updates it automatically when cluster change. The client manages a connection pool for eac...阅读全文

博文 2018-03-01 13:31:06 gitstliu

Go Commons Pool

Go Commons Pool 是用 Go 实现的对象池,直接翻译自 Java 版的 [Apache Commons Pool](http://www.oschina.net/p/commons-pool). 示例代码:

//use create func
pool := NewObjectPoolWithDefaultConfig(NewPooledObjectFactorySimple(
        func() (interface{}, error) {
            return &MyPoolObject{}, nil
        })...阅读全文

开源项目 2016-01-04 16:00:00 jolestar

PaaS 系统 Kel

Kel 是一个开源的基于 [Kubernetes](http://www.oschina.net/p/kubernetes) 构建的 PaaS 系统,采用 Python 和 Go 语言开发。Kel 可简化管理 Web 应用发布和托管整个软件生命周期。Kel 帮助开发和运维人员轻松管理他们的应用架构,通过一组工具和组件让 K8S 使用非常简单。 Kel 包括如下组件: * kel-api * kel-router * kel-identity * kel 命令行客户端 * kelctl * kel-cluster Kel 使用 Apache 许可证,同时可由 Eldarion 公司提供商业支持...阅读全文

Apache struts2漏洞又来了,这一次如何机智地与中国黑客界的半壁江山赛跑?

到年末做盘点时,没有人会忘记2016年4月26日。 就在这一天,Apache Struts2官方又发布了一份安全公告: Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,官方编号 S2-032,CVE编号 CVE-2016-3081。 小白翻译机: 这是自2012年Struts2命令执行漏洞大规模爆发之后,该服务时隔四年再次爆发大规模漏洞。 该漏洞也是今年目前爆出的最严重安全漏洞。 黑客利用该漏洞,可对企业服务器实施远程操作,从而导致数据泄露、远程主机被控、内网渗透等重大安全威胁。 不信这个邪? 请注意第二段的“又”。 要知道,Apache Struts 2是世界上最流行的Java Web服务器框...阅读全文

golang 网络框架之 thrift

thrift 最初是 facebook 开发使用的 rpc 通信框架,后来贡献给了 apache 基金会,出来得比较早,几乎支持所有的后端语言,使用非常广泛,是不可不知的一个网络框架 和 grpc 一样,需要先定义通信协议,然后实现自己业务逻辑,下面还是通过一个简单示例(之前的echo程序)说明 thrift 的用法,下面示例使用的完整代码在下列地址:实现文件:https://github.com/hatlonely/...协议文件:https://github.com/hatlonely/... 简单 echo 服务 获取 thrift go get git.apache.org/thrift.git/lib/go 定义协议文件 namespace go echo struct EchoR...阅读全文

博文 2018-02-04 17:34:36 hatlonely

Kafka、RabbitMQ、RocketMQ 消息中间件的对比 | 消息发送性能篇

摘要: 消息中间件性能究竟哪家强? 带着这个疑问,我们消息队列测试小组对常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)做了性能比较。 阿里云消息队列测试小组 出品 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,我们自家的产品 RocketMQ (阿里云消息队列(MQ)的内核) 也顺利开源,得到大家的关注。 那么,消息中间件性能究竟哪家强? 带着这个疑问,我们消息队列测试小组对常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)做了性能比较。 Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目。Kafka主要特点是基于Pull的模式来...阅读全文

go: missing Git command. See https://golang.org/s/gogetcmd

svn - Subversion,download at :http:/subversion.apache.org/packages.html hg - Mercurial,download at https://www.mercurial-scm.org/downloads git - Git,download at http://git-scm.com/downloads bzr - Bazaar,download at http://wiki.bazaar.canonical.com/Downlad. for example,git is used for Github,hg is used for Bitbucket,etc. Refer GogetProxyCOnfig (http...阅读全文

博文 2017-11-14 07:00:00 joewan

Kafka 消费者滞后检查 Burrow

Burrow是一个基于Apache Kafka的监控助手,为消费者提供滞后检查作为服务,而不需要指定的阈值。它可以监视所有消费者提交的偏移,并计算这些消费者的需求状况。 **特性** * 没有阈值 * 多Kafka集群支持 * 支持配置 Zookeeper 提交的偏移 * 支持配置 Strom 提交的偏移 * 可配置的emailer用于发送警报到特定群体 * 可配置的HTTP 客户端用户为所有的用户组发送警报到其他系...阅读全文

kafka如何配置SASL/PLAIN认证模式

创建kafka broker配置文件 $ cat kafka_server_jaas.conf KafkaServer { org.apache.kafka.common.security.plain.PlainLoginModule required username="kafkaadmin" password="kafkaadminpwd" user_kafkaadmin="kafkaadminpwd" user_kafkaclient1="kafkaclient1pwd" user_kafkaclient2="kafkaclient2pwd"; }; Client { org.apache.kafka.common.security.plain.PlainLoginModule req...阅读全文

博文 2018-12-25 18:34:44 CodingCode

基于 golang的高性能MQTT Broker

Free and High Performance MQTT Broker ============ ## About Golang MQTT Broker, Version 3.1.1, and Compatible for [eclipse paho client](https://github.com/eclipse?utf8=%E2%9C%93&q=mqtt&type=&language=) and mosquitto-client Download: [click here](https://github.com/fhmq/hmq/releases) ## RUNNING ```bash $ go get github.com/fhmq/hmq $ cd $GOPATH/githu...阅读全文

博文 2019-01-27 20:44:52 chowyu08

Golang适合高并发场景的原因分析

典型的两个现实案例: 我们先看两个用Go做消息推送的案例实际处理能力。 360消息推送的数据: 16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约1280万在线用户 2分钟一次GC,停顿2秒 (1.0.3 的 GC 不给力,直接升级到 tip,再次吃螃蟹) 15亿个心跳包/天,占大多数。 京东云消息推送系统 (团队人数:4) 单机并发tcp连接数峰值118w 内存占用23G(Res) Load 0.7左右 心跳包 4k/s gc时间2-3.x s C10K问题 为什么可以支撑这么高并发的请求呢?我们先从C10K问题说起...阅读全文

博文 2016-11-02 03:00:09 gaox587

搭建Spark集群?没想到你是这样的k8s

在本文的例子中,你将使用 Kubernetes 和 Docker 创建一个功能型Apache Spark集群。 你将使用Spark standalone模式 安装一个 Spark master服务和一组Spark workers。 对于已熟悉这部分内容的读者,可以直接跳到 tl;dr 章节。 ## 源代码 Docker 镜像主要基于 https://github.com/mattf/docker-spark。 源码托管在 https://github.com/kubernetes/application-images/tree/master/spark ## 步骤零:准备工作 本示例假定你已经具备以下条件: ● 有已安装并运行的 kubern...阅读全文

Kubernetes自动伸缩功能剖析

**编者按:这篇文章是关于Kubernetes 1.3新功能的一系列深入的文章的一部分。本文是第三篇。** 使用Kubernetes的客户能够迅速响应终端用户的请求,交付软件也比以往更快。但是,当你的服务增长速度比预期更快时,计算资源不够时,该怎么处理呢? 此时可以很自豪地说:Kubernetes 1.3提供了一个解决方案:自动伸缩(auto-scaling)。搭建在Google计算引擎(GCE)和Google容器引擎(GKE)(以及即将用于AWS)上,Kubernetes会在必要时自动扩容你的集群,并在不需要时缩容,以便为你省下一笔费用。 ## Part 1:自动伸缩的优势 这里我们用一个例子说明自动伸缩的应用场景。 想象一下你有一个7*24(全天候)的服务...阅读全文

So far it seems like the majority of this subreddit uses golang for http servers. Is anybody working on any sort of neat other stuff with the language?

<hr/>**评论:**<br/><br/>ecmdome: <pre><p><a href="https://github.com/avelino/awesome-go/blob/master/README.md">https://github.com/avelino/awesome-go/blob/master/README.md</a></p></pre>SpaceDetective: <pre><p>This is worthy of being on the sidebar.</p></pre>rjc2013: ...阅读全文

RocketMQ Golang /Node.js Client发布预告

图片发自简书App 近期RocketMQ Golang Client、Node.js Client 2个项目即将release新版本,欢迎有需要的公司或开发者优先使用。 rocketmq-client-nodejs项目https://github.com/apache/rocketmq-client-nodejs rocketmq-client-golang项目 https://github.com/apache/rocketmq-client-go为帮助大家快速使用这两个项目,社区建立了专门的支持群,感兴趣开发者可以联系微信 15201163137。 图片发自简书App 官微:扫二维码关注Apache RocketMQ官方微信公众号,获得RocketMQ技术干活和最新资讯。 图片发自简书A...阅读全文

博文 2018-12-27 18:34:45 RocketMQ技术_寈峰

【微信小程序开发教程】菜单内容左右联动 & MD5加密

1****、****微信小程序****菜单内容左右联动 小程序无法获取元素的宽高,位置信息,只能通过后台计算,但是存在较大的机器误差,不知有啥好的解决方案? 如图所以,左侧是菜单栏,右侧是主体内容,点击左侧菜单,右侧滑动到相应的位置;右侧滑动过程,也会改变左侧菜单的选中状态。本人的实现方案: 所有元素大小单位用rpx; 通过scrollbind(e) 的 e.detail.scrollHeight获取右侧滑动区域的总高度(单位px) 通过物品高度和标题高度的比值,计算出各自的实际高度(单位px) 通过修改scrollTop(单位px)改变主体内容位置 这样还是存在1px-100px的误差,物品越多,后面的累计误差会越大,有没有更好的解决办法呢? 答:测试了一下,的确用scroll-view的...阅读全文

博文 2017-08-25 06:34:58 小程序大全

Crypto optimizations for Go from CloudFlare/Intel blocked by licensing issues

<p>It seems that the crypto performance gains <a href="https://blog.cloudflare.com/go-crypto-bridging-the-performance-gap/">announced recently</a> by Cloudflare may have hit an insurmountable licensing road block: <a href="https://groups.google.com/d/msg/golang-codereviews/m5QTnSUZU6c/Jc5yaMyF2_QJ">https://gr...阅读全文

应用程序容器化之前需要考虑的5件事

在你奔赴Docker化应用程序的道路上,你应该首先放慢脚步,看看这么做是否值得,看看应用程序将如何与容器进行交互。 容器化应用程序,这意味着将它运行在 Docker 容器或其他容器系统内,容器化应用程序提供了许多优势。但在投身容器化前,你应该了解应用程序自身的特性如何影响它在容器中运行的方式。 我将在下面的内容中讨论这些,重点放在应用程序设计、持续集成层和环境配置。这可能听起来像是以前已经讲过的内容,但我保证会有一些变化。 ## 你应该容器化应用吗? 在讨论如何容器化应用之前,我们应该首先考虑是否应该进行容器化。容器化确实提供了很多优势,但在开始之前,应该首先考虑一下你的应用程序是否是无状态的。 如果是的话,这是极好的!容器化肯定很适合你。 如果不是的话,...阅读全文

go2019

Go开发者路线图2019,请收下这份指南原创: Rachel AI科技大本营 今天整理 | Rachel责编 | 阿司匹林出品 | AI科技大本营(ID: rgznai100)Go是Google开发的一种静态、强类型、编译型、并发型,并具有垃圾回收功能的类C编程语言。2009以开源项目的形式发布,2012年发布1.0稳定版本,距今已经十年了,其性能类似于Java和C++,但速度极快,适合搭载于web服务器,用于高性能分布式系统开发。作为热门的编程语言之一,Go语言吸引了很多关注。根据TIOBE编程排行榜,2016年,Go语言成为年度最受欢迎的编程语言;2019年,Go语言的热度不减,仍稳居排行榜前20名。在基于云的服务中,Go语言因其在编译速度和执行性能上的优越性,具有其他编程语言无法比拟的...阅读全文

博文 2019-04-29 17:34:44 HuJay

DocHub文库PC端模板,文库系统PC端模板

# DocHub文库PC端模板 [DocHub](https://gitee.com/TruthHun/DocHub)文库PC端模板,使用基于Bootstrap的Flat-UI开发,模板页面是在2016年8月份左右开发出来的,原型我也不记得是参考哪个站点的了,毕竟这个PC端模板差不多算是两年前的作品了。 `DocHub`演示站点[IT文库(http://wenku.it)](http://wenku.it)上的页面,在开发的时候,对样式和页面布局做了一些改动,而且,现在的模板,是没有实现一些js相关功能的。 现以Apache 2.0 开源协议,将模板开源出来,有需要的朋友可以直接拿来使用。 ## 模板托管地址 - GitHub:https://github....阅读全文

Is there a golang logging library around that doesn't lock the calling goroutine for logging?

<p>I was using logrus until now and it caused a real nasty hard-to-debug bug. Basically, under a certain circumstance, there were too many calls to <code>logrus.Infof</code> and hundreds of gouroutines were hung on acquiring lock before they can flush the log. </p> <p>For ex, log4j does this. <a href="https://l...阅读全文