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

go1.6升级带来响应延迟的问题

Go1.6 放出来很久了,这里是 Release,比较注意一点 Map 不加锁在并发访问时会 Crash.先说问题:升级go1.6后,线上的GC时间显显变短,但是响应时间变大,不可接受。 这几个小时完全不能接受 线上响应 显显看到 小于1ms的请求大幅减少,1ms~10ms请求突增,如果每个请求1ms,整体QPS猛降到1000,完全不能接受。 升级后 系统日志看升级后延迟好大 升级前 对比升级前的响应,基本不到1ms不知道已入坑的同学,有无遇到这个问题。在官方的 Issues 也提到过,需要进一步的测试疑似内存泄漏问题20160315因为升级go1.6有一个map并发访问的问题,所以在 go install 的时间增加了 -race选项 The runtime has added light...阅读全文

博文 2017-02-10 14:31:26 董泽润

高性能Vs性价比,总有一款适合你,阿里云NAS家族深度解析

摘要: 在今年召开的“2017杭州·云栖大会”上,阿里云文件存储(Network Attached Storage,简称NAS)再次释放技术红利,降价幅度达46%,再次成为云上存储的性价比标杆。阿里云NAS是具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。不仅是性价比,阿里云NAS家族还提供了适合各个企业场景的产品,来满足用户需求。 在此,笔者就来为大家一一解析整个阿里云NAS家族。 阿里云NAS文件存储共有三种类型:性能型,容量型和NAS Plus。 1、通用型NAS – (性能型/容量型)类型 NAS性能型使用SSD作为存储介质,为应用工作负载提供高吞吐量与IOPS、低时延的存储性能。 NAS容量型使用SATA HDD作为存储介质,以更低的成...阅读全文

Go项目(二)、toolbar和Material Design风格的选择

一、问题的出现: 使用google文档的写法,使用的material design风格只能在android L上面显示,sdk版本低于21的模拟器出现崩溃,所以为了能够在低版本的手机上显示同样的效果,我们使用toolbar进行显示。 二、原来使用于5.0的风格的写法(在自定义的theme中item会有android:这个命名空间的前缀) 三、使用toolbar的写法(一般在自定义的theme中没有android:这个命名空间的前缀) 具体的详细的操作可以看这篇博文 $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $nu...阅读全文

博文 2016-05-04 22:00:03 HNAer_RadAsm

分步式文件存储系统技术及实现

课程介绍 本课程针对分步式文件存储系统的实现进行讲解,首先分析为什么要使用这种分步式存储系统,以及这种系统在设计时需要注意的问题,并比较现在市面常见的分步式存储系统(HDFS、Ceph等),展示阿里Pangu系统针对其中问题的解决方法,并结合Pangu系统说明分步式存储系统的设计要点。 讲师介绍 姚文辉,2009年加入阿里巴巴,从事阿里巴巴自主研发的云计算平台—飞天分布式操作系统中的分布式存储系统—盘古。 课程目标 • 学习分步式文件存储系统的实现 适合人群 • 云计算开发者 课时列表 • 课时1:分布式存储客观需求 • 课时2:小概率事件对分布式系统的挑战 • 课时3:常见分布式系统-终版 • 课时4:分布式设计要...阅读全文

让运维更高效:关于ECS系统事件

**摘要**: 阿里云会针对ECS实例发布系统事件,当您收到阿里云计划维护的通知时,可以利用ECS系统计划事件了解与实例相关的计划维护操作,并根据您的业务特性选择合适的时间安排运维操作进行故障转移,减少对系统可靠性和业务连续性的影响。 阿里云作为领先和值得信赖的云计算服务提供商,提供和保障计算、存储、网络资源以及底层基础设施的可用性、稳定性、安全性。根据自身战略发展和业务需求,您可以设计高可用的云上IT架构,在阿里云上选择合适的产品、服务来搭建部署业务系统,并管理其中的数据。在此基础上,通过阿里云提供的API、监控、编排等多样化手段实现快速配置资源,搭建多套环境,自动化部署等IT运维能力。 相较于普通的IDC机房以及服务器厂商,阿里云会使用更严格的IDC标准、服务器准...阅读全文

go语句初探

