百万请求一分钟,Golang 轻松来搞定

原文记录:http://www.codedata.cn/hackne... 我在反广告、杀病毒、检木马等行业的不同软件公司里已经工作15年以上了,非常了解这类系统软件因每天处理海量数据而导致的复杂性。 目前我作为smsjunk.com的CEO和KnowBe4的主架构师,在这两个网络安全领域的公司里工作。 有趣的是,在过去的10年里,作为软件工程师,我接触到的web后端代码大多是用RubyonRails开发的。请不要误会,我很喜欢R

  • 0
  • 1
  • 发布于 2020-02-02 16:18
  • 阅读 ( 57 )

Go 学习、Go 进阶、Go 实用工具类

learning_tools源码地址 技术点滴点我,点我,点我 all_packaged_library里面封装了一些常用的库,有详细的介绍,持续更新 1:base里面封装mysql,redis,mgo,minio文件储存库S3协议,雪花算法,退出程序方法,redis全局锁,日志库等(插件形式可单独引用) 2:logtooluber_zap日志库封装,可自动切分日志文件,压缩文件 3:perfppoof小插件 4:push集成苹果推送,google推送,华为推送 5:quit优雅的退

  • 0
  • 1
  • 发布于 2020-02-02 15:01
  • 阅读 ( 88 )

微服务面试相关

