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

MQTT 代理 SurgeMQ

SurgeMQ 旨在提供 MQTT 代理和客户端开发包,完全兼容 MQTT sepc 3.1.1,此外尝试兼容 3.1。SurgeMQ 目前开发活跃,在一台 4 核 2.8G i7 处理器的 MBP 上性能可达: * **over 400,000** MPS in a 1:1 单发布者和生产者配置 * **over 450,000** MPS in a 20:1 fan-in configuration * **over 750,000** MPS in a 1:20 fan-out configuration * **over 700,000** MPS in a full mesh configuration with 20 clients ![image](http://st...阅读全文

自动化部署工具Syncd

syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率. **目前只支持类Linux系统.** ## 目录 - [特性](#特性) - [原理](#原理) - [安装](#安装) - [使用](#使用) - [帮助](#帮助) - [授权](#授权) ## 特性 - Go语言开发,编译简单、运行高效 - Web界面访问,交互友好 - 灵活的角色权限配置 - 支持Git仓库 - 分支、tag上线 - 部署hook支持 - 完善的上线工作流 - 邮件通知机制 ## 原理 阅读全文

golang的日志分割

在githup上做了第一个发布,golang基于log日志,做得日志分割详细见:https://github.com/david-syw/vlogpackage mainimport ( "vlog")func main() { vlog.SetFlags(vlog.Ldate | vlog.Ltime | vlog.Lshortfile) vlog.SetFilepath("lo_test.log") //save file vlog.SetFileMax(20 * 1024 * 1024) //20M vlog.Println("test log1........") vlog.Println("test log2........") vlog.Println("test log3......阅读全文

博文 2019-01-25 10:34:41 天上火1

golang nats[5] cluster集群

集群模式 nats的集群模式对客户端来说并不是透明的。 所以集群对发布者和订阅者都是有影响的。 发布者和订阅者都知道连接的是一个集群的服务,而不是一个单点服务,换句话说发布者订阅者都必须指明集群中各个节点的地址。 当然,发布者和订阅者可以只针对集群中的某节点发布消息和订阅消息,不过这并不是集群模式的目的。 目的 提高可用性和可伸缩性。 实现原理 可用性,多个节点,挂掉任意一个,不影响整个集群对外提供服务。 伸缩性,服务端支持随意增加节点。订阅者可以感知服务端节点的变动,但是发布者并不能自动感知。 3个node的集群 $ gnatsd -p 4222 -m 4333 -cluster nats://localhost:4248 -routes nats://localhost:5248,nat...阅读全文

博文 2018-08-19 22:34:56 luckyase

Go 1.1 is released(Google Go 语言发布1.1版本)

MONDAY, MAY 13, 2013Go 1.1 is releasedIt is our great pleasure to announce the release of Go 1.1.In March last year we released Go 1.0, and since then we have released three minor "point releases". The point releases were made to fix only critical issues, so the Go 1.0.3 you use today is still, in essence, the Go 1.0 we released in March 2012.Go 1....阅读全文

博文 2015-06-17 20:06:13 OpenHero

Kafka 集群 Golang 应用实例

项目见:🐞 kafka cluster example 这个实例做了些什么? 搭建了拥有 3 节点 kafka、 3 节点 zookeeper 的 docker 集群服务; 分别创建了 1 个消息发布者和 2 个相同消费组的消息订阅者的 docker 应用; 使用 ab 进行并发测试,验证该实例消息的订阅 / 发布功能; 通过这个实例,能够了解些什么? 使用 Docker Compose 构建 Kafka 集群 使用 Golang 创建 Kafka Pub/Sub 实例 使用 ApacheBench 进行并发测试 使用 Makefile 简化构建操作命令 如果这个实例,对你了解 kakfa 有所帮助,请为项目添加 star ,非常感谢...阅读全文

6、 reactor

Reactor 简介 前面提到的 RxJava 库是 JVM 上反应式编程的先驱,也是反应式流规范的基础。RxJava 2 在 RxJava 的基础上做了很多的更新。不过 RxJava 库也有其不足的地方。RxJava 产生于反应式流规范之前,虽然可以和反应式流的接口进行转换,但是由于底层实现的原因,使用起来并不是很直观。RxJava 2 在设计和实现时考虑到了与规范的整合,不过为了保持与 RxJava 的兼容性,很多地方在使用时也并不直观。Reactor 则是完全基于反应式流规范设计和实现的库,没有 RxJava 那样的历史包袱,在使用上更加的直观易懂。Reactor 也是 Spring 5 中反应式编程的基础。学习和掌握 Reactor 可以更好地理解 Spring 5 中的相关概念。 ...阅读全文

博文 2018-10-15 08:34:37 lesline

使用 Go 实现简单的事件总线

![pic_1](https://raw.githubusercontent.com/studygolang/gctt-images/master/let%E2%80%99s-write-a-simple-event-bus-in-go/pic_1.png) 事件驱动架构是计算机科学中一种高度可扩展的范例。它允许我们可以多方系统异步处理事件。 事件总线是[发布/订阅模式](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern)的实现,其中发布者发布数据,并且感兴趣的订阅者可以监听这些数据并基于这些数据作出处理。这使发布者与订阅者松耦合。发布者将数据事件发布到事件总线,总线负责将它们发送给订阅者。 ![pic_2](ht...阅读全文

博文 2019-07-08 21:35:05 watermelo

RDC容器构建和部署服务新功能上线

摘要: 通过RDC和容器服务的集成,很好的解决了从代码提交到发布上线,及多环境流水线部署等问题 容器服务 阿里云容器服务提供了从容器构建到部署的服务。再此基础之上还提供了一系列的阿里云其它服务的集成和扩展,比如监控、日志、负载均衡等。 Devops解决方案 先探讨一下我们期望的Devops研发流程是什么样子。 Devops需求 对于一个应用A(非容器服务中的应用,而是RDC中的应用的概念),会考虑下面的点: 在进行镜像构建时,我希望运行测试;对于Java之类的编译型语言,我还需要打包。但我不希望把运行测试和进行构建的依赖(比如maven),放入镜像中。目前容器服务提供的构建服务仅支持docker build命令,因此无法在镜像构建之外再做上述的工作。...阅读全文

如何在 Linux & MacOS 上优雅的发布 Go 程序

这两天写了一个开源小工具,时间戳转换与对比工具:ts,主要是在公司运维时使用。程序写完了发现安装过程不够自动化,特别是对于个人使用 MacOS 系统,日常运维是 Linux 操作系统。虽然 Go 语言支持跨平台编译,但是拿着个二进制程序拷贝来拷贝去,总归不像样。本文记录一下如何优雅在 Linux & MacOS 上发布 Go 程序的过程。 必备工具 在实操之前,请首先确认成功安装以下工具: brew goreleaser godownloader 操作步骤 首先当然是完成项目的编码工作。程序能够正常的编译执行。以ts项目为例。 $: git clone https://github.com/liujianping/ts $: cd $: ├── LICENSE ├── README.md ├...阅读全文

博文 2019-06-27 12:04:16 JayL

如何在 Linux & MacOS 上优雅的发布 Go 程序

这两天写了一个开源小工具,时间戳转换与对比工具:ts,主要是在公司运维时使用。程序写完了发现安装过程不够自动化,特别是对于个人使用 MacOS 系统,日常运维是 Linux 操作系统。虽然 Go 语言支持跨平台编译,但是拿着个二进制程序拷贝来拷贝去,总归不像样。本文记录一下如何优雅在 Linux & MacOS 上发布 Go 程序的过程。 必备工具 在实操之前,请首先确认成功安装以下工具: brew goreleaser godownloader 操作步骤 首先当然是完成项目的编码工作。程序能够正常的编译执行。以ts项目为例。 $: git clone https://github.com/liujianping/ts $: cd $: ├── LICENSE ├── README.md ├...阅读全文