go语句和通道类型是Go语言的并发编程理念的最终体现。相比之下,go语句在用法上要比通道简单很多。与defer语句相同,go语句也可以携带一条表达式语句。注意,go语句的执行会很快结束,并不会对当前流程的进行造成阻塞或明显的延迟。一个简单的示例如下: go fmt.Println("Go!") 可以看到,go语句仅由一个关键字go和一条表达式语句构成。同样的,go语句的执行与其携带的表达式语句的执行在时间上没有必然联系。这里能够确定的仅仅是后者会在前者完成之后发生。在go语句被执行时,其携带的函数(也被称为go函数)以及要传给它的若干参数(如果有的话)会被封装成一个实体(即Goroutine),并被放入到相应的待运行队列中。Go语言的运行时系统会适时的从队列中取出待运行的Goroutine并...阅读全文

博文 2016-08-06 18:00:02 freedomai

Golang 并发问题(四)之单核上的并发问题

写在前面 Golang 在单核上的“并发”问题 gotour上的乌龙案例 单个物理核心上的“并发” runtime.GOMAXPROCS(1) 方法 小结 参考 写在前面 过去 Web 开发的工作比较少涉及到并发的问题,每个用户请求在独立的线程里面进行,偶尔涉及到异步任务但是线程间数据同步模型非常简单,因此并未深入探究过并发这一块。最近在写游戏相关的服务端代码时发现数据的并发同步场景非常多,因此花了一点时间来探索和总结。这是一个系列文章,本文为第四篇。 本文简单介绍 Golang 中配置可用 CPU 核的方法及其可能导致的误解。 Golang 在单核上的“并发”问题 gotour上的乌龙案例 在上一篇博客中介绍了 Golang 并发编程中 map 类型的“脆弱”性。具体地,Golang 的运...阅读全文

Gox : 简单实在的Go平台交叉编译工具

Gox 是一个简单的,不花俏的Go平台交叉编译工具,它的用处就和标准的 go build 一样。Gox 会并行地为多种平台编译。Gox 同时也提供了一套交叉编译工具链。 Gox 项目地址:https://github.com/mitchellh/gox 安装 为了安装 Gox,请使用 go get。我们已经为版本打上了标签,所以可以随便切换标签进行编译: $ go get github.com/mitchellh/gox ... $ gox -h ... 用法 在你使用 Gox 之前,你必须先有一套交叉编译工具链。Gox 可以自动帮你完成这个。你需要做的只是运行(每次更新 Go 都要这样做这步): $ gox -build-toolchain ... 当你完成这个,你可以已经准备好进行交叉编...阅读全文

博文 2017-02-09 13:21:54 JeOam

互融云永续合约交易平台搭建-开发数币永续合约交易系统

互融云永续合约交易平台搭建-开发数币永续合约交易系统互融云永续合约交易系统不需要交割的特点更人性化,且永续合约结算快,有效提升了市场活跃度,也加大了投资者风险对冲、套期保值的机会。全球领先数字资产交易平台OKEX不断创造着币圈一个又一个纪录,践行着自己安全、创新、可信赖的承诺。据了解,从2018年12月至4月底,OKEX永续合约上线4个月以来,OKEx合约总成交额达4500亿美金,单日最高成交额突破120亿美金,创行业之最。永续合约运行稳定,期间共上线BTC、LTC、ETH、XRP、EOS、BCH、TRX等九个币种,成交额突破350亿美金,并且实现全币种零分摊。 随着数字货币期货的快速发展,广大用户看到了期货合约可以套期保值这一优势,并大力投身于合约交易之中。针对于资产量较大的用户来说,传统...阅读全文

博文 2019-08-22 17:32:53 北京互融时代

自动化测试 之 “好用例、坏用例”

摘要: 自动化测试的重要性显而易见,但自动化测试又无法解决所有问题,所以说完全依赖自动化是不可能的,但完全没有自动化是万万不能。在软件开发项目中,重度依赖人力进行持续回归是一件非常枯燥的重复工作。企业需要花费大量的时间和金钱来维持这样一支队伍以保证产品质量,而队伍中的同学在每天重复劳动的工作之下,也丝毫得不到成长,看不到方向。 尽管自动化测试不能解决所有问题,但是却拥有一个优势:“Once” Written, Run Anytime as Desired(一旦写好,即可随意重复执行)。所以,自动化测试通常都会跟持续集成系统(比如Jenkins)配合使用,就像“良辰美景”要配上“月光杯”才算的上是极致。这样我们可以避免在软件上线或交付的最后一刻,还深陷软件问题的泥潭中。当然,这也是敏捷开...阅读全文

这么多监控组件,总有一款适合你

