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

后羿射日般的精准 - 阿里云ECS调度是如何炼成的

摘要: 弹性计算服务ECS(Elastic Compute Service)是阿里云营收的中流砥柱和流量担当。作为各行业客户新业务和技术创新的发动机和使能者,ECS不仅能在10分钟内交付出一个中等体量互联网公司所需的全部计算力,更能承载阿里集团双十一极大的峰值弹性需求以及互联网巨头客户业务高峰所需的计算力,帮助所有用户打破计算力边界的限制。 1.引子 弹性计算服务ECS(Elastic Compute Service)是阿里云营收的中流砥柱和流量担当。作为各行业客户新业务和技术创新的发动机和使能者,ECS不仅能在10分钟内交付出一个中等体量互联网公司所需的全部计算力,更能承载阿里集团双十一极大的峰值弹性需求以及互联网巨头客户业务高峰所需的计算力,帮助所有用户打破计算力边界的限制。...阅读全文

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

Go读取通达信历史日线数据

突然间想使用Go从通达信读取A股历史行情信息,其实也蛮简单的。从通达信获取数据难点在于分析数据结构,而读取则各类语言分分钟搞定。准备工作下载安装通达信,通达信官网下载历史行情数据下载操作路径:系统->盘后数据下载下载后数据按股票市场分别存放:上海交易所:{通达信安装目录}\vipdoc\sh\lday\*.day深圳交易所:{通达信安装目录}\vipdoc\sz\lday\*.day通达信历史日线数据文件格式每只股票一个day文件,如:sh000001.day。文件中每一天数据总共32字节。其中每32字节数据格式如下:数据含义数据类型数据长度举例单位日期Integer420170703开盘价Integer42476当前值/100,元最高价Integer42520当前值 /100,元最低价In...阅读全文

博文 2017-07-28 14:37:33 虞双齐的博客

做一个商城网站需要什么功能

从网站建设的角度来讲,制作一个商城网站是要比制作其他类型网站复杂,因为商城网站所需要的功能、版面、要素、内容比一般网站要多,所以在制作过程中需要很多时间去进行各方面的测试与调整。在制作网站的时候如果不小心写错码或者一个文件错误可能就会导致整一个网站瘫痪,所以想要做好一个商城网站,就必须要做的细心的多做调整。 做一个上商城网站需要什么样的功能呢?在做网站的时候难免会出现纰漏,更何况是做一个商城网站,制作商城网站等于是一个大型的网站建设工程。四川广元网站建设公司的资深程序员浅析:现在无论是制作B2C商城网站还是C2C商城网站,想要做好一个商城网站,前期的工作是不能敷衍了事的。使用建站宝盒进行商城网站制作,能够避免许多小问题的出现,不用因为一些问题的发生导致...阅读全文

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

阿里云云产品会场 CDN 预售流量包购买攻略

活动1:狂欢预热 充值返现抽大奖http://click.aliyun.com/m/7262/ 10月24日阿里云云生态狂欢节正式上线,充储值卡+享返券+抽大奖;充储值卡的金额越多返券越多,而且所有充值、返券都可以用于双11当天到狂欢抢购,小编粗略的算了一下,暂不考虑双11当天折扣活动,像CDN这种按量付费的产品,充值返券最高可享受 8折~ 9折不等的折扣,试举一例: ”阿里云云生态狂欢节期间充值 50000 元 即可享受返券 7500 元,以CDN日流量为1T来计算,5个月仅下行流量约 150TB,消费金额就达到 51200 元,一次充值不仅可以覆盖掉5个月的流量费用,储值卡中仍会有盈余 6300 元可用户其他云产品的购买和使用,省到就是赚到,相当于单价 30%off。“ ...阅读全文

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 对系统...阅读全文

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

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

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

通过 Go 在去中心化交易所OceanOne上挂单买卖任意ERC20 token

在上一课中,我们介绍了如何在OceanOne交易比特币。OceanOne支持交易任何Mixin Network上的token,包括所有的ERC20和EOS token,不需要任何手续和费用,直接挂单即可。下面介绍如何将将一个ERC20 token挂上OceanOne交易!在掌握了ERC20 token之后,就可以把任何token在Ocean上买卖。 此处我们用一个叫做Benz的ERC20 token为例。这个token已经被充值进Mixin Network,你可以在区块链浏览器看到这个token在Mixin Network内部的总数和交易 预备知识: 先将Ben币存入你的钱包,然后使用ReadAssets API读取它的UUID. 取得该币的UUID 调用 ReadAssets API 会返...阅读全文

博文 2019-05-13 19:34:51 Mixin_Network

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:分布式设计要...阅读全文

敏感词过滤算法

