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

Goroutine协程池ants

ants是一个高性能的协程池,实现了对大规模goroutine的调度管理、goroutine复用,允许使用者在开发并发程序的时候限制协程数量,复用资源,达到更高效执行任务的效果。 功能: 1. 实现了自动调度并发的goroutine,复用goroutine 2. 提供了友好的接口:任务提交、获取运行中的协程数量、动态调整协程池大小 3. 资源复用,极大节省内存使用量;在大规模批量并发任务场景下比原生goroutine并发具有更高的性...阅读全文

Erlang和Go的并行化concurrent比较

说到concurrent,一般会想到Erlang和Go语言,这两种语言的主打特性都是concurrent,Erlang有着20多年的历史,是为简化开发电信大并发和高可靠性应用而发明的语言,Go是Google从2007年开始设计,2009年opensource出来的,Go属于一种system language,opensource的就算这两种语言吧,公司内私有的语言则有TNSDL,SDL的一个变种,以前写过一篇SDL和Erlang比较的文章(http://bookjovi.iteye.com/blog/1233299),这三种concurrent语言各有不同,下面看看: 1)语言设计 Erlang的实现基于虚拟机beam,Go是编译型语言,有着独成一体的compiler(不同于gcc,Go很好...阅读全文

博文 2015-04-10 22:42:48 bookjovi

[上海招聘]大数据公司寻求golang小伙伴!

GoLang开发工程师(上海) 岗位职责: 1、负责公司产品服务器端开发及维护 任职要求: 1、了解Linux的使用,能使用Linux服务器 2、了解TCP/IP协议栈,HTTP协议 3、具有golang服务器端至少1年开发经验、其它主流语言2年上经验 4、具备熟练阅读英文技术资料能力,习惯通过手册、google搜索、stackoverflow、serverfault等途径寻找问题答案 5、具有分布式系统设计开发经验者优先 6、良好的算法基础 7、熟悉常用NoSQL数据库使用 8、具有良好的编码风格和团队协作精神 9、具备一定钻研和技术攻关能力 10、具有github博客优先,方便我们更深入地了解你 薪资:8-18k,如果的确有料,薪资可谈 ...阅读全文

Erlang和Go的并行化concurrent比较

文链接:http://www.csnuts.com/msg/?id=9067 说到concurrent,一般会想到Erlang和Go语言,这两种语言的主打特性都是 concurrent,Erlang有着20多年的历史,是为简化开发电信大并发和高可靠性应用而发明的语言,Go是Google从2007年开始设 计,2009年opensource出来的,Go属于一种system language,opensource的就算这两种语言吧,公司内私有的语言则有TNSDL,SDL的一个变种,这三种concurrent语言各有不 同,下面看看: 1)语言设计 Erlang的实现基于虚拟机beam,Go是编译型语言,有着独成一体的compiler(不同于gcc,Go很好的解决了依赖的问题, 所以编译go程序时...阅读全文

[北京] 东城雍和宫–快乐迭代 招聘 Go工程师(可年后入职)

公司简介: 我们是一家北京的开发并运营互联网创新产品的公司。公司团队以技术为主导。在技术方面,倡导全面自动化、拥抱新技术。产品设计方面,倡导极简主义、注重细节。我们有海量用户的操盘经验,曾经把一款娱乐类 App 做到将近 1000 万用户,在苹果 App Store 香港区、台湾区下载量排行第一。公司得到了顶级 VC 的投资。 福利待遇: 满足你期待的薪资,而且试用期薪资不打折,入职即缴纳五险一金,带薪年假,团建聚餐,节日福利,生日福利,免费体检,免费工作餐,旅游等福利多多… Go 工程师--职位描述: - 熟悉 Go 语言 - 有高负载 Server 实战经验 - 对计算机技术有发自内心的兴趣 - 必须有无障碍阅读英文技术文献的能力 联系方式: ...阅读全文

Go 唯一标识生成库 NUID

NUID 是一个高性能的唯一标识生成库,使用 GO 语言开发。 示例代码:

// Utilize the global locked instance
nuid := nuid.Next()

// Create an instance, these are not locked.
n := nuid.New()
nuid = n.Next()

// Generate a new crypto/rand seeded prefix.
// Generally not needed, happens automatically.
n.RandomizePrefix()阅读全文

企业打开云HBase的正确方式,来自阿里云云数据库团队的解读

摘要: 一、HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性、高性能、高伸缩的分布式存储系统,使用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 一、HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性、高性能、高伸缩的分布式存储系统,使用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase最初是以Hadoop子项目的形式进行开发建设,直到2010年5月才正式成为Apache的顶级项目独立发展。伴随着互联网时代数据的澎湃增长,HBase作为基础存储系统得到了快速发展与应用,大...阅读全文

Golang:线程 和 协程 的区别

作者:林冠宏 / 指尖下的幽灵 掘金:juejin.im/user/587f0d… 博客:www.cnblogs.com/linguanh/ GitHub : github.com/af913337456… 腾讯云专栏: cloud.tencent.com/developer/u… 目录 前言 协程 协程的特点 第 1 和 第 2 点 特点中的第 3 和 第 4 点 和线程的整体对比 前言 国庆愉快各位,距离上次发文快两个月了,19年也快结束了。现在的总结更多是放在了草稿 而没有发出,这次详细分享下在 Go 中,线程和协程的区别及其关系。 协程 协程,英文名Coroutine。但在 Go 语言中,协程的英文名是:gorutine。它常常被用于进行多任务,即并发作业。没错,就是多线程作业的那个...阅读全文

博文 2019-10-07 11:34:21 林冠宏

为什么那么多人用GO?GO语言的优势在哪里?

Go语言最早并不是一个Google的正式项目,而是作为一个“20%”的项目出现。直到2009年,它被设计成一种系统编程语言,用于具有Web服务器、存储集群或类似用途的大型中央服务器的系统编程语言,目前Go Team有稳定的发布周期,大约半年一个新的版本,目前最新为1.9版本。对于高性能的分布式系统,GO语言无疑比大多数其他语言更高效。它提供了大量的并行支持,这对于游戏服务端的开发而言是再好不过了。传统的语言如C++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写-编译-运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。在人力成本越来越高、机器越来...阅读全文

博文 2019-07-02 12:33:09 马哥小师姐

Golang从入门到深入

为什么学习Golang语言 Go语言为并发而生 Go语言的并发是基于 goroutine 的,goroutine 类似于线程,但并非线程。可以将 goroutine 理解为一种虚拟线程。Go 语言运行时会参与调度 goroutine,并将 goroutine 合理地分配到每个 CPU 中,最大限度地使用CPU性能。开启一个goroutine的消耗非常小(大约2KB的内存),你可以轻松创建数百万个goroutine。goroutine的特点: goroutine具有可增长的分段堆栈。这意味着它们只在需要时才会使用更多内存。 goroutine的启动时间比线程快。 goroutine原生支持利用channel安全地进行通信。 goroutine共享数据结构时无需使用互斥锁。 Go性能强悍 数据来...阅读全文

博文 2019-11-08 11:32:47 zhiqiang

分布式 NoSQL 数据库Titan

Titan 是美图公司基于 [TiKV](https://www.oschina.net/p/tikv) 开发的一个 NoSQL 数据库,Titan 使用完全兼容 Redis 的通讯协议。 主要特性: 完全兼容 Redis 协议 完全支持强一致性的分布式事务 支持多租户模式 无缝扩展 高可用性 下面是 Titan 的一些性能测试结果: ![Get command benchmark](https://static.oschina.net/uploads/img/201811/19071751_sZAD.png) ![Set command benchmark](https://static.oschina.net/uploads/img/201811/19071752_fl...阅读全文

开源项目 2018-12-05 09:30:01 网友

Dig101: Go之for-range排坑指南

好久没写了,打算今年做个Dig101系列,挖一挖技术背后的故事。 > Dig101: dig more, simplified more and know more golang常用的遍历方式,有两种: for 和 for-range。 而for-range使用中有些坑常会遇到,今天我们一起来捋一捋。 文章目录 - 0x01 遍历取不到所有元素指针? - 0x02 遍历会停止么? - 0x03 对大数组这样遍历有啥问题? - 0x04 对大数组这样重置效率高么? - 0x05 对 map 遍历时删除元素能遍历到么? - 0x06 对 map 遍历时新增元素能遍历到么? - 0x07 这样遍历中起 goroutine 可以么? 可以移步 **[微信版地址](https://mp.weixin....阅读全文

博文 2020-01-05 00:14:16 NewbMiao

golang 内存池

一般来说,内存池都是采用预分配的方式,分为固定大小的和非固定大小块,固定大小的内存效率高,非固定大小灵活。同时,分为单线程和多线程版的,单线程不需要考虑并发问题。 一般内存池的实现思想:分配一块比较大多内存,把这块内存分成大小相等的块,即固定大小,第一块要保存必要的信息,比如nfirst(第一块可分配到块),nsize(共分配了多少),nfree(可分配块大小),pnext(若是内存池不够,分配一块growth,pnext指向下一块),p(保存第一可分配内存块的地址),同时还需要poolmanage来统一做管理。每一个内存块的头两个字节记录下一个可分配的内存块的地址,因为是固定大小的,所以可以根据p和第几块算出地址。头两个字节分配的好处就是分配之后内存可复用,注意在归还到内存池的时候头两个字...阅读全文

博文 2018-08-20 00:30:01 williamjie

深入Go UDP编程

用户数据报协议(User Datagram Protocol,缩写为UDP),又称用户数据报文协议,是一个简单的面向数据报(package-oriented)的传输层协议,正式规范为 RFC 768。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。UDP在IP数据报的头部仅仅加入了复用和数据校验。 由于缺乏可靠性且属于非连接导向协议,UDP应用一般必须允许一定量的丢包、出错和复制粘贴。但有些应用,比如TFTP,如果需要则必须在应用层增加根本的可靠机制。但是绝大多数UDP应用都不需要可靠机制,甚至可能因为引入可靠机制而降低性能。流媒体(流技术)、即时多媒体游戏和IP电话(VoIP)一定就是典型的UDP应用...阅读全文

博文 2016-10-20 16:00:01 jimoforever

[上海宝山] 后端开发&Golang开发求贤

我们是一家年轻创业公司,年轻人的氛围,一流学习环境。 技术和思想交流的理想平台。 创新产品项目发源地 [我们能提供的] 1 、丰厚福利待遇,还有轻松的办公环境,免费食品,节日奖金; 2 、充分的技术交流平台; 3、 前沿的新技术使用,经验积累。 以下是招聘职位描述: 薪资待遇:15k~30k 职位描述: 负责金融科技产品开发,后端系统研发工作 任职要求: 1、本科或以上学历,计算机、数学等相关专业; 2、有Golang后端开发经验,或者对Golang充满兴趣; 3、熟悉Linux、UNIX系统优先; 4、熟悉C、C++、JAVA开发经验优先考虑; 5、欢迎新人加入!!! 联系方式: QQ: 86244962 邮箱:wanglq@hui...阅读全文

8-20K/成都软件园/2NGolang招聘/周末双休/福利待遇可观

任职要求: 1、统招专科以上学历,22-35岁,具有良好的团队合作精神,有较强的开发能力和灵活性; 2、熟悉golang语言,基础扎实,2年以上golang开发工作经验,有完整的项目经验优先 ; 3、熟悉Golang协程,精通channel和锁,对高并发、高可用架构系统有正确、深刻的理解,要求有分布式服务器开发经验; 4、有Web开发经验,对RESTful概念有清晰的理解,并至少有一次API Server开发项目中运用到; 5、熟悉xml/json/protobuf等至少任意一种网络通信技术和数据交换格式 6、有清晰的编程思路; 7、工作积极主动,态度踏实认真,有较强的职业素养和工作操守; 8、对技术有激情,喜欢钻研,能快速接受和掌握新技术,学习能力和工作责任心强,良好的沟通...阅读全文

Goroutine 本地存储库gls

golang 语言目前唯一的高性能 goroutine local storage 实现,每秒可以完成数百万次Get/Set。 ``` Operate Performance Benchmark_Goid 5.30 ns/op Benchmark_Set 271 ns/op Benchmark_Get 155 ns/op Benchmark_Set_4Threads 129 ns/op Benchmark_Get_4Threads 58.6 ns/op ``` 使用起来极为简单: ```go import "github.com/yyzybb537/gls" // 设置协程局部变量 gls.Set("Value", 1) // 获取协程局部变量 var i int = gls.Ge...阅读全文

开源项目 2017-06-29 07:00:03 网友

成为一名高级Python工程师如何学习?

随着人工智能的发展与应用,Python编程语言受到世界各界人士的关注,Python工程师也成为一个热门职业,就业薪资高,发展前景广阔。 Python是一门简单的编程语言,学习相对更加轻松容易,初学者很容易入门,但想要学好,成为一名优秀的Python工程师就不是那么容易的事情了,需要受到很多因素的影响,以下是成为一名优秀的Python工程师需要满足的条件: **一、坚持和自信** 做任何一件事,贵在坚持,要坚信自己能够学好,是Python学习过程比不可少的心态,当遇到学习上的难点时,才能更有耐心的解决与积累,完整的进行Python课程的学习。 **二、选择适合自己的教材** 每个人的特点不同,有些人喜欢看书,有些人喜欢听老师讲课,选择适合自己的学习方式,才能更快...阅读全文

为什么学习go语言编程?

1. 从python开发角度看go语言 (1)部署简单:Go 编译生成的是一个静态可执行文件,除了 glibc 外没有其他外部依赖。完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。 (2)并发性好。Goroutine 和 channel 使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。 (3)良好的语言设计。Go 的设计是非常优秀的:规范足够简单灵活。 (4)执行效率高。虽然不如 C 但是已经超过C++和java,和解释型语言相比,更是相差一个数量级,比如python,ruby。 备注: 编译型语言:在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。 解释型语言:是在运行的...阅读全文

博文 2016-09-13 02:00:00 qq_17416741

Go 语言简介

一.Go发展史 想要了解一门语言,少不了他的发展史。 这里简单的介绍一下其历史年度关键节点。 1.里程碑 Go 也叫 Golang 起源于2007年 2009年首次公开发布 2010年谷歌投入使用 2011年被Google AppEngine支持 2012年正式版Go1 2015年发布Go1.5,移除了“最后残余的C代码” 目前最新版本为Go1.10 不得不说Go是一门很年轻的语言,是一个零零后。 二.Go特点 我们学习一门语言总归是出于各种各样的原因的,他会是各式各样的原因。 那既然现在我有了一个想要了解 Go 的一个意愿,肯定要先知道该语言有那些特色,或者说有那些吸引人的地方的说。 1.效率高 — 图片来自百度 Go 被誉为“21世纪的 C 语言”。 正如 Go 语言的 Logo 这只萌...阅读全文

博文 2018-07-07 12:34:41 SeaConch

【深入浅出容器云】关于容器云你不得不知的十大特性

** 导语:**随着以Docker为代表的容器技术在国内的迅速发展,[容器云][1]也逐渐被广大开发者所熟知,但容器云(CaaS)相比传统的云主机(IaaS)在实际应用中还存在着一些鸿沟。为此,我们试图以通俗精炼的语言向广大开发者介绍容器的特点,应用场景以及优势等。【深入浅出容器云】系列文章是由时速云出品,本文是第一篇,欢迎大家不吝赐教。 ### 1.高密度 高弹性 现有的云计算平台在面对大规模、高弹性计算的需求时往往会遇到一些瓶颈: 1.难以在短时间内启动大规模计算资源来应对高并发的需求; 2.传统IaaS的弹性计算性价比低,每个虚拟机都要消耗额外的系统资源。 由于Docker容器的启动一般在秒级实现,这相比传统的虚拟机方式要快得多。 另外 Docker 对系统...阅读全文

深圳互联网公司招聘golang后端工程师

**工作内容:** - 负责APP后端开发 - 保证产品的快速迭代 **任职资格:** - 三年以上后端开发经验 - 一年以上golang开发经验 - python/php/java转golang者优先 - 在github等有golang开源项目者优先 - 扎实的编程功底,能享受编程乐趣 - 高效的学习能力和分析解决问题能力 **工资待遇:** - 月薪9-15k - 技术好的另当别论 **联系QQ:**51255339...阅读全文

高可用 Redis 服务架构分析与搭建

基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。不过任何一个基础服务的提供方,都会被调用方问起的一个问题是:你的服务是否具有高可用性?最好不要因为你的服务经常出问题,导致我这边的业务跟着遭殃。最近我所在的项目中也自己搭了一套小型的“高可用”Redis服务,在此做一下自己的总结和思考。首先我们要定义一下对于Redis服务来说怎样才算是高可用,即在各种出现异常...阅读全文

博文 2018-10-07 21:34:39 JAVA高级架构开发

Golang中JSON的使用

GO Json author: qcliudate: 2015/07/21 Abstrct 介绍go语言中json的使用 json json是一种传输格式,类似与XML,与XML相比可读性略差,但是传输效率高。 GO Json go语言中提供了json的encoder,可以将数据结构转换为json格式。在使用之前,需要导入包 import "encoding/json" Encode 使用 func NewEncoder(w io.Writer) *Encoder 创建一个json的encode。 file, _ := os.Create("json.txt") enc := json.NewEncoder(file) err := enc.Encode(&v) 数据结构v会以json格式写...阅读全文

为什么那么多人用GO?GO语言的优势在哪里?

Go语言最早并不是一个Google的正式项目,而是作为一个“20%”的项目出现。直到2009年,它被设计成一种系统编程语言,用于具有Web服务器、存储集群或类似用途的大型中央服务器的系统编程语言,目前Go Team有稳定的发布周期,大约半年一个新的版本,目前最新为1.9版本。 对于高性能的分布式系统,GO语言无疑比大多数其他语言更高效。它提供了大量的并行支持,这对于游戏服务端的开发而言是再好不过了。 传统的语言如C++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写-编译-运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。 在人力成本越来越高、机...阅读全文

博文 2019-07-16 16:11:06 589dgd

永续合约是交易所布局高粘度生态体系的关键

数字货币交易所的盈利模式相对来说比较简单,交易类型也不复杂。近几年,大批交易所应运而生,现如今交易所都是以交易流量来进行盈利(维持生计)。当市场波动性不是特别大的时候,用户交易频次就会降低,就会迫使交易所必须找寻一件途径放大市场波动性,增大投资属性,从而为交易所带来流量(用户)与盈利点。合约恰好符合这一特性,而在合约中永续合约的杠杆倍数更高,就会将市场波动性放大到和杠杆等比的倍数,波动性更大,能够给交易所带来流量和资金,因而永续合约备受交易所青睐。​​永续合约的特点:1、永续合约不会交割,可以一直持有,比较适合做长线的投资者,也能节省由于交割带来的手续费。永续合约的杠杆可选择范围也是比较大,可以从1到100倍。2、在标记场内价格的同时,实时调取、计算全球主流交易所现货价格作为指数价格参考,综...阅读全文

阿里讲师带你一步步学习分步式文件存储系统技术及实现

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

【北京】招聘 Go 工程师 待遇好 可年后的入职

公司简介: 我们是一家北京的开发并运营互联网创新产品的公司。公司团队以技术为主导。在技术方面,倡导全面自动化、拥抱新技术。产品设计方面,倡导极简主义、注重细节。我们有海量用户的操盘经验,曾经把一款娱乐类 App 做到将近 1000 万用户,在苹果 App Store 香港区、台湾区下载量排行第一。公司得到了顶级 VC 的投资。 福利待遇: 满足你期待的薪资,而且试用期薪资不打折,入职即缴纳五险一金,带薪年假,团建聚餐,节日福利,生日福利,免费体检,免费工作餐,旅游等福利多多… Go 工程师--职位描述: 熟悉 Go 语言 有高负载 Server 实战经验 对计算机技术有发自内心的兴趣 必须有无障碍阅读英文技术文献的能力 联...阅读全文

敏感词过滤算法

前言 在游戏设计中一个最基本的功能就是处理屏蔽字、敏感字,至于为什么这个需求这么重要?你懂的。在网上搜了很多资料,发现主要有三种实现方式: 对于输入的一句话message, 1、循环使用所有的屏蔽词去message中查找,看是否存在,如果存在则判定为敏感词。 优点:简单,只要学过几个月编程的都会; 缺点:效率太低,而且效果不是太好; 2、将有共同起始内容的屏蔽词分为一组,然后再使用方式1。 优点:比方案1效率高一些; 缺点:效率仍然很低,而且效果太差; 3、使用DFA算法。 优点:效率高,内存消耗低; 缺点:与前两者相比,实现复杂。 综上:为了应对越来越多的敏感词,寻找一个高效率的敏感词过滤算法就摆在了各个程序员的面前。而DFA是所有方法里面效率最高的。 在网上看了很多现有的实现方式,觉得存...阅读全文

golang的特性和优势

go是21世纪的C语言,也是云计算时代的C语言,它的诞生是为了有更高的开发效率,它于2009年9月加入开源语言的大家庭,2012年正式发布。 go的最大优势就是执行速度和开发效率都很出色,而且从语言级别上支持并发。执行速度快是因为go是编译型的静态语言,它在执行速度上比解释型语言具有先天的优势。生产效率高是基于go的语法和结构简明,易学易用。 go出现之前,无论汇编语言、还是动态脚本语言,在执行效率和开发效率上都不能兼备。 执行效率 execution speed: C/C++ > Java > PHP 开发效率 developing efficiency: PHP > Java > C/C++ go的不足之处就是年轻,有些方面还不够成熟和丰富,但它正在成长的道路上迅速迈进,希望在中国能今早...阅读全文

博文 2019-05-13 19:31:39 weixin_40213018

高可用Redis服务架构分析与搭建

c基于内存的Redis应该是目前各种Web开发业务中最为常用的Key-Value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较MySQL而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。 不过任何一个基础服务的提供方,都会被调用方问起的一个问题是:你的服务是否具有高可用性?最好不要因为你的服务经常出问题,导致我这边的业务跟着遭殃。最近我所在的项目中也自己搭了一套小型的“高可用”Redis服务,在此做一下自己的总结和思考。 首先我们要定义一下对于Redis服务来说怎样才算是高可用,即在各种出...阅读全文

【北京】雍和宫地铁口 快乐迭代 招聘Go高级工程师

公司简介: 我们是一家北京的开发并运营互联网创新产品的公司。公司团队以技术为主导。在技术方面,倡导全面自动化、拥抱新技术。产品设计方面,倡导极简主义、注重细节。我们有海量用户的操盘经验,曾经把一款娱乐类 App 做到将近 1000 万用户,在苹果 App Store 香港区、台湾区下载量排行第一。公司得到了顶级 VC 的投资。 福利待遇: 满足你期待的薪资,而且试用期薪资不打折,入职即缴纳五险一金,带薪年假,团建聚餐,节日福利,生日福利,免费体检,免费工作餐,旅游等福利多多… Go 工程师--职位描述: - 熟悉 Go 语言 - 有高负载 Server 实战经验 - 对计算机技术有发自内心的兴趣 - 必须有无障碍阅读英文技术文献的能力 联系方式:...阅读全文

【北京】雍和宫地铁口 快乐迭代 招聘 Go工程师 待遇好

公司简介: 我们是一家北京的开发并运营互联网创新产品的公司。公司团队以技术为主导。在技术方面,倡导全面自动化、拥抱新技术。产品设计方面,倡导极简主义、注重细节。我们有海量用户的操盘经验,曾经把一款娱乐类 App 做到将近 1000 万用户,在苹果 App Store 香港区、台湾区下载量排行第一。公司得到了顶级 VC 的投资。 福利待遇: 满足你期待的薪资15K-30K左右,有年终奖,而且试用期薪资不打折,入职即缴纳五险一金,双休,带薪年假,团建聚餐,节日福利,生日福利,免费体检,免费工作餐,旅游等福利多多… Go 工程师--职位描述: 熟悉 Go 语言 有高负载 Server 实战经验 对计算机技术有发自内心的兴趣 必须有无障碍阅读英文技术文献的能力 联系方式: ...阅读全文

NoSQL笔记

#### 非关系数据库的相关问题 * 什么是最终一致性(Eventual Consistency)? "过程松,结果紧,最终结果必须保持一致性" 最终一致性模型是用于分布式系统中,用来实现高可用性,确保在如果一个更新操作发生,那么最终一定可以读取到这次更新操作的发生。最终一致性在分布式领域广泛使用,采用多个副本形式。如果一个系统实现了最终一致性,那么这个系统可以成为收敛的,或者叫做实现了副本收敛。相比与传统的ACID,最终一致性提供的是BASE(Basic Availablilty, Soft state, Eventual Consistency)服务。 最终一致性缺点:在系统达到副本收敛之前,系统有可能返回任何值。 * NoSQL是如何解决可伸缩性的挑战的...阅读全文

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

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

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

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

d-FTP:基于NKN的高速文件传输应用

NKN客户端支持免费且以去中心化方式进行的端到端数据传输。在NKN之前,如果发送方(例如移动应用程序)想要将某些数据发送到接收方,则接收方需要可被公网访问的地址和端口,这对于一般的个人应用是不切实际的, 又或者需要发送和接收双方必须同时连接到同一个集中式服务器/平台(比如微信),这样也会引入额外的成本(比如构建集中化服务器及支付数据转发费用)和潜在的安全漏洞(比如用户数据暴露给了中心化服务器或第三方服务, 又或者集中化服务器的故障将导致整个系统瘫痪)。但现在使用NKN数据传输服务,得益于NKN公共区块链网络平台, 发送方和接收方可以在任何网络条件下保持数据的私密性,并且不需要集中式服务器或平台。数据将以去中心化的方式进行路由和传递,端到端加密且免费。NKN客户端使用非常相对简单的协议(类似于...阅读全文

博文 2019-10-04 10:32:46 aside section ._1OhGeD

滴滴杭州招聘golang开发工程师(存储方向)

欢迎各路golang大神、生力军加盟,一起搞事情~~ 互联网工程师文化,技术驱动,不亚于BAT的福利待遇,外加高速发展的业务和上升空间 http://job.didichuxing.com/social/p/2300 (职位描述是大数据平台,实际是分布式存储方向) 此外,还有java和前端开发招聘需求,欢迎大家投递简历。 简历可发邮箱 taodi@didichuxing.com ...阅读全文

高可用Redis服务架构分析与搭建

基于内存的Redis应该是目前各种Web开发业务中最为常用的Key-Value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较MySQL而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。 不过任何一个基础服务的提供方,都会被调用方问起的一个问题是:你的服务是否具有高可用性?最好不要因为你的服务经常出问题,导致我这边的业务跟着遭殃。最近我所在的项目中也自己搭了一套小型的“高可用”Redis服务,在此做一下自己的总结和思考。 首先我们要定义一下对于Redis服务来说怎样才算是高可用,即在各种出现...阅读全文

数据库工程师的职责是什么?有哪些发展方向?

数据库开发工程师 1.负责公司业务数据库系统的模型设计,表结构设计 2.负责数据处理中的语句实现,存储过程逻辑实现 3.负责指导开发人员对语句的性能优化和指导 数据库管理员(DBA) 1.负责公司业务数据库系统的部署实现 2.负责数据库系统的高可用性,备份恢复,性能调忧,监控等实现 数据库架构师 1.统筹公司业务数据库系统各个层面的技术实现 2.指导数据库开发工程师和管理员在各个环节的工作,提供更优的方案 数据俨然已经成为所有企业的重要资产,互联网企业更是将数据作为自己的生命线。一个优秀的数据库工程师通常掌握着企业的核心价值,保障数据服务持续正常运转,所以在公司地位相对比较高。责任越大,地位越高,薪资越高。 高速社会要求高速的系统,现在的系统性能瓶颈已经不是传统的硬件瓶颈,而是后台程序和数据...阅读全文

3 台机器如何搞定一个 Redis 高可用架构

基于内存的 Redis 应该是目前各种 Web 开发业务中最为常用的 key-value 数据库了。我们经常在业务中用其存储用户登陆态(Session 存储),加速一些热数据的查询(相比较 MySQL 而言,速度有数量级的提升),做简单的消息队列(LPUSH 和 BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将 Redis 存储以基础服务的形式提供给各个业务调用。不过任何一个基础服务的提供方,都会被调用方问起的一个问题是:你的服务是否具有高可用性?最好不要因为你的服务经常出问题,导致我这边的业务跟着遭殃。最近在我的项目中自己搭了一套小型的“高可用”Redis 服务,在此做一下自己的总结和思考。首先我们要定义一下对于 Redis 服务来说怎样才...阅读全文

博文 2019-01-11 21:34:42 Java高级架构师之路

Docker 容器编排实践练习

在本次练习中,你将体验到 Docker 的容器编排功能。首先你需要在单个主机上部署一个简单的应用程序,并了解其工作机制。然后,通过配置 Docker Swarm 模式,你将学习到怎样在多个主机上部署相同的简单应用程序。最后,你将看到如何对应用的规模进行扩容、缩容,以及如何将工作负载在不同的主机之间转移。 (译者注:登录原网站可使用在线练习资源) > **难度**:入门级 > **时间**:约 30 分钟 **任务**: - [第一节 - 容器编排是什么](# 第一节:容器编排是什么 ) - [第二节 - 配置 Docker Swarm 模式](# 第二节:配置 -Docker-Swarm- 模式 ) - [第三节 - 跨多主机部署应用](# 第三节:跨多主机部署应用 ) - [第四节 - 应...阅读全文

高可用 Redis 服务架构分析与搭建

基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。不过任何一个基础服务的提供方,都会被调用方问起的一个问题是:你的服务是否具有高可用性?最好不要因为你的服务经常出问题,导致我这边的业务跟着遭殃。最近我所在的项目中也自己搭了一套小型的“高可用”Redis服务,在此做一下自己的总结和思考。首先我们要定义一下对于Redis服务来说怎样才算是高可用,即在各种出现异常...阅读全文

博文 2018-11-29 00:34:46 java成功之路

值传参和指针传参优劣与选择

值传参: 优点:代码可读性更好,代码出错概率低,管理维护成本低 缺点:需要拷贝参数动作,耗费一定时间和空间,性能低 指针传参: 优点:不需要拷贝参数动作,节省空间,性能更高 缺点:代码可读性更差,代码出错概率更高,管理维护成本高 个人认为:在没有较好的性能优化收益情况下,选择值传参是更好的选择,对于一个项目工程来说可读性、管理维护成本、代码出错概率相对来讲更重...阅读全文

go语言学习

1、go的产生 go语言是谷歌公司开发的第二款语言,谷歌工程师感觉使用过去的开发语言在进行软件开发时,效率低,感觉痛苦,所以就开发了此语言 go语言是为了专门针对多处理器系统应用程序的编程而产生的,性能可以和c/c++媲美,开发效率跟高,使得多处理器系统的编程更加容易,快捷。使用go语言在进行多核处理器软件开发时,go语言对其进行了优化。具有编译快,效率高,性能好等优点。 2、go语言学习简介 在学习go语言时,我们可以选用intellij idea工具来使用go语言编程,此工具安装插件就可以把go语言的语法进行高亮显示 在学习go语言的过程中,go语言给我的第一感觉就是:简介,编程感觉很爽,在我看来,一门编程语言首先它是一门语言,语言追求的就是简洁,就像学习一门语言一样只要能吧一个问题说明...阅读全文

博文 2015-12-22 05:00:00 harry1986601

搭建高可用的Redis服务,需要注意这些方面!

基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。不过任何一个基础服务的提供方,都会被调用方问起的一个问题是:你的服务是否具有高可用性?最好不要因为你的服务经常出问题,导致我这边的业务跟着遭殃。最近在项目中也搭了一套小型的“高可用”Redis服务,在此做一下自己的总结和思考。首先要定义一下对于Redis服务来说怎样才算是高可用,即在各种出现异常的情况下,依然...阅读全文

博文 2018-07-25 17:35:08 Java填坑之路