更多文章,请移步微信公众号《小姐姐味道》 mp原文 https://mp.weixin.qq.com/s?__biz=MzA4MTc4NTUxNQ==&mid=2650518678&idx=1&sn=8c8c9c40620b649cfb673ecef70a23f4&chksm=8780b352b0f73a44455f99f93db67ec024a5f0c6ada17e29cb35f6f12d628148f9e0d74d91b3&token=1441710335&lang=zh_CN#rd 监控是分布式系统的必备组件,能够起到提前预警、问题排查、评估决策等功效,乃行走江湖、居家必备之良品。 监控系统概要 功能划分 一个宿主机cpu的报警叫做监控;一个业务日志的报错叫做监控;一个APM条件的触发...阅读全文

博文 2019-07-09 14:33:09 小姐姐味道

BC 34# 1001 Go to movies

简单的模拟 #include #include #include using namespace std; int a[105], b[105], f[105]; bool cmp(int a, int b) { return a < b; } int main() { // freopen("E:\input.txt", "r", stdin); int m, n; int i, flag; int res; while ((scanf("%d%d", &n, &m)) != EOF) { flag = 1; res = f[0]; if (n == 1) { flag = 0; } for (i = 1; i <= m; i++...阅读全文

博文 2015-12-22 04:00:00 u014265347

什么,秒杀系统也有这么多种!

前言 本文结构很简单: 5张图送你5种秒杀系统,再加点骚操作,再顺带些点心里话????‍♀️。 一个简单的秒杀系统 实现原理: 通过redis原子操作减库存 图一 优点 缺点 简单好用 考验redis服务能力 是否公平 公平 先到先得 我们称这类秒杀系统为: 简单秒杀系统 如果刚开始QPS并不高,redis完全抗的下来的情况,完全可以依赖这个「简单秒杀系统」。 一个够用的秒杀系统 实现原理: 服务内存限流算法 + redis原子操作减库存 图二 优点 缺点 简单好用 - 是否公平 不是很公平 相对的先到先得 我们称这类秒杀系统为: 够用秒杀系统 性能再好点的秒杀系统 实现原理: 服务本地内存原子操作减库存 服务本地内存的库存怎么来的? 活动开始前分配好每台机器的库存,推送到机器上。 图三 优...阅读全文

博文 2020-05-06 07:34:17 TIGERB

系统监控设计与实现

监控宿主机器的一些基础指标,并写入到 influxdb 用于之后的可视化以及报警服务 监控的指标包括:cpu利用率,cpu负载,内存使用,网络负载,iops,磁盘等 总体设计 go-monitor.png 主要分为两大模块,reporter,collector 和 scheduler collector: 负责具体的某些监控指标的采集 reporter: 负责将采集到的指标写入到数据库 scheduler: 负责整个流程的调度,数据采集和数据写入的协同 collector 将采集到的数据写到 channel 里,monitor 从 channel 中读取采集到的数据批量写入到 influxdb 中,整个过程的系统由 scheduler 来调度 设计思路 collector 设计 type M...阅读全文

go语句初探

go语句和通道类型是Go语言的并发编程理念的最终体现。相比之下,go语句在用法上要比通道简单很多。与defer语句相同,go语句也可以携带一条表达式语句。注意,go语句的执行会很快结束,并不会对当前流程的进行造成阻塞或明显的延迟。一个简单的示例如下: go fmt.Println("Go!") 可以看到,go语句仅由一个关键字go和一条表达式语句构成。同样的,go语句的执行与其携带的表达式语句的执行在时间上没有必然联系。这里能够确定的仅仅是后者会在前者完成之后发生。在go语句被执行时,其携带的函数(也被称为go函数)以及要传给它的若干参数(如果有的话)会被封装成一个实体(即Goroutine),并被放入到相应的待运行队列中。Go语言的运行时系统会适时的从队列中取出待运行的Goroutine并...阅读全文

博文 2016-09-08 10:00:04 freedomai

大规模的可观察性:构建Uber的预警生态系统

Uber的软件架构包含数千种微服务,这些微服务使团队能够快速迭代并支持我们公司的全球增长。这些微服务支持各种解决方案,例如移动应用程序,内部和基础结构服务以及产品,以及会影响城市和郊区的这些产品的复杂配置。 为了维持我们的增长和架构,Uber的Observability团队建立了一个强大的,可扩展的指标和警报管道,负责在服务出现问题时立即检测,缓解并通知工程师。具体来说,我们构建了两个数据中心警报系统,分别称为uMonitor和Neris,它们流入同一通知和警报管道。 uMonitor是我们基于指标的警报系统,它针对指标数据库M3运行检查,而Neris主要在主机级基础架构中寻找警报。 Neris和uMonitor都利用公共管道发送通知和重复数据删除。我们将深入研究这些系统,并讨论如何采取更多...阅读全文

大数加一,16进制,除了模拟还有什么好的方法了吗??

模拟代码