前言 在游戏设计中一个最基本的功能就是处理屏蔽字、敏感字,至于为什么这个需求这么重要?你懂的。在网上搜了很多资料,发现主要有三种实现方式: 对于输入的一句话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服务来说怎样才算是高可用,即在各种出...阅读全文

NoSQL笔记

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

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

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

撮合引擎开发:完结篇

欢迎关注「Keegan小钢」公众号获取更多文章 撮合引擎开发:开篇 撮合引擎开发:MVP版本 撮合引擎开发:数据结构设计 撮合引擎开发:对接黑箱 撮合引擎开发:解密黑箱流程 撮合引擎开发:流程的代码实现 撮合引擎开发:缓存和MQ 撮合引擎开发:日志输出 撮合引擎开发:完结篇 本小节是该系列文章的最后一篇了,将讲解剩下的一些东西,包括交易委托账本中订单队列的实现逻辑、更多订单类型的实现逻辑。另外,不少朋友在问,完结后所有代码是否会开源放上 Github?我只能说,长期大概率会开源,但短期内还没打算开源。 订单队列 交易委托账本其实就是由两个订单队列组成的,一个买单队列,一个卖单队列。任何对交易委托账本的查询和操作,实际上都是查询和操作这两个队列。订单队列的设计也直接影响了撮合的性能,前面文章讲...阅读全文

博文 2019-12-05 10:34:16 Keegan小钢

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

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

说好的是比特币,最后居然火的是bi域名?

近日,俄罗斯、泰国、中国、韩国相继禁止了比特币在本国的交易行为,英国等国家也出台政策加强比特币监管。但比特币价格似乎并未受到影响,经过短暂调整,又回升至历史新高。一边是被多国连续封禁,一边是凌厉上涨重回4800美元。 当比特币进入主流媒体的视野时,主流媒体总会请一些主流经济学家分析一下比特币。早先,这些分析总是集中在比特币是不是骗局。而现如今的分析总是集中在比特币能否成为未来的主流货币。而这其中争论的焦点又往往集中在比特币的通缩特性上。 不少比特币玩家是被比特币的不能随意增发所吸引的。和比特币玩家的态度截然相反,经济学家们对比特币2100万固定总量的态度两极分化。 随着最近比特币的争议热潮,不单单把比特币炒到了出乎意料的结果,还顺带把一些相关带动起来,其中最令人瞩目的,就是带动了b...阅读全文

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

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

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

高可用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填坑之路

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

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

博文 2019-04-15 22:34:43 java架构进阶

为什么学习go语言编程?

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

博文 2016-08-30 00:00:04 qq_17416741

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

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

博文 2019-01-04 18:34:45 JAVA高级架构开发

libcsp: 一个 10 倍于 Golang 的高性能 C 语言并发库

libcsp是一个C语言实现的基于CSP模型的高性能并发库, 利用它你可以用C开发一些高性能项目. 特性: 支持多核 高性能调度器 编译时栈大小静态分析 高性能 Lock-free 通道 支持 netpoll 和 timer Golang和Libcsp比较 // Golang // Libcsp go foo(arg1, arg2, arg3) async(foo(arg1, arg2, arg3)); var wg sync.WaitGroup sync(foo(); bar()); wg.Add(2) go func() { defer wg.Done(); foo(); }() go func() { defer wg.Done(); bar(); }() wg.Wait() runt...阅读全文

博文 2020-04-09 19:32:43 shiyanhui

云解析DNS使用教程

课程介绍 云解析(Domain Name System,简称DNS)是一种高可用性、高可扩展的权威DNS服务和DNS管理服务。它的目的是为企业和开发者提供稳定、安全、智能的把网站域名或应用资源转换为计算机用于互连的数字 IP地址,从而将最终用户的访问路由到相应的网站或应用资源上同时提供DNS的管理服务。 产品详情:https://wanwang.aliyun.com/domain/dns/ 课时列表 • 课时1:购买与绑定 • 课时2:解析设置 • 课时3:智能解析 • 课时4:网站监控 • 课时5:全球负载均衡 开始学习:http://click.aliyun.com/m/27873/ ...阅读全文

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

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

博文 2018-10-07 21:34:39 Java填坑之路

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

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

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

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

云解析DNS使用教程

课程介绍 云解析(Domain Name System,简称DNS)是一种高可用性、高可扩展的权威DNS服务和DNS管理服务。它的目的是为企业和开发者提供稳定、安全、智能的把网站域名或应用资源转换为计算机用于互连的数字 IP地址,从而将最终用户的访问路由到相应的网站或应用资源上同时提供DNS的管理服务。 产品详情:https://wanwang.aliyun.com/domain/dns/ 课时列表 • 课时1:购买与绑定 • 课时2:解析设置 • 课时3:智能解析 • 课时4:网站监控 • 课时5:全球负载均衡 开始学习http://click.aliyun.com/m/27873...阅读全文