consul是如何做到服务发现的? consul的储存格式? 服务器挂掉之后怎么办? protobuf需要注意的点? 序列号的注意点? 如果一个对象里有十个字段和一个对象里有二十个字段,他们俩有什么区别?有什么影响?性能方面是否有区别? grpc是怎么做到互相通信的? grpc内部是通过什么协议通信的?应用层面的协议? mysql的索引 主键索引,唯一索引,联合索引的区别的区别? 索引内部存的是什么?(是记录

  • 0
  • 1
  • 发布于 2020-02-02 15:00
  • 阅读 ( 94 )

go语言开发环境安装及第一个go程序

  下载Go语言开发包     大家可以在Go语言官网(https://golang.google.cn/dl/)下载Windows系统下的Go语言开发包,如下图所示。 安装Go语言开发包   双击我们下载好的Go语言开发包即可启动安装程序,如下图所示,这是Go语言的用户许可协议,无需管它,直接勾选“Iaccept...”然后点击“Next”即可。     Go语言开发包的安装没有其他需要设置的选项,点击“Install”即可开

  • 0
  • 1
  • 发布于 2020-02-02 13:03
  • 阅读 ( 78 )

一文带你了解 HTTP 黑科技

这是HTTP系列的第三篇文章,此篇文章为HTTP的进阶文章。 在前面两篇文章中我们讲述了HTTP的入门,HTTP所有常用标头的概述,这篇文章我们来聊一下HTTP的一些黑科技。 HTTP内容协商 什么是内容协商 在HTTP中,内容协商是一种用于在同一URL上提供资源的不同表示形式的机制。内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。内容

  • 0
  • 1
  • 发布于 2020-02-02 12:57
  • 阅读 ( 70 )

最全的BAT & Google等团队技术博客集合

【转载请注明原文出处,谢谢!https://www.jianshu.com/p/7646721c0fc1】 前言 本人对技术博客的内容很挑剔,历时半年,收集了国内外最知名最前沿的技术博客,有BAT、Google的团队博客,也有近10位个人开发者,以移动开发,前端为主。 BAT以及其他国内 百度医生技术团队百度技术 微信开发团队QQ音乐团队QQ空间腾讯WeTest腾讯bugly腾讯云+社区腾讯优测腾讯AlloyTeam 手机淘宝团队天猫团队聚

  • 0
  • 1
  • 发布于 2020-01-12 14:15
  • 阅读 ( 181 )

阿里面试:蚂蚁金服/饿了么/淘宝三面技术面年末整理(附面试题和答案)

我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素,从这一角度来说,锁对于数据库而言就显得尤为重要。 MySQL锁概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持

  • 0
  • 1
  • 发布于 2020-01-12 13:58
  • 阅读 ( 431 )

(转)阿里大牛:如何画出一图胜千言的技术架构图?

作者:三画简介:阿里巴巴技术专家,梓敬、鹏升和余乐对此文亦有贡献。三画曾多年从事工作流引擎研发工作,现专注于高并发移动互联网应用的架构和开发。编辑:陶家龙、孙淑娟出处:转载自微信公众号:阿里技术(ID:ali_tech) 技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径。 加速业务的上线速率,也体现在优秀工程师的工作效

  • 0
  • 1
  • 发布于 2020-01-12 13:50
  • 阅读 ( 143 )

阿里专家讲中台:技术中台-分布式架构在蚂蚁金服的实践

本文整理自,阿里高级技术专家-许文奇在2019阿里云峰会上的分享《技术中台-分布式架构在蚂蚁金服的实践》,结合技术领导力社区架构专家的点评和解读,全面解析阿里技术中台的架构实践。 一、分布式架构的优势和理念 1.传统单体架构特点 通常一个初创型项目,都是从单体架构开始的。 优点就是快,易于开发、测试、部署,一个WAR包发上生产就完事了。 缺点也很明

  • 0
  • 1
  • 发布于 2020-01-12 13:49
  • 阅读 ( 201 )

2019阿里巴巴面试题+答案

来自:云栖社区https://yq.aliyun.com/download/3587?utm_content=m_1000061168&do=login,仅作分享,侵删 【导读】本文是阿里巴巴自身技术专家们结合多年的工作、面试经验总结提炼而成的面试真题。通过这些面试题,还可以间接地了解技术大牛们出题思路与考察要点。 想要入职大厂可谓是千军万马过独木桥。要通过层层考验,刷题肯定是必不可少的。 这一次,不仅是知识的收获,还将间

  • 0
  • 1
  • 发布于 2020-01-12 13:33
  • 阅读 ( 145 )

Golang实现简单爬虫框架(4)——队列实现并发任务调度

前言 在上一篇文章《Golang实现简单爬虫框架(3)——简单并发版》中我们实现了一个最简单并发爬虫,调度器为每一个Request创建一个goroutine,每个goroutine往Worker队列中分发任务,发完就结束。所有的Worker都在抢一个channel中的任务。但是这样做还是有些许不足之处,比如控制力弱:所有的Worker在抢同一个channel中的任务,我们没有办法控制给哪一个worker任务。 其实我们可以自

  • 0
  • 1
  • 发布于 2020-01-12 12:58
  • 阅读 ( 162 )

腾讯微服务框架Tars介绍

1、介绍 1、github地址https://github.com/Tencent/Tars/。 2、tars是RPC开发框架,目前支持c++,java,nodejs,php。 3、tars在腾讯内部已经使用了快到十年,部署一万多台机器,在各种业务场景包括手机浏览器、应用宝、手机管家、手机游戏、手机qq等都有成功的实践。 4、Tars与业界其他同类或相识的应用框架相比: 一是Tars提供了支持多语言(C++/Java)的高性能(性能可达40w/s)RPC开发框架,比

  • 0
  • 1
  • 发布于 2020-01-12 11:53
  • 阅读 ( 179 )

微服务间的通信如何选择

MelvinKoh 如果我们想要构建一个生产就绪的系统,那么必须要权衡所有因素,其中选择微服务间的连接方法更是其中的一个难点。 作者在本文中介绍了一些常见的通信方法,并简要概述了其项目背景以及为何最终选择了RPC。 在决定微服务间连接方法前,我们需要搞清楚两个概念: 架构风格(ArchitecturalStyle) 传输协议(TransportProtocol) 架构风格 在使用服务时如何形成有效负载

  • 0
  • 1
  • 发布于 2020-01-12 11:52
  • 阅读 ( 111 )

Goland编辑器设置

文件设置 WX20190826-121332@2x.png //@Title请填写文件名称(需要改) //@Description请填写文件描述(需要改) //@Author请填使用者真实姓名${DATE}${TIME} //@Update请填使用者真实姓名${DATE}${TIME} package${GO_PACKAGE_NAME} swagger方法快捷键设置 1566793910385.jpg //@Title请填写方法的民称 //@Description方法的具体描述

  • 0
  • 1
  • 发布于 2020-01-12 11:44
  • 阅读 ( 169 )

idea2020 激活码 webstorm2020 激活码.GOland激活码

需要自取。软件需要重启

  • 0
  • 1
  • 发布于 2020-01-12 11:44
  • 阅读 ( 3491 )

go mod配置项目模块自引用

以前也写过Go项目,感觉最不爽的就是项目要依赖GOPATH,特别是从githubclone的项目,有的时候还需要改其import路径才能跑起来,真的是很不爽。 使用gomod管理项目,就不需要非得把项目放到GOPATH指定目录下,你可以在你磁盘的任何位置新建一个项目,import可以做到相对独立,如果github上的项目也是用gomod来管理建立的,那么clone到本地可以做到不用改任何东西来运行项目。 gomod可

  • 0
  • 1
  • 发布于 2020-01-12 11:43
  • 阅读 ( 514 )

使用golang实现类InnoDB数据行锁效果

在关系型数据库领域,为人津津乐道的一个特性,便是数据库的锁设计及事务隔离级别。 本文通过golang系统库sync,来实现简单的数据库数据读写操作。 场景说明 小明经营一家水果店,创业初始资金为100000元,所有的收入以及支出通过2个银行账户进行往来。 因交易频繁,可能存在并发更新账户数据及查账的需求,需要保障账户数据针对所有操作的一致性。 此处需要引入读写

  • 0
  • 1
  • 发布于 2020-01-12 09:59
  • 阅读 ( 89 )

golang实现Elasticsearch做短信查询统计

1.golang操作ES需要用到的第三方包 拉取地址:gopkg.in/olivere/elastic.v5目前有v6我用的ES是5.4.1所以用V5版本 官方有文档可以看一下API。 2.为啥要用ES做查询? 众所周知数据放进数据库(mysql.....)也可以进行查询,可以对数据进行筛选条件查询出想要的数据,那么为啥不用mysql,无非就是查询速度慢,ES查询是通过Lucene的倒排索引技术而关系型数据库用的是b-tree,b-tree索引是为写入优化的索

  • 0
  • 1
  • 发布于 2020-01-09 22:25
  • 阅读 ( 203 )

Golang 优化之路——自己造一个日志轮子

写在前面 Golang的log包内容不多,说实话,直接用来做日志开发有些简易。主要是缺少一些功能: 按日志级别打印和控制日志; 日志文件自动分割; 异步打印日志。 按日志级别打印和控制日志 我们实现的日志模块将会支持4个级别: const( LevelError=iota LevelWarning LevelInformational LevelDebug ) 定义一个日志结构体: typeLoggerstruct{ levelint l*log.Logger } func(ll*Logger)Err

  • 0
  • 1
  • 发布于 2020-01-09 22:25
  • 阅读 ( 136 )

Golang视角下的设计模式

这篇文章想聊聊Golang语言下的设计模式问题,我觉得这个话题还是比较有意思的。Golang没有像java那样对设计模式疯狂的迷恋,而是摆出了一份“看庭前花开花落,望天空云卷云舒”的姿态。 单例模式: Golang的单例模式该怎么写?随手写一个,不错,立马写出来了。但这个代码有什么问题呢?多个协程同时执行这段代码就会出现问题:instance可能会被赋值多次,这段代码是线程

  • 0
  • 1
  • 发布于 2020-01-09 22:15
  • 阅读 ( 171 )

精选优质文章、大厂面试题解读、社区微信小程序、扫一扫随时随地逛社区

逛一逛
社区小程序